Descreve-se como configurar o sistema de forma a poder escolher um entre dois e possivelmente mais kernels automaticamente durante o boot. Cada um tendo suas especificidades definidas nos scripts de inicialização rc.S e rc.M. Não são descritos os passos de configuração, compilação e instalação dos kernels. Presume-se que isso já tenha sido feito pelo usuário.
A cada boot é determinada automaticamente a versão do
kernel e carregados os respectivos rc.modules, rc.local, sistema
de hotpluging, som e software de modem.
Ambas as versões permitem acesso discado à internet,
sendo mais veloz o download no 2.4.31.
Os dispositivos USB são montados e desmontados
automaticamente no kernel 2.6.22.7 com Udev, e
semi-automaticamente no 2.4.31 com Hotplug. Neste é preciso
abrir o konqueror e clicar no ícone respectivo em Storage Media,
ou digitar linha de comando.
O pendrive USB 2 é lido pelo controlador EHCI (480 Mbit/s) no kernel 2.6 e pelo UHCI (12 Mbit/s) no kernel 2.4. Isso só tem importância quando da transferência de grandes volumes de dados.
Como desativei o rc.hotplug para o kernel 2.6, o
KinfoCenter nada informa sobre USB Devices. Essa pequena perda é
plenamente compensada pelas vantagens do sistema Udev na velocidade de boot, montagem e desmontagem de dispositivos USB após sua inserção.
Instalei o ALSA para kernel 2.6, portanto estou sem som para 2.4.
O tempo que leva do ENTER no GRUB ao KDE disponível ao usuário é de 41 s para o 2.4.31 e 37 s para o 2.6.22.7, igual ao que levava antes da automação do processo. Cerca de metade desse tempo é para carregamento do KDE, em modo texto ou ambientes mais leves será mais rápido. Entretanto o tempo de boot é influenciado por outros fatores de soft e hardware.
Sugestões para simplificação dos scripts e melhorias são bem vindas, assim como resolução do sistema de som, dicas para fazer a mesma coisa no Slack 12, e regras para Udev.
[1] Comentário enviado por massinha em 08/12/2007 - 23:53h
belo artigo,
porem , nao seria simples, apenas compilar o novo kernel e adicionar os arquivos corretos no lilo ou grub ( vmlinux kernel.image ..... ) ?
[]s
[2] Comentário enviado por zoby em 09/12/2007 - 23:46h
massinha
Compilar e adicionar as entradas dos kernéis ao boot loader são os primeiros e mais simples passos. Depois é que vem o assunto de que trata o artigo, basicamente resolver as 3 incompatibilidades citadas na introdução.
*********************
Apêndice 3 - Hotplug
Talvez seja possível colocar comandos "/sbin/mount" e "/sbin/umount" diretamente nos arquivos já existentes do Hotplug, mas não sei fazer. Então criei duas regras no /etc/hotplug/usb.usermap (pode ser criado se não existir) e dois scripts - /etc/hotplug/usb/mp3 e /etc/hotplug/usb/pen - para os mesmos dispositivos citados no Apêndice 2. Dei permissão de execução aos scripts mp3 e pen.
Necessário saber quais os IDs. É só plugar todos os dispositivos usb e verificar a saída de lsusb.
root@darkstar:/# lsusb
Bus 002 Device 002: ID 10d6:1100 Actions Semiconductor Co., Ltd
Bus 001 Device 003: ID 0951:1603 Kingston Technology
Conteúdo do MEU usb.usermap:
***********************
# usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
# Primeiro campo é o script ou módulo. Segundo campo match_flags: 0x0003 = dispositivos que preencham ambos os ids. Terceiro e quarto campos referem-se aos ids, precedidos de 0x.
mp3 0x0003 0x10d6 0x1100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
pen 0x0003 0x0951 0x1603 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
**************************
Não pode haver quebra de linha no lugar errado, na dúvida copie o padrão do usb.distmap. São 4 linhas, começando por #, #, mp3, pen. As linhas comentadas servem apenas de ilustração.
Criados os diretórios /mnt/sda e /mnt/usb. No /etc/fstab acrescentei três linhas:
/dev/sda /mnt/sda auto noauto,users,rw 0 0
/dev/sda1 /mnt/usb auto noauto,users,rw 0 0
/dev/sdb1 /mnt/usb auto noauto,users,rw 0 0
Conteúdo de MEU mp3:
**********************
#!/bin/sh
umount /mnt/sda; sleep 1
mount /mnt/sda
***********************
Conteúdo de pen:
***********************
#!/bin/sh
umount /mnt/usb; sleep 1
mount /mnt/usb
***********************
Certifique-se de que rc.hotplug (chmod +x /etc/rc.d/rc.hotplug) tem permissão de execução, se não colocou o comando em rc.M, e reinicie o sistema.
Antes de desplugar os dispositivos, é bom desmontá-los, principalmente se acabou de gravar dados neles.
Quem não quisesse alterar o fstab, acho que poderia somente acrescentar os dispositivos (mount /dev/sda /mnt/sda) antes dos pontos de montagem. Embora, no meu caso, teria de resolver a questão do pendrive que ora é reconhecido como sda1, ora como sdb1.