LINUX.ORG.RU
решено ФорумMobile

qemu arm chroot не работает сцуко =((


0

1

Gentoo 3.8.13 x86 only stable

Надо настроить qemu-arm chroot. Прочел штук 5 документаций - в теории все понятно. Собираю qemu со static-user флагом. Указываю чем выполнять бинарники для arm ( /proc/sys/fs/binfmt_misc/register). Файлик arm появился. qemu-arm hаботает - отработал бинарник для arm-a (hello word, компиленый criossdev-ом).

qemu-arm из остновной системы скопировал в гостевую , по тому-же пути ( /usr/bin/qemu-arm )

Дальше по инструкции:

mount -o bind /dev /guest_fs/dev

mount -o bind /sys /guest_fs/sys

mount -o bind /proc /guest_fs/proc

chroot /guest_fs/

chroot: не удалось выполнить команду «/bin/bash»: Ошибка формата выполняемого файла

ls -la /proc/sys/fs/binfmt_misc/

drwxr-xr-x 2 root root 0 авг. 5 19:06 .

dr-xr-xr-x 1 root root 0 авг. 5 16:57 ..

-rw-r--r-- 1 root root 0 авг. 5 19:29 arm

--w------- 1 root root 0 авг. 5 19:29 register

-rw-r--r-- 1 root root 0 авг. 5 19:06 status

cat /proc/sys/fs/binfmt_misc/arm

enabled

interpreter /usr/bin/qemu-arm

flags: P

offset 0

magic 7f454c4601010100000000000000000002002800

mask ffffffffffffff00ffffffffffff00fffeffffff

4

А вот если посмотреть в гостевую ОС...

ls -la /guest_fs/proc/sys/fs/binfmt_misc/

то там пусто о_0. Мож потому и ругается, что не знает чем обработать такой бинарник ?

вот и бьюсь уже не первый день.. и никак =( Ув. форумчане, помогите - оч надо.

/proc/sys/fs/binfmt_misc тоже надо отдельно примонтировать, например, внутри chroot:

mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

примонтировал, не помогло.

Мож я не ту доку юзаю - мож ошибка где-то в мелочи.

Посоветуйте кто-то инструкцию для внимательного прочтения, желательно под gentoo, следуя которой у кого-нить получилось зачрутиться.

руки.doc не предлагать - сам продаю =)

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

я нарыл проблему: скопировал в корень guest_fs тот самый hello_world , компилированый под arm . Написал такое chroot /guest_fs /hello_world ... и все получилось..

Также получилось df:

chroot /guest_fs /bin/df /bin/df: Предупреждение: не удалось прочитать таблицу смонтированных файловых систем: Нет такого файла или каталога Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в - 31263552 6587160 24676392 22% /

Но вот bash и sh за одно с ним не запускается:

chroot ./ /bin/sh

/bin/sh: /bin/sh: не могу запустить бинарный файл

Может busybox ? или bash пересобрать как-то или stage3 у меня говняный ( stage3-armv7a_hardfp-20130209.tar.bz2 ) почему-то на зеркалах сегодня стейжа ваще нету ...

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

примонтировал, не помогло.

Ту команду надо было из-под chroot запускать, чтобы примонтировало, но я забыл, что в chroot оно вообще не заходит, тогда извне это будет так:

mount -t binfmt_misc binfmt_misc /guest_fs/proc/sys/fs/binfmt_misc
gentoo_root ★★★★★
()
Ответ на: комментарий от dmitry_kozak

В идеале надо собрать в chroot окружении gentoo под arm ( beaglebobe black ) .

Мож не тем путём иду ? where is the gentoo-way ??

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

я сделал правильно - учел свои пути и выполнял до chroot. Из chroot я ничего не могу сделать - bash\sh не запускается

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

chroot /guest_fs /usr/bin/qemu-arm /hw # hw - прога hello world компиленая под arm

Hello world!

т.е. qemu-arm работает, тупо не запускается bash ..

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