[Risolto] grub2: boot live di Fedora direttamente dall'hard disk

Sto provando da stamattina (senza successo per Fedora) ad aggiungere alcune voci al menù di grub2 per far partire alcune iso (live) direttamente dall’hard disk, senza dover masterizzare il relativo cd-dvd.
Quindi ho modificato il file /etc/grub.d/40_custom per aggiungere le entrate personalizzate:

Ubuntu:

menuentry "Ubuntu 12.04 live" {
set isofile="/marco/Live/ubuntu-12.04-dvd-amd64.iso"
loopback loop (hd0,9)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}

SystemRescueCd:

menuentry "SystemRescueCd live" {
set root=(hd0,9)
set isofile="/marco/Live/systemrescuecd-x86-3.0.0.iso"
loopback loop (hd0,9)$isofile
linux (loop)/isolinux/rescue64 setkmap=it isoloop=$isofile
initrd (loop)/isolinux/initram.igz
}

Fedora 17:

menuentry "Fedora 17 live (non funziona" {
set isofile="/marco/Live/Fedora-17-x86_64-Live-Desktop.iso"
loopback loop (hd0,9)$isofile
linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile noprompt noeject
initrd (loop)/isolinux/initrd0.img
}

Live di http://ftp.gnome.org/pub/gnome/misc/promo-usb/GNOME-3.6.0.iso:

menuentry "Gnome 3.6 live (non funziona)" {
set isofile="/marco/Live/GNOME-3.6.0.iso"
loopback loop (hd0,9)$isofile
linux (loop)/isolinux/vmlinuz0 boot=isolinux isoloop=$isofile root=live:CDLABEL=GNOME36-LiveCD noprompt noeject
initrd (loop)/isolinux/initrd0.img
}

Alla fine, ho salvato e ricreato il file /boot/grub2/grub.cfg:

grub2-mkconfig -o /boot/grub2/grub.cfg

Al riavvio, Ubuntu e SystemRescueCd partono regolarmente. Invece gnome 3.6, dopo essere partito apparentemente senza problemi, dopo diverse righe di output si blocca, e mi porta in una console di dracut. Digitando (come proposto) journalctl ottengo:

Warning: dracut: FATAL: No or empty root= argument
Warning: dracut: Refusing to continue

Invece Fedora 17 va direttamente in kernel panic, con le luci della tastiera che lampeggiano ad intermittenza, e finisce lì.
Sembra che manchi l’opzione “root=???” alla riga del kernel, ma poiché dovrebbe riferirsi ad un’immagine montata non so cosa mettere (tutti i tentativi che ho fatto hanno fallito).

Esiste un modo di far partire una live di Fedora direttamente dall’hard disk?

provato anche io con scarsi risultati a farla partire,
il modo per farlo c’è ed è bruttino…
scompatti l’immagine della live in una directory /live della partizione 9 e imposti:

menuentry "Fedora 17 live " {
insmod ext2
set root=(hd0,9)
linux /live/isolinux/vmlinuz0 rootfstype=auto root=UUID=b5160c8b-f669-44d3-a534-204c88591c43 liveimg live_dir=live/LiveOS/ ro
initrd /live/isolinux/initrd0.img
}

dove naturalmente lo UUID è quello della partizione 9.

[quote=virus]provato anche io con scarsi risultati a farla partire,
il modo per farlo c’è ed è bruttino…
scompatti la live in una directory /live della partizione 9 e imposti:

menuentry "Fedora 17 live " {
insmod ext2
set root=(hd0,9)
linux /live/isolinux/vmlinuz0 rootfstype=auto root=UUID=b5160c8b-f669-44d3-a534-204c88591c43 liveimg live_dir=live/LiveOS/ ro
initrd /live/isolinux/initrd0.img
}

dove naturalmente lo UUID è quello della partizione 9.[/quote]

Penso che tu abbia ragione… infatti dopo aver postato avevo provato la soluzione che suggerisci, e funziona. Bruttino, ma funziona…

[marco@localhost ~]$ su -c "cat /etc/grub.d/40_custom"
Password: 
#!/bin/sh
echo "Aggiungo entrate personalizzate da 40_custom." >&2
exec tail -n +4 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
submenu "Sistemi live da immagini iso su hard disk" {
menuentry "Gnome 3.6 live" {
set root=(hd0,9)
set UUID_LIVE=e9bf3b88-5e43-4001-978d-f6b6bebedbea
search --no-floppy --fs-uuid --set $UUID_LIVE
linux /marco/Live/GNOME-3.6.0/isolinux/vmlinuz0 rootfstype=auto root=UUID=$UUID_LIVE liveimg live_dir=/marco/Live/GNOME-3.6.0/LiveOS/ ro quiet noprompt noeject
initrd /marco/Live/GNOME-3.6.0/isolinux/initrd0.img
}
menuentry "Fedora 17 live" {
insmod ext2
set UUID_LIVE=e9bf3b88-5e43-4001-978d-f6b6bebedbea
set root=(hd0,9)
search --no-floppy --fs-uuid --set $UUID_LIVE
linux /marco/Live/Fedora-17-x86_64-Live-Desktop/isolinux/vmlinuz0 rootfstype=auto root=UUID=$UUID_LIVE liveimg live_dir=/marco/Live/Fedora-17-x86_64-Live-Desktop/LiveOS/ ro quiet noprompt noeject
initrd /marco/Live/Fedora-17-x86_64-Live-Desktop/isolinux/initrd0.img
}
menuentry "Ubuntu 12.04 live" {
set isofile="/marco/Live/ubuntu-12.04-dvd-amd64.iso"
loopback loop (hd0,9)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd live" {
set root=(hd0,9)
set isofile="/marco/Live/systemrescuecd-x86-3.0.0.iso"
loopback loop (hd0,9)$isofile
linux (loop)/isolinux/rescue64 setkmap=it isoloop=$isofile
initrd (loop)/isolinux/initram.igz
}
}
[marco@localhost ~]$

meglio che niente.
:slight_smile: