I want to add these file into my kernel such way that when kernel start this hello.o file execute and run
O que você está tentando alcançar não deve ser feito através da edição do kernel. A execução de um programa no momento da inicialização pode ser tratada de maneira muito mais simples, sem a necessidade de experiência em programação do kernel. Você pode:
Execute quando seu shell for iniciado :
Escreva /path/to/hello/executable
no final de /etc/profile
, ~/.profile
ou ~/.bashrc
. Esses arquivos são originados toda vez que você inicia um shell (mais especificamente, bash). Isso também significa que seu executável será executado toda vez que você abrir um terminal.
Use o sistema init.d : Compile seu código e adicione um init script ao sistema init . Você encontrará todas as informações necessárias nesta página ou aqui para detalhes do Ubuntu .
Aqui está um exemplo rápido de um script de inicialização para o seu executável hello:
#!/bin/sh
### BEGIN INIT INFO
# Provides: hello
# Default-Start: 1 2 3 4 5
# Short-Description: Prints Hello World somewhere.
# Description: Some more description...
### END INIT INFO
case "$1" in
start)
/path/to/hello/executable
;;
stop|restart|force-reload)
;;
*)
;;
esac
exit 0
Agora você pode executar o hello usando:
service hello start
Supondo que o script de inicialização é denominado hello
e é executável. Para fazê-lo funcionar no momento da inicialização, use:
update-rc.d hello defaults
O kernel depende mais de bibliotecas do que executáveis atualmente. Você também pode querer dar uma olhada no Guia de Desenvolvimento do Módulo do Kernel , que pode apresentar você para o básico dos módulos do kernel. Novamente, isso é um horrível overkill para o que você está tentando fazer.