O kernel é o núcleo do sistema. É o que conhecemos como Linux. O Debian pretende ser um sistema independente de kernel, portanto você pode usar o Debian GNU/Hurd ao invés do Debian GNU/Linux e logo será possível usar Debian GNU/BSD.
Para atualizar kernel no Debian basta usar o apt-cache para descobrir quais versões estão disponíveis e então usar o apt-get para baixar a nova versão. Os pacotes de kernel se chamam kernel-image-versão onde versão é a versão que se quer usar.
Veja Como procurar pacotes, Seção 3.4 e Instalar pacotes com APT, Seção 2.3 para saber como fazer isso.
O kernel 2.6 não é suportado oficialmente para a versão 3.0 do Debian. A
versão nova versão do Debian 3.1 virá com ele como opção. Caso queria
atualizar o seu sistema pra o Sarge e instalar o novo kernel, use as seguintes
linhas para o /etc/apt/sources.list
APT:
deb ftp://ftp.br.debian.org/debian sarge main deb-src ftp://ftp.br.debian.org/debian sarge main
Note que é importante uma atualização de vários pacotes antes de se atualizar o kernel para que ele funcione corretamente, não force uma situação diversa disso.
Todos já estão acostumados àquela imensa lista de comandos para se compilar kernel (bem, nem todos). No Debian a coisa é bem mais simples.
Para começar veja Como instalar pacotes, Capítulo
2 e instale o pacote kernel-package
. Você precisa também,
claro, do fonte do kernel. Você pode baixá-lo a partir de http://www.kernel.org
ou instalar o
pacote kernel-source-versão
correspondente. Nesse último caso, um
arquivo será instalado em /usr/src
com nome
kernel-source-versão.tar.bz2
descompacte-o e crie um link do
diretório recém criado para /usr/src/linux
, dessa forma:
# cd /usr/src # tar jxpvf kernel-source-versão.tar.bz2 # ln -sf kernel-source-versão linux
Depois basta fazer, dentro do diretório principal do kernel --
/usr/src/linux
.:
$ make menuconfig $ make-kpkg clean $ make-kpkg kernel_image
Você pode substituir make menuconfig por make xconfig
para fazer a configuração pelo X. Se esses comandos falharem, você pode ter de
instalar o pacote libncurses5-dev
(ou libncurses4-dev
em sistemas mais antigos).
Esses comandos criarão um .deb do Kernel recém compilado. Basta instalar como descrito em Como instalar pacotes .deb, Seção 2.1.
Você também pode definir 'revisões' para cada kernel que construir. Para isso use --revision, por exemplo:
$ make-kpkg --revision kov1.0 kernel_image
Note que é necessário que haja dígitos na sua 'revisão'. Depois do kernel ser instalado ele perguntará se deseja criar um disco de boot e se deseja rodar o lilo. Normalmente é uma boa idéia conferir o /etc/lilo.conf antes de rodar o lilo novamente, mas normalmente não haverá problemas em deixar que o processo de construção o faça, já que os links vmlinuz e vmlinuz.old são recriados corretamente durante a instalação do deb do kernel.
No Debian, para lidar com módulos de kernel existe uma ferramenta chamada modconf. Ela é a ferramenta usada para configurar os módulos durante a instalação e pode ser chamada depois, como root.
Logo depois de entrar no modconf, uma lista de seções será listada. Dentro das sessões são listados os vários módulos que podem ser instalados (ou seja, carregados) no sistema.
Para carregar um módulo basta dar enter sobre ele. Alguns módulos requerem opções adicionais para serem carregados como por exemplo as placas NE 2000 ISA. Logo que você digita enter, o modconf perguntará por essas opções. Para a placa NE 2000 do meu 486, por exemplo eu coloco:
io=0x300 irq=5
Essas opções e os módulos carregados serão guardados para toda vez que se iniciar a máquina ter-se a mesma configuração.
Os módulos que serão carregados na inicialização do sistema podem ser configurados também sem o modconf. Basta listá-los um por linha no arquivo /etc/modules.
Só há um problema. Alguns módulos, como o da placa NE 2000 precisam de opções para serem carregados. Essas configurações, num sistema comum seriam configuradas em /etc/modules.conf. Mas, o pacote modutils do Debian sempre sobrescreve esse arquivo porque o gera automaticamente, a partir de vários outros.
O certo é criar um arquivo em /etc/modutils/ e rodar o programa
update-modules
. Por exemplo. Para minha placa de som Opti931
(clone de Sound Blaster Pro), que usa o módulo mad16.o, eu uso o seguinte, no
arquivo /etc/modutils/mad16:
alias mixer0 mad16 alias audio0 mad16 alias midi0 mad16 alias synth0 opl3 options sb mad16=1 options mad16 irq=10 dma=0 dma16=1 io=0x530 joystick=1 cdtype=0 options opl3 io=0x388 post-install mad16 /sbin/adreroute 14 8 15 3 16 6
E coloco "mad16" no /etc/modules. Mais
informações nas manpages insmod(8)
, modprobe(8)
,
modules(5)
e modules.conf(5)
.
Guia Prático para o Debian GNU/Linux
1.2kov@debian.org