LINUX.ORG.RU

boot custom linux from usb

 , , ,


1

1

Добрый день.

просьба помочь в решении задачи:

дано: дистрибутив маленького линукса finnix

нужно внести изменения в iso и развернуть на флешку, для дальнейшего использования.

сделано: iso примонтирован, от туда скопированы все файлы (cp -a) внутри finnix/arch/x86/root.img — это squashfs

этот squashfs разобрал, добавил скрипт, собрал обратно, и получившийся файл положил на место оригинального finnix/arch/x86/root.img

Начинается самое интересное, собираю iso-шник обратно:

mkisofs -o ../MyLinux.iso -b isolinux.bin -c boot/x86/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ./
получившийся iso файл работает как мне нужно, проверял на виртуальной машине, но как только я его пытаюсь запихать на USB диск - не грузится. даже до GRUB дело не доходит.

на usb писал и с помощью unetbootin, и dd if=MyLinux.iso of=/dev/sdb

не работает. Подскажите что я делаю не так? может где-то ошибся?

таким же методом писал оригинальный finnix.iso - он грузится и работает.



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

Сравните вывод ″xorriso -indev ВАШ.iso″ и ″xorriso -indev finnix.iso″. Похоже, вы пытаетесь загрузить с флешки не isohybrid образ.

mky ★★★★★
()
Ответ на: комментарий от mky
[root@vm-centos livecd]# xorriso -indev ../../finnix-110.iso 
GNU xorriso 1.3.6 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 37 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev '../../finnix-110.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , ISOLINUX isohybrid MBR pointing to boot image
Media summary: 1 session, 68845 data blocks,  134m data, 23.1g free
Volume id    : 'Finnix 110'

и вот моё

[root@vm-centos livecd]# xorriso -indev Metrex7.iso 
GNU xorriso 1.3.6 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 45 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'MyLinux.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , ISOLINUX boot image capable of isohybrid
Media summary: 1 session, 179741 data blocks,  351m data, 23.1g free
Volume id    : 'CDROM'

попробую поискать как сделать такую же boot record как в оригинале,

openmsk
() автор топика
Ответ на: комментарий от openmsk

Спасибо, помогло!

https://wiki.archlinux.org/index.php/Remastering_the_Install_ISO

iso_label="ARCH_201209"
$ xorriso -as mkisofs \
       -iso-level 3 \  
       -full-iso9660-filenames \
       -volid "${iso_label}" \
       -eltorito-boot isolinux/isolinux.bin \
       -eltorito-catalog isolinux/boot.cat \
       -no-emul-boot -boot-load-size 4 -boot-info-table \
       -isohybrid-mbr ~/customiso/isolinux/isohdpfx.bin \
       -output arch-custom.iso \ 
       ~/customiso 


и для получения isohybrid-mbr 
 dd if=/path/to/archISO bs=512 count=1 of=~/customiso/isolinux/isohdpfx.bin
openmsk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.