Questo Sito, utilizza cookie; accedendo o cliccando su "Accetto", acconsenti a scaricare sul tuo browser, tutte le tipologie di cookie presenti in questo Sito.

Visita il nuovo sito

Il sito che stai visitando non viene aggiornato da Agosto 2016.

Clicca sul logo per visitare il nuovo sito del progetto LinuxMX.

Archivio News e Guide

 

Grub2 - Multi ISO boot (parte 1)

 

Grub2 LogoGrub2 permette di effettuare il boot delle distribuzioni GNU-Linux direttamente da immagini ISO.

Questo permette di creare delle chavette USB avviabili contenenti immagini ISO delle nostre distribuzioni preferite o di ISO conteneti  tools di disaster-recovery (ad esempio SystemRescueCD o Clonezilla ).

Tutto quello che serve una chiavetta USB , Grub2 (ormai di default nella maggior parte delle distribuzioni) .

La dimensione della chiavetta USB sarà di vostra scelta.Più sarà capiente , maggiore sarà la disponibilità di inserirvi i contenuti (le immagini ISO).

In alternativa è anche possibile effettuare il boot delle immagini ISO contenute nell'Hardisk della vostra distribuzione di uso quotidiano.

 

Importante !! : I seguenti comandi potrebbero modificare o cancellare  il contenuto della destinazione. Assicurarsi di individuare il dispositivo corretto e di adattarlo alle vostre esigenze. Nella seguente guida si prenderà in riferimento  /dev/sdb(x) quale dispositivo USB di destinazione.Tutti i comandi vanno eseguiti con i provilegi di amministratore (root ).
Se non è possibile accedere direttamente all'utente root, utilizzare "sudo" ed affini.

 

  • Boot delle ISO da chiavetta USB

Preparare il dispositivo USB che conterrà le varie immagini ISO destinate allo scopo.

n.b: Al momento i test da me effettuati riguardano chiavette USB formattate con tabella di partiizione MS-DOS e non GPT o altro.


Supponiamo che il nostro dispositivo USB abbia una capacità di 32GB (~ 28GB effettivi a seconda del modello)  , si potrebbe dedicare circa 10GB alle immagini ISO ed il restante spazio ad una eventuale "/home" persistente (ossia una partizione dedicata alla /home con la possibilità di salvare i dati senza perderli e di recuperarli nelle sessioni future) per quelle distribuzioni che lo permettono.

