Linux Magazine Forum
Gennaio 16, 2018, 08:00:29 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?
 
   Indice   programmazione windows internet videogame Aiuto Ricerca Agenda Accedi Registrati  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: [Guida] (loopbak.cfg) Avviare da GRUB2 una .iso in memoria USB avente UUID noto  (Letto 1551 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Sargon6
Hero Member
*****

Karma: +6/-3
Scollegato Scollegato

Messaggi: 1813



Mostra profilo
« inserita:: Luglio 04, 2016, 04:27:09 pm »

Per avviare dal menù di GRUB2 la .iso
Peppermint-7-20160616-amd64.iso
messa nella cartella /iso/ della partizione della memoria USB avente UUID=56C2-9F49, prendendo i parametri dal file loopbak.cfg, occorre inserire le righe

Codice:
menuentry "Peppermint-7-20160616-amd64.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/Peppermint-7-20160616-amd64.iso"
      loopback loop $isofile
set gfxpayload=keep
linux (loop)/casper/vmlinuz.efi  file=(loop)/preseed/peppermint.seed boot=casper iso-scan/filename=$isofile quiet splash ---
initrd (loop)/casper/initrd.lz
}
all'interno del file
/etc/grub.d/40_custom

della distribuzione di Linux che governa il bootloader, ed impartire il comando
sudo update-grub2

In questo modo, la voce "gparted-live-0.26.0-1-i686.iso LIVE (/dev/sd_UUID 56C2-9F49)" entrerà a far parte delle possibili scelte selezionabili dal menù di avvio del bootloader, e sarà sufficiente selezionarla per avviare l'.iso LIVE della distribuzione di Linux corrispondente.
« Ultima modifica: Luglio 06, 2016, 08:49:15 pm da Sargon6 » Registrato

L'hardware ed il Sistema Operativo di Sargon6: http://sargonsei.altervista.org/hardware-computer-fisso-2/

Blog di Sargon6: http://sargonsei.altervista.org/
Sargon6
Hero Member
*****

Karma: +6/-3
Scollegato Scollegato

Messaggi: 1813



Mostra profilo
« Risposta #1 inserita:: Luglio 04, 2016, 04:39:30 pm »

La seguente guida, spiega come e perché modificare il menù di GRUB2 per consentire l'avvio di Linux GParted la cui .iso è stata messa in una cartella denominata /iso/ a sua volta collocata all'interno di una memoria USB connessa al PC tramite una porta USB connessa direttamente alla scheda madre, prendendo i parametri dal file loopbak.cfg contenuto nella .iso stessa.
La procedura è utilizzabile anche per distribuzioni di Linux diverse da quelle da me trattate, ed anche se le relative .iso si trovano in una cartella diversa da quella da me indicata, purché si provveda a modificare di conseguenza le istruzioni.
A quanto mi risulta, è possibile avviare una .iso contenuta in una memoria di massa USB solo se la stessa è connessa ad una porta USB connessa direttamente alla scheda madre, in quanto solo queste ultime sono gestite direttamente dal BIOS, mentre le porte USB connesse alla scheda madre tramite connettori PCI sono gestite dal Sistema Operativo, quindi funzionano come porte USB solo dopo l'avvio del Sistema Operativo.

GUIDA
1) Scaricare il file .iso della distribuzione di Linux che interessa; nel caso di Peppermint-7, scaricare il file Peppermint-7-20160616-amd64.iso da qui:
https://peppermintos.com/
2) Connettere la memoria di massa USB ad una porta USB del computer, ed inserire il file Peppermint-7-20160616-amd64.iso all'interno della cartella /iso/ creata all'interno della memoria USB.
3) Dopo essersi assicurati che la memoria USB suddetta sia l'unica memoria USB connessa al PC, aprire un terminale, ed impartire il comando
Codice:
sudo lsblk -o UUID | grep -E '^(.){4}-(.){4}$'
si otterrà un risultato tipo questo:

Citazione
mint17m1@mint17m1-desktop ~ $ sudo lsblk -o UUID | grep -E '^(.){4}-(.){4}$'
56C2-9F49
mint17m1@mint17m1-desktop ~ $

dove 56C2-9F49 è il codice UUID della partizione dell'unica memoria USB connessa al PC, unico per ogni partizione, ed indipendente dal Sistema Operativo.

La prima riga da mettere nel file 40_custom contiene i parametri di menuentry, e fissa il contenuto della riga che apparirà nel menù del bootloader; il suo contenuto è deciso dall'utente. Ora noi abbiamo il materiale che ci serve per creare le righe 2, 3, 4 e 5; infatti:
Citazione
     set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/Peppermint-7-20160616-amd64.iso"
      loopback loop $isofile


4) Con il Gestore di Archivi, apriamo il file Peppermint-7-20160616-amd64.iso e, navigando fra le varie cartelle, cerchiamo  il file
/boot/grub/loopbak.cfg
5) Esaminando il contenuto del file loopbak.cfg, troveremo i dati relativi alla configurazione; nel nostro caso specifico, mescolate a tantissime altre righe, troveremo anche le righe

Citazione
menuentry "Try Peppermint without installing" {
   set gfxpayload=keep
   linux   /casper/vmlinuz.efi  file=/cdrom/preseed/peppermint.seed boot=casper iso-scan/filename=${iso_path} quiet splash ---
   initrd   /casper/initrd.lz
}

A noi interessano i parametri delle righe set, linux, ed initrd.

Ora abbiamo tutti i dati che ci occorrono per creare un menù di GRUB2
Codice:
menuentry "Peppermint-7-20160616-amd64.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/Peppermint-7-20160616-amd64.iso"
      loopback loop $isofile
set gfxpayload=keep
linux (loop)/casper/vmlinuz.efi  file=(loop)/preseed/peppermint.seed boot=casper iso-scan/filename=$isofile quiet splash ---
initrd (loop)/casper/initrd.lz
}
« Ultima modifica: Luglio 06, 2016, 08:53:12 pm da Sargon6 » Registrato

L'hardware ed il Sistema Operativo di Sargon6: http://sargonsei.altervista.org/hardware-computer-fisso-2/

Blog di Sargon6: http://sargonsei.altervista.org/
Pagine: [1]   Vai su
  Stampa  
 
Vai a: