Linux Magazine Forum
Giugno 21, 2018, 06:30:38 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] Avviare da GRUB2 una .iso in memoria USB avente UUID noto (syslinux.cfg)  (Letto 2137 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Sargon6
Hero Member
*****

Karma: +6/-3
Scollegato Scollegato

Messaggi: 1825



Mostra profilo
« inserita:: Luglio 03, 2016, 01:30:14 pm »

Per avviare dal menù di GRUB2 la .iso
gparted-live-0.26.0-1-i686.iso
messa nella cartella /iso/ della partizione della memoria USB avente UUID=56C2-9F49, prendendo i parametri dal file syslinux.cfg, occorre inserire le righe

Codice:
menuentry "gparted-live-0.26.0-1-i686.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/gparted-live-0.26.0-1-i686.iso"
      loopback loop $isofile
      linux (loop)/live/vmlinuz findiso=$isofile boot=live union=overlay username=user config components quiet noswap noeject  toram=filesystem.squashfs ip= net.ifnames=0  nosplash
      initrd (loop)/live/initrd.img
}
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 04, 2016, 04:18:35 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: 1825



Mostra profilo
« Risposta #1 inserita:: Luglio 03, 2016, 01:44:28 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 syslinux.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 Linux GParted 0.26, scaricare il file gparted-live-0.26.0-1-i686.iso da qui:
http://gparted.org/download.php
2) Connettere la memoria di massa USB ad una porta USB del computer, ed inserire il file gparted-live-0.26.0-1-i686.iso all'interno della cartella /iso/
3) Dopo essersi assicurati che la memoria USB suddetta sia l'unica memoria USB connessa al PC, aprire un terminale, ed impartire i comandi
Codice:
sudo lsblk -o NAME,MOUNTPOINT,uuid |grep /media/
find /media -name gparted-live-0.26.0-1-i686.iso

si otterrà un risultato tipo questo:

Citazione
mint17m1@mint17m1-desktop ~ $ sudo lsblk -o NAME,MOUNTPOINT,uuid |grep /media/
└─sdb1  /media/mint17m1/LEXARFAT32 56C2-9F49
mint17m1@mint17m1-desktop ~ $ find /media -name gparted-live-0.26.0-1-i686.iso
/media/mint17m1/LEXARFAT32/iso/gparted-live-0.26.0-1-i686.iso
mint17m1@mint17m1-desktop ~ $

dove sdb1 e /media/mint17m1/LEXARFAT32 sono rispettivamente il nome ed il punto di montaggio che il Sistema Operativo  ha imposto alla partizione dell'unica memoria di massa USB presente, 56C2-9F49 è il codice UUID della partizione, unico per ogni partizione, ed indipendente dal Sistema Operativo, mentre
/media/mint17m1/LEXARFAT32/iso/gparted-live-0.26.0-1-i686.iso
è il percorso per raggiungere la .iso che si vuole avviare.
Si noti che il percorso è suddiviso in due perti:
/media/mint17m1/LEXARFAT32/
che è la parte del percorso relativa al punto di montaggio, mentre
/iso/gparted-live-0.26.0-1-i686.iso
è la parte del percorso interamente residente sulla memoria USB, seguita dal nome della .iso.

La prima riga fissa il contenuto della riga che apparirà nel menù del bootloader, ed il suo contenuto è deciso dall'utente, ed 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/gparted-live-0.26.0-1-i686.iso"
      loopback loop $isofile

4) Con il Gestore di Archivi, apriamo il file gparted-live-0.26.0-1-i686.iso e, navigando fra le varie cartelle, cerchiamo i file con l'estensione .cfg (grub.cfg, oppure isolinux.cfg, o anche syslinux.cfg) contenenti i comandi di boot. In questo esempio, esaminiamo il file
/syslinux/syslinux.cfg

5) Esaminando il contenuto del file syslinux.cfg, troveremo i dati relativi alla configurazione per l'Italia; nel nostro caso specifico, mescolate a tantissime altre righe, troveremo anche le righe
Codice:
label GParted Live (To RAM)
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL GParted Live (To RAM. Boot media can be removed later)
  # MENU PASSWD
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap noeject  toram=filesystem.squashfs ip= net.ifnames=0  nosplash
  TEXT HELP
  All the programs will be copied to RAM, so you can
  remove boot media (CD or USB flash drive) later
  ENDTEXT

Di tutte queste righe, a noi interessano i parametri della riga kernel ed i parametri della riga append, vale a dire

Citazione
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap noeject  toram=filesystem.squashfs ip= net.ifnames=0  nosplash

che, con l'aggiunta del parametro findiso=$isofile devono essere usate per costruire i parametri delle righe linux e initrd come segue:
Citazione
     linux (loop)/live/vmlinuz findiso=$isofile boot=live union=overlay username=user config components quiet noswap noeject  toram=filesystem.squashfs ip= net.ifnames=0  nosplash
      initrd (loop)/live/initrd.img

Ora abbiamo tutti i dati che ci occorrono per creare un menù di GRUB2
Codice:
menuentry "gparted-live-0.26.0-1-i686.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/gparted-live-0.26.0-1-i686.iso"
      loopback loop $isofile
      linux (loop)/live/vmlinuz findiso=$isofile boot=live union=overlay username=user config components quiet noswap noeject  toram=filesystem.squashfs ip= net.ifnames=0  nosplash
      initrd (loop)/live/initrd.img
}

La prima riga, fissa il contenuto della riga che apparirà nel menù del bootloader, ed il suo contenuto è deciso dall'utente.


« Ultima modifica: Ottobre 29, 2016, 10:39:43 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: 1825



Mostra profilo
« Risposta #2 inserita:: Luglio 03, 2016, 02:00:25 pm »

Allego una serie di istruzioni già collaudate per varie distribuzioni di Linux
Codice:
menuentry "ubuntu-mate-16.04-desktop-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/ubuntu-mate-16.04-desktop-amd64.iso"
      loopback loop $isofile
      linux (loop)/casper/vmlinuz.efi file=(loop)/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=$isofile quiet splash nomodeset
      initrd (loop)/casper/initrd.lz
}

menuentry "linuxmint-18-mate LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/linuxmint-18-mate-64bit.iso"
      loopback loop $isofile
      linux (loop)/casper/vmlinuz file=(loop)/preseed/linuxmint.seed boot=casper iso-scan/filename=$isofile quiet splash nomodeset
      initrd (loop)/casper/initrd.lz
}

menuentry "linuxmint-17.3-mate LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/mint173plus64mate.iso"
      loopback loop $isofile
      linux (loop)/casper/vmlinuz file=(loop)/preseed/custom.seed boot=casper iso-scan/filename=$isofile quiet splash nomodeset
      initrd (loop)/casper/initrd.gz
}

menuentry "linuxmint-17.2-mate-32bit.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/linuxmint-17.2-mate-32bit.iso"
      loopback loop $isofile
      linux (loop)/casper/vmlinuz file=(loop)/preseed/linuxmint.seed boot=casper iso-scan/filename=$isofile quiet splash nomodeset
      initrd (loop)/casper/initrd.lz
}

menuentry "kubuntu-15.04-desktop-i386.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/kubuntu-15.04-desktop-i386.iso"
      loopback loop $isofile
      linux (loop)/casper/vmlinuz file=(loop)/preseed/kubuntu.seed boot=casper iso-scan/filename=$isofile quiet splash nomodeset
      initrd (loop)/casper/initrd.lz
}

menuentry "pclinuxos-lxde-2014.12.iso LIVE (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/pclinuxos-lxde-2014.12.iso"
      loopback loop $isofile
 linux (loop)/isolinux/vmlinuz fromusb root=UUID=56C2-9F49 bootfromiso=$isofile livecd=livecd vga=788 keyb=us acpi=on splash=verbose fstab=rw,auto
initrd (loop)/isolinux/initrd.gz
}

menuentry "xfce-pclinuxos-2016-05-10 -UN: pclinuxos -PW: linux (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/xfce-pclinuxos-2016-05-10-rAttuale.iso"
      loopback loop $isofile
 linux (loop)/isolinux/vmlinuz fromusb root=UUID=56C2-9F49 bootfromiso=$isofile livecd=livecd vga=788 keyb=it acpi=on splash=verbose fstab=rw,auto
initrd (loop)/isolinux/initrd.gz
}

menuentry "antiX-16_x64-full LIVE [Funziona] (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/antiX-16_x64-full.iso"
      loopback loop $isofile
      linux (loop)/antiX/vmlinuz fromhd=UUID=56C2-9F49 fromiso=$isofile livecd=livecd vga=788 acpi=on splash=verbose
      initrd (loop)/antiX/initrd.gz
}