Utilizzare Gparted o altro tool di partizionamento creando per /dev/sdb :

  • Tabella Partizione --> MS-DOS
  • Creare partizione sdb1 --> ~10GB (o altro valore ; utilizzare l'intero spazio se non si desidera una partizione di "/home" persistente)
  • Formattare sedb1  in Ext4 (Per maggiore compatibilità)
  • Rendere sdb1 avviabile impostandone il flag "boot"
  • Impostare una Etichetta alla partizione sdb1 , ad esempio : BOOTISO

Per chi desidera la "Home" persistente :

  • Formattare il restante spazio con un filesystem di vostra scelta (Consigliato Ext4) -- Partizione sdb2
  • Applicare una Etichetta con la seguente nomenclatura (Obbligatoria)  a sdb2 : live:/home

Per gli amanti del terminale utilizzare i tools quali fdisk , cfdisk o parted facendo sempre attenzione di indicare il dispositivo di destinazione corretto.


Terminate le operazioni di formattazione del dispositivo , si proceda con l'instllazione di Grub2 nel dispositivo in oggetto dopo aver montato la partizione dedicata alle ISO.

Creare il punto di mount, ad esempio : /mnt/iso

# mkdir -p /mnt/iso


Si andrà quindi a montare la partizione per le ISO più il contenuto di Grub utilizzando l'etichetta precedentemente creata :

# mount --label BOOTISO /mnt/iso

 

Creare la cartella di boot la quale ospiterà il contenuto di grub

# mkdir -p /mnt/iso/boot

 

Installare il grub sul dispositivo :

# grub2-install --no-floppy --force --boot-directory=/mnt/iso/boot


Se non ci sono problemi , grub verrà installato nel dispositivo in oggetto e nel percorso definito.

All'interno di /mnt/iso ci sarà il contenuto della cartella di /boot/grub la quale conterrà i vari moduli per l'avvio.

Quello che manca è il file di configurazione grub.cfg .


Crearlo ed inserire i vari menuentry relativi alle ISO contenute in /mnt/iso (ossia nella radice del filesystem).

# nano -w /mnt/iso/boot/grub/grub.cfg

 

Ecco un esempio di menuentry (in seguito verrà descritto come ottenere i seguenti parametri) contenente cinque distribuzioni

  1. Sabayon 15.06 GNOME
  2. SystemRescueCD
  3. Clonezilla
  4. Ubuntu 15.04 i386
  5. Kubuntu 15.04 amd64

grub.cfg

set default=0
set timeout=5
set menu_color_normal=yellow/black
set menu_color_highlight=black/yellow
search  --label BOOTISO --set=root

menuentry "Sabayon 15-06 GNOME" {
insmod ext2
insmod loopback
insmod iso9660
set isofile='Sabayon_Linux_15.06_amd64_GNOME.iso'
loopback loop /$isofile
linux (loop)/boot/sabayon initrd=/boot/sabayon.igz overlayfs cdroot gfxpayload=1280x766 keymap=it locale=it_IT nosplash quiet cdboot isoboot=$isofile
initrd (loop)/boot/sabayon.igz
}

menuentry "System RescueCD - LIVE" {
insmod ext2
insmod loopback
insmod iso9660
set isofile="systemrescuecd-x86-4.5.2.iso"
loopback loop /$isofile
linux (loop)/isolinux/rescue64 setkmap=it lang=it_IT.UTF-8 isoloop=$isofile
initrd (loop)/isolinux/initram.igz
}

menuentry "Clonezilla live"{
insmod ext2
insmod loopback
insmod iso9660
set isofile="clonezilla-live-2.3.2-22-amd64.iso"
loopback loop /$isofile
linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}

menuentry "Ubuntu 15.04-desktop-i386" {
insmod loopback
insmod iso9660
insmod ntfs
set isofile='ubuntu-15.04-desktop-i386.iso'
loopback loop /$isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash lang=it locale=it_IT iso-scan/filename=/$isofile
initrd (loop)/casper/initrd.lz
}

menuentry "Kubuntu 15.04-desktop-amd64" {
insmod loopback
insmod iso9660
insmod ntfs
set isofile='kubuntu-15.04-desktop-amd64.iso'
loopback loop /$isofile
linux (loop)/casper/vmlinuz.efi file=/cdrom/preseed/kubuntu.seed boot=casper maybe-ubiquity initrd=/casper/initrd.lz quiet splash  lang=it locale=it_IT iso-scan/filename=/$isofile
initrd (loop)/casper/initrd.lz
}


Salvare il contenuto.Ed uscire dall'editor.
Copiare le immagini ISO interessate in /mnt/iso , riavviare il pc ed assicurarsi che il boot da Bios avvenga prima dai dispositivi esterni e non dl disco fisso.
In seguito si vedrà come sfruttare le immagini ISO direttamente dal disco fisso.

I vari parametri da passare al boot variano da distribuzione a distribuzione ed in alcuni casi occorre effettuare dei piccoli escamotàge perchè il boot avvenga
correttamente.Anche in questo caso si vedrà con la prossima guida come ottenere questi parametri.
Il boot non visualizza l'intero menu proposto dalla live (tramite isolinux) , per cui nei parametri di boot del kernel sono state impostate le localizzazioni/tastiera per la lingua italiana.

Per coloro che in questo momento volessero provare questo metodo , possono scaricare le immagini ISO indicate , e qualora ci fossero stati agg! iornamenti di versione
si raccomanda solo di modificare il nome della ISO all'interno del parametro set isofile="<immagine.iso>" del file grub.cfg. oltre che aggiornare la stessa ISO inclusa nella chiavetta.
Generalemnte non ci sono stravolgimenti nei parametri del boot.

Importante : non effettuare alcun aggiornamento del grub tramite i comandi "grub2-mkconfig" o "update-grub". Questi andrebbero a modificare il grub della distribuzione
contenuta nell'Hardisk !!!! . Editare sempre manualente il grub.cfg della chiavetta !!



Persistent "Home" : Per coloro i quali avesser! o incluso la partizione dedicata alla "home" persistence , le ! distribuzioni che si appoggiano a "overlayfs" , dovrebbero
montare automaticamente se inserita/compresa la partizione con etichetta live:/home . (Testato su Sabayon).



Nessun evento trovato



LinuxMX è un sito creato da Maestri Carlo.
Questo sito non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001
Tutti i contenuti del sito sono disponibili con una Licenza Creative Commons CC-BY-NC-SA
Tutti i loghi e marchi registrati presenti in questo sito sono di proprietà dei rispettivi proprietari.