Тема: Как исправить файл fstab в ISO образе дистрибутива FreeBSD?

Доброго времени суток.

Сделал мультизагрузочную флешку с загрузчиком grub4dos, чтобы помимо различных дежурных утилит (Memtest, Acronis итп) можно было подсунуть несколько дистрибутивов FreeBSD. В целом всё заработало, grub передаёт эстафету загрузки в подмонтированный ISO образ и FreeBSD (10.0) стартует, но когда очередь доходит до mountroot, на этом всё останавливается.
Дистрибутив считает что он находится на диске, а диск в CD-ROM-е, поэтому:
/dev/iso9660/FREEBSD_INSTALL / cd9660 ro 0 0

тут конечно можно прописать ручками:
mountroot> ufs:/dev/ufs/FreeBSD_Install
и всё успешно загрузится, но хотелось бы один раз поправить fstab в образе и жить спокойно... но как оказалось тут не всё так просто.

Открыл FreeBSD-10.0-RELEASE-amd64-disc1.iso с помощью UltraISO, поменял файл, сохранил под другим именем, пробую с него загрузиться, - ошибка error load kernel. (Если не менять никакие файлы, а просто пересохранить, будет тоже самое). Предполагаю что при загрузке проверяются какие-то контрольные суммы, которые я нарушаю изменяя образ...

Как быть в данной ситуации, что посоветуете?

PS: я в курсе что можно списать FreeBSD-10.0-RELEASE-amd64-memstick.img и залить его на флешку с помощью dd, но этот вариант не очень удобен, т.к. постоянно нужны различные дистрибутивы, причём как с архитектурой i386, так и amd64, а так придётся таскать с собой гроздь флешек.

2

Re: Как исправить файл fstab в ISO образе дистрибутива FreeBSD?

Как то так

mount -o loop cd.iso /mnt
cp -av /mnt/ /tmp/cd
mkisofs -o /tmp/new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V disks .

3

Re: Как исправить файл fstab в ISO образе дистрибутива FreeBSD?

Образ монтируется в RO, поэтому fstab не поправить, однако спасибо за идею!
Начал копать в этом направлении и нашёл утилиту xorriso.
Руководствуясь этой статьёй (http://dadv.livejournal.com/143243.html) смог развернуть образ в файловую систему и поправить таки fstab:
xorriso -for_backup -load volid \* -indev ./FreeBSD-10.0-RELEASE-amd64-disc1.iso -osirrox on -- -extract / ./livefs -rollback_end

Теперь вот ищу как из файловой системы это добро записать обратно в образ iso smile
dd то работает только с устройствами, а у меня директория...

4

Re: Как исправить файл fstab в ISO образе дистрибутива FreeBSD?

так никто и не говорит править образ, я описал как примонтировать, скопировать все на fs, где можно править файлы и собрать обратно в iso. Может ошибся с ключами, так как на глаз все, но должно работать.