LINUX.ORG.RU

qemu & разметка образа диска


0

1

В общем так, необходимо мне эмулировать в этой вашей куеме некую систему под arm. Но возникла засада неожиданная. Если я использую один раздел на виртуальном диске, то все ОК.

Порядок действий следующий:

dd if=/dev/zero of=rootfs bs=1M count=2048

mkfs.ext3 rootfs

монтируем rootfs и пишем на него этот самый рутфс

qemu-system-arm -M versatilepb -kernel kernel.img -hda rootfs

???

profit!

все работает

Но мне надо на виртуальном диске поиметь несколько разделов Попытка сделать следующие телодвижения не увенчалась успехом:

losetup /dev/loop0 rootfs

cfdisk /dev/loop0...

fdisk -lu /dev/loop0

losetup -o 32256 /dev/loop1 /dev/loop0

losetup -o 32...256 /dev/loop2 /dev/loop0

losetup -o 322...56 /dev/loop3 /dev/loop0

вся эта беда монтируется, на нее закидывается рутфс и не грузится в последствии.

Ядро ругается на невозможность примонтировать рутфс. Если передать ему root=/dev/sda1, начинает ругаться на инит.

Есть-ли решение сей траблы? Подозреваю, что если создать несколько отдельных виртуальных дисков и грузиться вариантом:

qemu-system-arm -M versatilepb -kernel kernel.img -hda partition1 -hdb partition2 -hdc partition3

то эта тема сработает, но как-то это смахивает на кресло-каталку

Короче, нид хелп. Всем спасибо.

AITap шарит, как правильно монтировать лупы с разделами. Там надо какую-то опцию передать модулю, и все девайсы сами появятся.

gentoo_root ★★★★★
()

Ядро ругается на невозможность примонтировать рутфс. Если передать ему root=/dev/sda1, начинает ругаться на инит.

offset'ы точно правильно посчитали?

Попробуйте не losetup'ить /dev/loop0 на каждый раздел, а подгрузить модуль loop с параметром max_part=16, тогда ядро само заметит разделы (до 16 штук) на /dev/loop0 (возможно, потребуется blockdev --rereadpt /dev/loop0).

Для сохранения этого параметра нужно записать «options loop max_part=16» в /etc/modprobe.d/<имя по вкусу>.conf.

Включена ли в ядре поддержка MBR partition table?

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

спасибо за наводку к параметрам лупа, полезная инфа

в итоге загрузиться удалось, присмотревшись к логу в консоли и передав ядру параметр root=0801

конфиг ядра еще в глаза не видел, буду завтра дальше ковыряться

еще раз всем спасибо

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