2012-04-02 16 views
9

Soy muy nuevo en este núcleo. Lo que quiero hacer es agregar una nueva llamada al kernel. Estaba siguiendo esta directriz: http://hekimian-williams.com/?p=20.Agregando una nueva llamada al sistema en el kernel de Linux 3.3

El problema está allí para el archivo syscall_table_32.S en arch/x86/kernel, pero no puedo encontrar el archivo para los sistemas x86 en la versión del kernel 3.3. ¿Todavía tengo que editar el archivo y anexar una línea más para la llamada al sistema recién agregada? ¿O debo hacer algo más para informar al núcleo sobre mi nueva llamada al sistema? Cualquier ayuda será apreciada. Gracias.

Respuesta

7

Cómo agregar una nueva API del núcleo Linux 3.3 en la versión? - para 64 bits OS

  • obtener códigos de kernel de www.kernel.org.

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.3.1.tar.bz2

  • Upzip con comando tar' xvfj XXX”a una carpeta Por ejemplo:/root/kernel Linux alquitrán xvfj-3.3.1.tar.bz2

  • archivo Editar “/root/kernel/linux-3.3.1/arch/x86/syscalls/syscall_64.tbl” Añadir nueva línea

312 64 husky1 sys_husky1

  • archivo “/root/kernel/linux-3.3.1/include/linux/syscalls.h” Eidt Añadir nueva declaración de la función

asmlinkage largo sys_husky1 (int fd);

antes de la línea “#endif”

  • añadir un nuevo archivo C bajo “/root/kernel/linux-3.3.1/arch/x86/kernel” (estoy usando la CPU x86) Ejemplo:

  • Editar “/root/kernel/linux-3.3.1/arch/x86/kernel/Makefile” añadir una nueva línea “obj-y + = husky.o”

  • Goto /root/kernel/linux-3.3.1 carpeta y comando de ejecución " make -j8 "

Cuestiones relacionadas