grub2 iso-boot

Fórumok

Sziasztok.

Adott egy iso file, mely cd-ről, DVD-ről bootol rendesen.

Azt szeretném, hogy grub2-ben is működjök szimpla fájlként oly módon, hogy a grub menüjéből választható legyen, miközben az iso file mondjuk a /mnt/sda6/ gyökerében van.

Próbálom egy ideje, denemmegyittnekem.

Jelenleg ez van a grub.cfg-ban:

menuentry "slax2" {
set root=(hd0,6)
set isofile="slax-final.iso"
loopback iso $isofile
linux (iso)/boot/vmlinuz from=$isofile ramdisk_size=6666 root=/dev/ram0 rw autoexec=startx changes=s512.dat
initrd (iso)/boot/initrd.gz
}

A kérdésem rövid: a fentebb idézett "slax2" nevű grubmenüben mit rontottam el? (A hd0,6 egy ext3-as fájlrendszer.)

Hozzászólások

Igazság szerint erősen disztrib függő hogy megoldható-e a dolog.
Mindenesetre a Slax boot paraméterei között lesz a megoldás az biztos, a Parted Magic nekem is csak a saját boot paraméterekkel megy..
Itt is van pár példa, (de például az itteni Parted paraméterekkel meg sem makkant) esetleg rápróbálhatsz egy-kettőre: https://help.ubuntu.com/community/Grub2/ISOBoot/Examples

p.s.: egyébként az is előfordulhat hogy nem ISO-fájllal hanem az ISO kicsomagolt állományaival müxik csak
--
God bless you, Captain Hindsight..

Igen, ott a pont, ez tényleg hiányzik.

Jelenleg így festek:

menuentry "test 0" {
insmod part_msdos
insmod ext2
insmod gzio
insmod xzio
insmod loopback
insmod part_msdos
set root='(hd0,3)'
set isofile="/mnt/slax-final.iso"
loopback iso /mnt/slax-final.iso
linux (iso)/boot/vmlinuz from=/mnt/slax-final.iso ramdisk_size=6666 root=/dev/ram0 rw
initrd (iso)/boot/initrd.xz
}

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Most volt a reboot, sajnos nem jött be. A fájlrendszer felállt, ls működik, könyvtárak a helyükön vannak, csak nincs az iso-bol rájuk mountolva a megfelelő tartalom, ergo van egy csökkentett BASH és a prompt javasolja a rebootot. Költői, de őszinte.
az /mnt/ könyvtárban persze ott az img.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Eddig odáig jutottam el, hogy az iso fájlból előjön ugyan a kernel, tölt, majd közli hogy /dev/sr0-n nem talál semmit, keresi a liveDVD-t:
/init: line 7: can't open /dev/sr0: No medium found

Ahogy fórumokon nézegetem, kevesen küzdenek ezzel, nem sok embert érdekel.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Először megmondod a Grub2-nek, hogy hol az iso hogy éri el a tartalmát (loopback), ezután már meg lehet adni a kernel (linux) és az initial ramdisk (initrd) elérését (loop).
Ezután a kernelnek kell átadni azt a paramétert, ami alapján betöltődés után majd az is tudja, illetve tovább tudja adni az init folyamatnak, hogy hol az iso amit el kell érnie (de akár bedrotozható az initrd-be is). Ez viszont általában kernel/disztribució függő (isoloop, fromiso, iso-scan stb).

Slackware példámm nincs. Slackware alapú Puppy linux bootról van infó az alábbi linken.
http://puppylinux.info/topic/unusual-way-to-boot-slacko-using-iso-boot-…

3 bejegyzés egy "UFD32" cimkéjű USB boot diszk grub.cfg fájljából.


menuentry "SystemRescueCD ISO" {
loopback loop (hd0,1)/boot/systemrescuecd-x86-4.5.2.iso
linux (loop)/isolinux/rescue32 isoloop=/boot/systemrescuecd-x86-4.5.2.iso docache setkmap=hu
initrd (loop)/isolinux/initram.igz
}

menuentry "Ubuntu server ISO" {
set isofile="/boot/ubuntu-14.04-server-amd64.iso"
loopback loop (hd0,1)$isofile
linux (loop)/install/vmlinuz iso-scan/filename=$isofile file=/cdrom/preseed/ubuntu-server.seed
initrd (loop)/install/initrd.gz
}

menuentry "DebianDog ISO" {
insmod search_label
set bootlabel="UFD32"
search --no-floppy --set=root --label $bootlabel
set isofile="/boot/DebianDog-Jessie-openbox_xfce-2015-09-02.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz1 fromiso=/dev/disk/by-label/$bootlabel/$isofile boot=live config noeject --
initrd (loop)/live/initrd.img
}

" Ez viszont általában kernel/disztribució függő (isoloop, fromiso, iso-scan stb)"

Hmm. Pont ezzel nem próbálkoztam még.
Napközben nem merek kísérletezni mert féltem a gépemet és a környezetemet, este lefekvés előtt nézem meg...

---
--- A gond akkor van, ha látszólag minden működik. ---
---

De jó, anno itt hagytam abba..
Most végigjárom.
A slax azóta más lett:

menuentry "slax-7.0.8" {
set root=(hd0,5)
set isofile="/iso/slax-Hungarian-7.0.8-i486.iso"
loopback iso $isofile
linux (iso)/boot/vmlinuz from=$isofile ramdisk_size=6666 root=/dev/ram0 rw autoexec=startx changes=s512.dat
initrd (iso)/boot/initrfs.img
}

..szóval initrfs.img van ott.
Este reboot és megnézem megy-e...

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Szerintem felejtsed el az slax iso-ból betöltését, töltsd le a zip-et, csomagold ki egy könyvtárba, mondjuk legyen a slax. Aztán:


menuentry 'slax' {
	set dir=/slax
	search --no-floppy --file -set=root $dir/01-core.sb
	linux $dir/boot/vmlinuz from=$dir vga=normal load_ramdisk=1 prompt_ramdisk=0 printk.time=0 slax.flags=perch,xmode
	initrd $dir/boot/initrfs.img
}