задолбался я шарить по докам C/C++ в поисках толкового примера модуля ядра, все что у меня есть по C устарело. я вообщем думал создать модуль выполняюший переданный ему код на нулевом уровне, на Си мне его толково не скомпилить - insmod выдает что модуль сделан для более старой версии ядра, я не знаю как от этого избавится. написал эту хрень на асме код то оно выполняет но на уровне юзера(cli sti не работают).а доков по асму у меня мало. короче баальшая просьба всем асм-гуру владеюшим "GNU as,nasm или fasm" - состряпать код добычи "ring 0" и выложить его тут в назидание всем асм новичкам, и в знак своей неоспоримой крутости. вроде все...
proglammer для начала определись в какой из веток ядер будет выполняться твой LKM(2.4 или 2.6). > на Си мне его толково не скомпилить - insmod выдает что модуль сделан для более старой версии ядра, я не знаю как от этого избавится. Если ты определился и твой выбор пал на ядра ветки 2.4(для 2.6 есть ряд особенностей), то тебе нужно в секции .modinfo определить символ __module_kernel_version со своей версией ядрышка, примерно так: .section .modinfo __module_kernel_version: .ascii "kernel_version=2.4.18" > все что у меня есть по C устарело. "C" не устаревает, а появляются/исчезают лишь некоторые макросимволы и макроопределения из сорцов модулей, необходимые для правильной работы этих самых модулей под конкретной веткой ядер.
спасибо за совет, как будет выходной попробую, а ядро 2.4.18-3. но скоро обновлю, а что там за особенности в 2.6?