Certifique-se de que o disco USB nunca seja sda, mesmo quando arrancar a partir dele

4

Algumas informações ...

Eu acho que esta deve ser uma questão geral relacionada ao kernel do linux (ou módulo do kernel), embora eu esteja enfrentando o problema ao pré-configurar o debian para uma instalação automatizada.

Toda vez que eu inicializo o instalador de um disco usb, o disco usb acaba sendo / dev / sda, mas o arquivo preseed que estou usando assume o primeiro disco rígido (sata neste caso) deve ser / dev / sda. Eu estou usando o mesmo sistema para uma instalação de rede pxe, e eu preferiria mantê-los consistentes. Eu também temo que, se eu escrevesse uma configuração preseed que assumiu o primeiro disco foi sdb em vez disso, que por algum motivo pode não ser em algum momento.

Eu tentei escrever regras do udev que alteram o nome do dispositivo do disco usb para "INSTALLMEDIA", que parece funcionar, mas não faz com que o disco SATA inicie em sda, eles ainda iniciam em sdb.

Minhas perguntas ...

O que determina a ordem em que os discos são descobertos e nomeados?

O que posso fazer para controlar isso?

Se eu não puder fazer nada para controlá-lo, seria seguro assumir ao iniciar a partir de USB que o disco USB pode ser mais ou menos garantido como sendo sda e o primeiro disco SATA sempre seria sdb?

    
por andyortlieb 19.10.2011 / 17:51

2 respostas

5

A resposta mais confiável para essa questão, que eu conheço, é usar os links simbólicos mais novos que o udev pode criar para você. O Udev enumera as unidades de disco e cria várias árvores com dispositivos - explicando para você que tipo de dispositivos eles são.

Está localizado em / dev / disk.

Você tem, por caminho:

/dev/disk/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-scsi-0:0:0:0-part1
/dev/disk/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-scsi-0:0:0:0
/dev/disk/by-path/pci-0000:06:00.0-scsi-0:0:0:0
/dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0-part2
/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part2
/dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0-part1
/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part1
/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
/dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0

O que indica claramente se o dispositivo é um dispositivo USB, por exemplo.

    
por 19.10.2011 / 18:16
0

A outra opção seria criar seu próprio link simbólico (ou até mesmo um arquivo de dispositivo) se você puder executar algum tipo de script antes de realmente precisar acessar o dispositivo. Algo como

#!/bin/sh
for i in  /dev/sd? ; do 
  if detect installation drive somehow ; then ln -s $i /dev/install ; fi ; 
done ;

E como uma solução de último recurso, você poderia "trocar" os arquivos de dispositivo sda, sdb, ... em / dev, mas eu tentaria evitar essa solução, pois ela poderia apresentar muitos problemas novos.

    
por 20.10.2011 / 02:02