Eu resolvi meu problema do jeito feio. Vou esperar marcando isso como correto, pois acho que há uma solução melhor.
Depois de tentar várias soluções, entre outras tentativas de obter informações
de /sys/
( readlink /sys/block/sda/device/driver
etc). Mas eu só encontrei informações de que era algum tipo de driver SCSI, o que não me ajudou. Por fim, usei a configuração do kernel da área de trabalho e carreguei todos os módulos até que /dev/sd*
aparecesse. Fui enganado inicialmente ao carregar scsi_debug
, que também apresenta um /dev/sda
. O módulo que eu precisava era mptspi
, que é ativado por FUSION_SPI
no kernel do Linux. Eu aprendi isso depois de pesquisar a árvore do código-fonte. Este é o script que usei para identificar o driver:
for MODULE in $(find /lib/modules/$(uname -r) -name '*.ko' -exec basename '{}' .ko ';')
do
echo "Loading $MODULE"
modprobe -D $MODULE
modprobe $MODULE
ls /dev/sd* 2>&1
done
Que eu corri como
./script | tee script.log
Na próxima vez, provavelmente configurarei uma solução usando mdev
/ udev
...