Por exemplo, reconhecer a placa SCSI ADAPTEC 1542 onde
está conectado o meu CD-ROM.
Primeiramente deve-se verificar qual módulo é o
correspondente para a sua placa SCSI, pode-se verificar isso dentro
do diretório
/usr/src/linux/drivers/scsi.
Neste diretório encontram-se o código fonte
utilizado para criar os módulos para a placa scsi. Para
verificar qual é o módulo referente a sua placa
deve-se fazer uma busca entre esses arquivos e procurar por
palavras chaves que identificam a sua placa, por exeplo para achar
o módulo da ADAPTEC 1542 poderia ser
feito
[root@localhost]# grep -i 1542 *
|
Tendo o nome do módulo que será utilizado, para
carregá-lo simplesmente execute:
[root@localhost]# modprobe nome_módulo parâmetros_adicionais
|
para o modelo de placa aha 1542 essa linha ficaria dessa
forma:
[root@localhost]# modprobe aha1542 aha1542=0x330
|
nome do módulo=aha1542
parâmetros adicionais=0x330
Atente ao fato que muitas controladoras SCSI não
necessitam de parâmetros adicionais como são os casos
dos modelos PCI, para elas somente será necessário
informar o nome do módulo:
[root@localhost]# modprobe nome_módulo
|
Todos esses passos foram necessários para descobrir qual
módulo utilizar e como carregá-los, agora os passos
abaixo mencionados se fazem necessário para que a sua placa
sempre seja carregada na inicialização do sistema sem
a necessidade de executar o comando modprobe
nome_módulo.
Depois de selecionar o módulo correspondente a sua placa
SCSI acrescente-os mais precisamente no seu arquivo /etc/conf.modules:
alias scsi_hostadapter aha1542
options scsi_hostadapter aha1542=0x330
|
onde aha1542 é o módulo
correspondente da placa e aha1542=0x330
é um parâmetro para definir o endereço de I/O
da placa. Note que para cada placa SCSI os parâmetros podem
ser definidos de outra forma mas como também podem vir a
não serem necessários.
Em seguida deve-se criar uma imagem de RAM DISK para o LILO,
tais imagens são comumente utilizadas para a
pré-carga de módulos de dispositivos possibilitando
ao sistema carregar os módulos scsi na
inicialização. Este comando é executado como
super usuário do sistema:
[root@localhost]# mkinitrd /boot/initrd-2.2.14-14.img 2.2.14-14cl --preload
aha1542
|
onde:
-
/boot/initrd-2.2.14-14.img = imagem do sistema de arquivos
-
2.2.4-14cl é a versão do seu kernel
-
--preload=módulo Carrega o módulo na imagem do
disco inicial em memória. O módulo será
carregado antes de qualquer módulo SCSI os quais são
especificados em /etc/conf.modules. Seu
uso é opcional.
-
aha1542 é o módulo da sua placa SCSI que
está dentro do arquivo
/etc/conf.modules.
Para maiores informações sobre o mkinitrd
execute:
[root@localhost]# man mkinitrd
|
E finalizando edite o arquivo
/etc/lilo.conf mantendo a entrada com kernel antigo e
incluindo a linha initrd. Este exemplo é para um disco IDE
primário (hda), caso utilize um disco SCSI troque por
(sda):
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.14-14cl
label=linux
root=/dev/hda5
initrd=/boot/initrd-2.2.14-14.img
read-only
|
rode o lilo. A saída normal do lilo será
assim:
Note que as linhas initrd= só
serão necessárias se você tiver SCSI. Isto
porque o suporte a SCSI está como módulo e neste caso
o kernel precisa carregar esse modulo via initrd (initial ramdrive)
para então poder acessar o HD SCSI e continuar carregando o
restante dos módulos etc.
Agora é só reiniciar o seu sistema e a placa SCSI
deverá ser reconhecida automaticamente.
### VERSÃO 6.0 ###
Siga os mesmos procedimentos apenas troque o nome do arquivo /etc/conf.modules por
/etc/modules.conf