2010-12-04 26 views
13

Creé un módulo personalizado y simple llamado Hello.ko Instalo el módulo con el comando "insmod hello.ko", lo controlo con "dmesg" y está funcionando, pero cuando reinicio el sistema, tengo cargarlo manualmente Entonces, ¿cómo puedo hacer para cargar mi módulo personalizado automáticamente, y dónde tengo que poner el hello.ko? Después de cargar el módulo, me gustaría mostrar el mensaje Hello World hasta que presione la tecla Enter. Alguien puede ayudarme?¿Cómo cargar un módulo personalizado en el momento del arranque en Ubuntu?

+0

Cuando dice que quiere pausar y esperar una clave, ¿desea hacer esto en modo texto en medio de mensajes de arranque de bajo nivel, o después de que aparece el sistema de ventanas X pero antes de iniciar sesión? ¿Realmente necesita hacer esto o solo para confirmar que su módulo está comenzando? Si es lo último, solo tiene que imprimir algunos mensajes y comprobar dmesg para convencerse de que se está cargando en un momento adecuado. –

Respuesta

8

Agregue el módulo al archivo/etc/modules.

Y luego ponga el módulo en su catálogo/lib/modules/kernelname.

+0

mmmm ¿Tengo que crear una carpeta de solo pegarla en esa ubicación? – Gonzalo

+0

Debe haber una carpeta con el nombre correcto (algo así como /lib/modules/2.6.32-26-generic) simplemente colóquelo allí. – Swind

+5

La forma portátil de referir esta ruta es/lib/modules/\ 'uname -r \'/ – ctuffli

11

Esta técnica no funcionó en Ubuntu 13.10. Así que después de algunos intentos de prueba y error terminé con esto:

Copie mi módulo kernel en el directorio de los controladores.

$ sudo cp mymodule.ko /lib/modules/$(uname -r)/kernel/drivers/ 

Agregue el nombre simple de mi módulo al archivo/etc/modules. Puede editar el archivo o simplemente anexarlo como se muestra aquí.

$ echo 'mymodule' | sudo tee -a /etc/modules 

actualización de la lista de dependencias del módulo.

$ sudo depmod 

Reinicia la computadora y listo, funcionó.

+1

¡Genial! Esto funcionó para mí también. Pero no tuve que ponerlo en el directorio/kernel/drivers. Lo coloqué en/lib/module/$ (uname -)/initrd. – Bilthon

Cuestiones relacionadas