menuentry "ubuntu-budgie-remix-16.04.1-i386.iso LIVE [Funziona] (/dev/sd_UUID 56C2-9F49)" {
      set root=UUID=56C2-9F49
      search --no-floppy --fs-uuid --set=root 56C2-9F49
      set isofile="/iso/budgie-remix-16.04.1-i386.iso"
      loopback loop $isofile
      linux (loop)/casper/vmlinuz fromusb boot=casper iso-scan/filename=$isofile quiet splash nomodeset
      initrd (loop)/casper/initrd.lz
}

menuentry "Caine 8.0.iso UUID=AA95-CC5D" {
set root=UUID=AA95-CC5D
set isofile="/caine8.0.iso"
search --no-floppy --fs-uuid --set=root AA95-CC5D
loopback loop $isofile
linux (loop)/casper/vmlinuz root=UUID=AA95-CC5D maybe-ubiquity debian-installer/language=it keyboard-configuration/layoutcode=it  iso-scan/filename=$isofile boot=casper noprompt quiet splash --
initrd (loop)/casper/initrd.gz
}

Nel caso in cui MultiSystem riesca ad avviare le LIVE.iso senza doverle "scompattare", i parametri da aggiungere al file 40_custom li possiamo reperire anche nel file /MULTISYSTEM/boot/grub/grub.cfg ubicato nella memoria di massa in cui abbiamo installato MultiSystem stessa.

Codice:
menuentry "gparted-live-0.26.0-1-i686.iso MultiSystem" {
search --set -f "/gparted-live-0.26.0-1-i686.iso"
loopback loop "/gparted-live-0.26.0-1-i686.iso"
linux (loop)/live/vmlinuz toram=filesystem.squashfs findiso=/gparted-live-0.26.0-1-i686.iso boot=live union=overlay username=user config components quiet noswap noeject vga=791 ip=  nosplash
initrd (loop)/live/initrd.img
}

menuentry "linuxmint-18-mate-64bit.iso MultiSystem" {
search --set -f "/linuxmint-18-mate-64bit.iso"
loopback loop "/linuxmint-18-mate-64bit.iso"
linux (loop)/casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper locale=it_IT bootkbd=it console-setup/layoutcode=it console-setup/variantcode= iso-scan/filename=/linuxmint-18-mate-64bit.iso noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}

menuentry "pclinuxos64-kde-2016.03.iso MultiSystem" {
search --set -f "/pclinuxos64-kde-2016.03.iso"
loopback loop "/pclinuxos64-kde-2016.03.iso"
linux (loop)/isolinux/vmlinuz fromusb root=UUID=AA95-CC5D bootfromiso=/pclinuxos64-kde-2016.03.iso livecd=livecd root=/dev/rd/3 quiet vga=788 keyb=us splash=silent
initrd (loop)/isolinux/initrd.gz
}

menuentry "pclinuxos64-kde-fullmonty-2016.03.is MultiSystemo" {
search --set -f "/pclinuxos64-kde-fullmonty-2016.03.iso"
loopback loop "/pclinuxos64-kde-fullmonty-2016.03.iso"
linux (loop)/isolinux/vmlinuz fromusb root=UUID=AA95-CC5D bootfromiso=/pclinuxos64-kde-fullmonty-2016.03.iso livecd=livecd root=/dev/rd/3 quiet vga=788 keyb=us splash=silent
initrd (loop)/isolinux/initrd.gz
}

menuentry "pclinuxos-lxde-2014.12.iso MultiSystem" {
search --set -f "/pclinuxos-lxde-2014.12.iso"
loopback loop "/pclinuxos-lxde-2014.12.iso"
linux (loop)/isolinux/vmlinuz fromusb root=UUID=AA95-CC5D bootfromiso=/pclinuxos-lxde-2014.12.iso livecd=livecd root=/dev/rd/3 quiet vga=788 keyb=us splash=silent
initrd (loop)/isolinux/initrd.gz
}

menuentry "ubuntu-mate-16.04-desktop-amd64.iso MultiSystem" {
search --set -f "/ubuntu-mate-16.04-desktop-amd64.iso"
loopback loop "/ubuntu-mate-16.04-desktop-amd64.iso"
linux (loop)/casper/vmlinuz.efi root=UUID=AA95-CC5D maybe-ubiquity debian-installer/language=it keyboard-configuration/layoutcode=it  iso-scan/filename=/ubuntu-mate-16.04-desktop-amd64.iso boot=casper file=/cdrom/preseed/ubuntustudio.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}

« Ultima modifica: Novembre 02, 2016, 05:39:25 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:  


Powered by SMF 1.1.9 | SMF © 2006-2007, Simple Machines LLC -->