In questo post vorrei mostrarvi come avere una distribuzione personalizzata e configurata a proprio piacimento su una pennetta usb come se fosse installata sul disco. L'idea è abbastanza banale, non mi sono inventato nulla, si tratta di creare la usb pen da una virtual machine, niente di che.
Nel mio caso uso virt-manager e quindi una VM creata su file qcow2, il formato compresso di default, per trasferirla sulla usb. Dando per scontato le conoscenze per la gestione di virt-manager, si basa sull'uso della utility
qemu-img
Le cose da tenere a mente prima di procedere:
- il qcow2 è un formato compresso, la penna dovrà essere uguale o maggiore delle dimensioni date in fase di creazione del qcow2 su virt-manager. Quindi se fisicamente il file è di 2GB in realtà verrà decompresso secondo i parametri di installazione, di default 20GB a meno che non sia stato modificato;
- nel mio caso la VM è in modalità mbr/BIOS ma se desiderate avere una usb con boot uefi dovete semplicemente creare la VM in questa modalità. Esiste anche una via di mezzo ibrida, ma nessuno dei miei sistemi la usa quindi non so come si comporta, mentre per mbr e uefi full le ho provate e funzionano;
- una info banale, la penna usb verrà totalmente ricreata quindi attenzione ai dati contenuti;
- TEST WINDOWS: non ho potuto farlo con le mie VM perchè al momento non ho una sd card da 40GB per contenere il sistema, per un test veloce ho scaricato una versione della iso di win10 "lite" per farla entrare nell'unica sdcard rimasta da 16GB in modalità mbr. Anche windows funziona ma non ho approfondito altro, unica cosa mi è sembrato lentissimo rispetto a linux, probabilmente la sd usata è meno prestante. Non saprei dirvi altro sinceramente;
- come scritto ho usato qemu/kvm, ma qemu-img gestisce anche i VDI di Virtualbox e gli VMDK di vmware, potete provare sostituendo nelle opzioni qcow2 con il formato del player utilizzato. Scusate ma non ho intenzione di installarmi altri programmi di virtualizzazione per le prove
- inserire la USB ed individuare il device usato con
#fdisk -l
nel mio caso è /dev/sda
- se il vostro sistema effettua il mounting automatico smontate il device da CLI, da GUI perderà i riferimenti del device e dovrete reinserire la penna
#umount /dev/sdaX (X è il numero indicante la partizione montata)
- individuare il file qcow2 con la VM interessata, esempio generic.qcow2;
- da root o con sudo lanicare il comando
#sudo qemu-img convert -p generic.qcow2 -f qcow2 -O raw /dev/sdb
ed attendere la fine della scrittura sulla penna. Ovviamente nel caso generic.qcow2 si trovi in un altro path dovete inserirlo nel comando es /var/lib/vm/generic.qcow2;
- quando tornerà il prompt, controllate se la penna ha il led lampeggiante, attendete fino a quando si spegne. In automatico il sistema la monterà, basta smontarla da GUI e potrete togliere la penna;
Qualche tips. Se la sd card è più grande dell'immagine scritta, potete allargare la partizione attiva con gparted dal PC dove avete creato l'installazione. Visto che lo swap è deleterio per la longevità della sd card, ho cancellato la partizione di swap dalla sd card ed allargato la partizione utile. Inoltre ho abilitato zswap che dovrebbe dare un aiuto in questi casi. Se optate per l'eliminazione dello swap ricordate di eliminarla/commentare da /etc/fstab.
Sperando di non aver dimenticato nulla o scritto corbellerie, per oggi ho finito.