Gli user block device di User Mode Linux rappresentano i dispositivi a blocchi collegati alla macchina virtuale, vengono montati tramite i parametri della stringa di avvio oppure essere montati “a caldo” da uml_mconsole.
Possiamo montare quanti block device vogliamo, monimandoli con una lettera seguita dalla stringa ubd: ubda, ubdb ecc e possiamo agganciarci qualunque file sull’ host, quindi sia normali file che dispositivi presenti in /dev come cdrom, /dev/mem, dischi fisici ecc nonchè dispositivi con partizioni di swap
In questo articolo avvieremo una virtual machine con un filesystem formato da una root presente su un dispositivo su cui vengono montate una /tmp, una /var, una /srv presenti su dispositivi diversi ed una partizione di swap
Preparazione dei file
Il procedimento è molto simile a quello descritto in questo articolo che seguiremo per quanto riguarda la fase di fine tuning in chroot, qui però abbiamo bisogno di 4 file che simulino i 4 dispositivi ubda, ubdb, ubdc ed ubdd.
- ubda conterrà la root e disporrà di 320M
- ubdb contterrà le partizioni /tmp e /var e disporrà di 320M che divideremo in 64 e 256
- ubdc conterrà la partizione /srv di 256M
- ubdd conterrà la partizione di swap, da 256M
Montiamo i file su loop device e creiamo le partizioni con fdisk o parted. Con il device associato a ubdd dobbiamo impostare il tipo di partizione a swap. Dovremo ottenere questo risultato:
Partizionamento
Formattiamo le partizioni
Ora montiamo le prime 3 nel filesystem vuoto. La partizione /srv non viene popolata da debootstrap quindi non serve montarla
Installazione debian
Popoliamo il root-fs con una distro debian stable
Post installazione
Dopo aver eseguito il fine tuning inseriamo le informazioni in fstab
Terminate le operazioni, smontiamo le partizioni ed i loop device ed avviamo la vm
Avvio
Passiamo al boot loader di uml la lista di user block devices e specifichiamo quale partizione contiene la root
Login
Una volta effettuato login, vediamo le partizioni correttamente montate
Anche la partizione di swap