LINUX.ORG.RU

Монтирование initrd.img (HFS+, Mac) в Linux


0

0

Приветствую! Может вдруг кто знает как в Ubuntu смонтировать (с возможностью изменения..) файл типа initrd.img Такой файл имеется в CD-образе загрузчика для макоси. Загрузчик на базе syslinux и в процессе загрузки грузит такой вот initrd.img Сам образ то можно смонтировать или распаковать и достать из него initrd.img, а вот смонтировать или распаковать initrd.img не удается. Структура initrd.img судя по всему HFS+ Volume. Под макосью естественно монтируется и редактируется, под винду есть TransMac - позволяет его просматривать и добавлять нужные файлы. Что-то не верится что под Linux такого сделать нельзя, у меня пока не выходит.

sudo mount -t hfsplus -o loop INITRD.IMG init/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       В некоторых случаях полезная информация может быть
       найдена в syslog - попробуйте dmesg | tail или что-то
       в этом роде
dmesg | tail
[20938.377165] hfs: unable to find HFS+ superblock
Образ для желающих поэкспериментировать.


пока получилось только смонтировать в режиме ro :)

losetup -o 512 -f /mnt/smb/initrd.img

mount -t hfs /dev/loop1 /mnt/loop/

sidor ★★
()

О! В ридонли смонтировалось из-за того, что монтировал из подмонтированной исошки :) если всё проделать нормально - монтируется в rw

[root@sidor yum.repos.d]# losetup -o 512 -f /tmp/initrd.img
[root@sidor yum.repos.d]# losetup -a
/dev/loop0: [fd00]:1481 (/tmp/initrd.img), offset 512
[root@sidor yum.repos.d]# mount -t hfs /dev/loop0 /mnt/loop
[root@sidor yum.repos.d]# touch /mnt/loop/
Extra/ .fseventsd/ .Trashes/
[root@sidor yum.repos.d]# touch /mnt/loop/test
[root@sidor yum.repos.d]# ls -l /mnt/loop/
итого 0
drwxr-xr-x 1 root root 3 Июл 15 2008 Extra
-rw-r--r-- 1 root root 0 Авг 26 10:56 test

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

Хм... странно...:) У меня федора. Она наоборот ругалась, что это никакой не hfsplus :)

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

mkdir loop sudo mount -t hfs -o loop,offset=512 INITRD.IMG loop/ mount: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error В некоторых случаях полезная информация может быть найдена в syslog - попробуйте dmesg | tail или что-то в этом роде

$:sudo mount -t hfsplus -o loop,offset=512 INITRD.IMG loop/ $:cd loop $:ls Extra $:mkdir ddd mkdir: невозможно создать каталог `ddd': Read-only file system

$:sudo mkdir ddd mkdir: невозможно создать каталог `ddd': Read-only file system

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

кста это сообщение от 2007 года. Может конечно уже и в журналируемую систему можно писать, тогда надо попробовать прочекать ФС.

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

только вот мне интересно, почему initrd из исохи, которую я скачал - hfs, а у тебя hfsplus? Может мы разные таки пробовали? :) Ибо у меня ситуация с монтированием с точностью до наоборот :)

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

Кстати может и разные :о) и надо полагать что мой initrd.img с hfs+ и включенным журналом и потому ro.. ну странно :) я дал линк на самый маленький исошник.

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

А вообще помоему банально initrd.img имел статус только чтение потому и не позволял в себя дописывать :о)

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

Хотя нет - теория эта не подтвердилась.. А свой собственный линк с рапидшары стянуть из-дому не могу для перепроверки - рапидшара в дауне что ли на данный момент...

DJArty
() автор топика
25 сентября 2009 г.

Не знаю как для мака, но для линухи подходит следующая схема. Попрбуй переименовать его в initrd.gz, далее распакуй gzip-ом, получишь еще один архив, на этот раз cpio-вский, в котором обычное дерево каталогов unix-а. Скорее всего, построенное на базе BusyBox-a. И без заморочек c mount/umount AND filesystem type.

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