LINUX.ORG.RU

Grub2 + ISO

 , ,


1

1

Собрал себе лайф сиди из дебиана при помощи debootstrap, mksquashfs и xorriso. Работает как мне нужно... Но вот как заставить grub2 загрузить мой исо-файл...

Пробовал несколько вариаций или кернел паника или циклически виснет end_request i/o error dev sda sector xxxxxxxx...

dd if=boot.iso of=/dev/sdx bs=2048 Работает но не катит, я хочу чтобы образ лежал sdx2 то-есть небыл виден под всякими там мастдаями...

вот так оно грузится на диске

ui menu.c32
prompt 0
menu title Boot Menu
timeout 0

label live
	menu label ^Live (686)
	menu default
	linux /live/vmlinuz
 	append initrd=/live/initrd boot=live persistence quiet

★★★★

Последнее исправление: LinuxDebian (всего исправлений: 3)

В начале сделайте гибридный iso образ.

Ну и насколько я виду у вас в ISO образе используется isolinux, а не grub2.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

В начале сделайте гибридный iso образ.

Я пока не знаю как это... буду искать, если есть доходчивый материал поделитесь пожалуйста...

Ну и насколько я виду у вас в ISO образе используется isolinux, а не grub2.

Да, я думал эго можно будет «вызвать» из grub2...

LinuxDebian ★★★★
() автор топика
Ответ на: SYSLINUX от Camel

Да, да я сделал iso-обарз а теперь пытаюсь его добавить в меню граб... граб ставил на

grub-install --no-floppy --root-directory=/media/boot /dev/sdс и там же исофайл...

Это я дал пример как он в SYSLINUX/ISOLINUX вызывается...

LinuxDebian ★★★★
() автор топика
Ответ на: SYSLINUX от Camel

Это может и костыль но как делать по другому я не знаю, цель - на втором разделе флешки развернуть свой дистр... и чтобы от был полностью защищен от записи..

LinuxDebian ★★★★
() автор топика
Последнее исправление: LinuxDebian (всего исправлений: 1)
Ответ на: комментарий от LinuxDebian

У вас в iso образе по сути сжатый squahfs образ коневой файловой системы, образ ядра, initrd и загрузчик, выньте из образа всё это, разместите на нужном разделе, в конфиге установленного на флешке загрузчика прописываете вызов ядра и initrd с нужными параметрами.

Возможно, придётся распаковать initrd и внести в него изменения, ну или указать дополнительные параметры.

kostik87 ★★★★★
()
Ответ на: grub.cfg от Camel
insmod part_msdos
insmod fat
 
search -u 3207b2d4-d571-4edc-8bb7-9aa0db785595 -s
 
menuentry "boot" {
    set isofile="/boot.iso"
    loopback loop $isofile
    linux (loop)/live/vmlinuz boot=live isoloop=$isofile
    initrd (loop)/live/initrd 
}

Вот один из перепробованных вариантов... Сейчас пробовал Grab4Dos тоже циклически виснет... Блин я затер этот конфиг... Точно не скажу.

LinuxDebian ★★★★
() автор топика
Последнее исправление: LinuxDebian (всего исправлений: 2)
Ответ на: комментарий от LinuxDebian

УМВР

Вот grub.cfg с моей флешки с которой я запускаю SysrescuCD

menuentry 'Sysrescue64' {
  set root=(hd0,1)
  set isofile="/systemrescuecd-x86-4.4.0.iso"
  loopback loop (hd0,1)$isofile
  linux (loop)/isolinux/rescue64 setkmap=ru isoloop=$isofile docache
  initrd (loop)/isolinux/initram.igz
}

menuentry "Ubuntu 14.04 minimal ISO" {
  set root=(hd0,1)
  set isofile="/trusty-mini-amd64.iso"
  loopback loop (hd0,1)$isofile
  linux (loop)/linux
  initrd (loop)/initrd.gz
}

menuentry "Ubuntu 14.04 ISO" {
  set root=(hd0,1)
  set isofile="/trusty-mini64.iso"
  loopback loop (hd0,1)$isofile
  linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
  initrd (loop)/casper/initrd.lz
}
Ubuntu тоже запускалась, сейчас уже ISO'шника на флешке нет.

Camel ★★★★★
()
Ответ на: комментарий от kostik87

Да! то что надо спасибо!

insmod part_msdos
insmod fat
 
#search -u 123edded-b564-40f5-b9af-f2af66259485 -s
 
menuentry "Linux" {
    linux /live/vmlinuz boot=live
    initrd /live/initrd 
}
LinuxDebian ★★★★
() автор топика
Ответ на: УМВР от Camel

У меня тоже, значит это проблема с самим исо файлом, видимо я его не корректно создал. Спасибо за внимание. В распаковано виде пашет :)

LinuxDebian ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.