Chroot в RFS

9 views
Skip to first unread message

avp

unread,
Jan 18, 2010, 5:39:08 AM1/18/10
to openembedded-ru
Здравствуйте!
Собрал образ, пытаюсь загрузить его по нфс. Ядро пишет что не находит
init, ставлю /bin/sh, та же ерунда - не находит. Пытаюсь войти в
смонтированную фс

chroot root_fs /bin/sh

пишет /bin/sh no such file.
Никто с такой бедой не сталкивался?

Yuri Bushmelev

unread,
Jan 18, 2010, 5:51:13 AM1/18/10
to openemb...@googlegroups.com
В сообщении от Понедельник 18 января 2010 avp написал(a):
А оно не симлинк на куда-то в /usr?

--
С уважением,
Бушмелев Юрий

avp

unread,
Jan 18, 2010, 6:00:17 AM1/18/10
to openembedded-ru
Оно ссылка на /bin/busybox, но даже когда я указываю /bin/busybox та
же песня. Подозреваю, что с библиотеками проблема.

Anatoly Shipitsin

unread,
Jan 18, 2010, 6:05:47 AM1/18/10
to openemb...@googlegroups.com


2010/1/18 avp <alex...@rambler.ru>
У вас ядро собрано с штаным конфигом? А то в нем как-то NFS нету :)

avp

unread,
Jan 18, 2010, 6:06:02 AM1/18/10
to openembedded-ru
А то, что у меня /lib содержит только одну библиотек

-rwxr-xr-x 1 root root 33232 Jan 16 14:12 libvolume_id.so.0
drwxr-xr-x 3 root root 1024 Jan 18 12:17 modules
drwxr-xr-x 2 root root 1024 Jan 18 12:17 udev

а в моей хост системе ldd busybox выдает
linux-vdso.so.1 => (0x00007fff205fe000)
libm.so.6 => /lib64/libm.so.6 (0x00007fe517ffb000)
libc.so.6 => /lib64/libc.so.6 (0x00007fe517ca2000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe518251000)

хотя образ строился на основе eglibc

avp

unread,
Jan 18, 2010, 6:09:37 AM1/18/10
to openembedded-ru
Конфиг ядра мой, NFS стоит. Собираю образ helloworld-image -
запускается , собираю свой х11 образ - ...
Ну и войти в образ по chroot не могу

Anatoly Shipitsin

unread,
Jan 18, 2010, 6:14:30 AM1/18/10
to openemb...@googlegroups.com


2010/1/18 avp <alex...@rambler.ru>

eglibc это форк glibc.

А то что у вас говорит что нету то значит линка действительно нету. Если линк есть внимательно изучите при помощи file что там у вас за busybox собрался.

avp

unread,
Jan 18, 2010, 6:39:49 AM1/18/10
to openembedded-ru
file busybox
busybox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked (uses shared libs), stripped

Anatoly Shipitsin

unread,
Jan 18, 2010, 6:59:22 AM1/18/10
to openemb...@googlegroups.com


2010/1/18 avp <alex...@rambler.ru>

file busybox
busybox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked (uses shared libs), stripped

Ок. А каталог /lib64 в образе есть?

avp

unread,
Jan 18, 2010, 7:22:03 AM1/18/10
to openembedded-ru
В том то и дело, что нет. Ни /lib64 ни библиотек в/lib.

Anatoly Shipitsin

unread,
Jan 18, 2010, 7:41:16 AM1/18/10
to openemb...@googlegroups.com


2010/1/18 avp <alex...@rambler.ru>

В том то и дело, что нет. Ни /lib64 ни библиотек в/lib.

Значит у вас или не поставился пакет или просто напросто при формировании пакета небыли скопированы необходимые библиотеки. Так-как окружение x86_64 в официальном дереве не присутсвует, это возможно.

avp

unread,
Jan 18, 2010, 7:49:32 AM1/18/10
to openembedded-ru
Ну так делал все по манулу как добавить новую платформу
конфиг

#@TYPE: Machine
#@NAME: x86_64
#@DESCRIPTION: Machine configuration for a generic x86_64 machine
TARGET_ARCH = "x86_64"
PREFERRED_PROVIDER_virtual/kernel = "linux"
KERNEL_IMAGETYPE = "bzImage"
GLIBC_ADDONS = "nptl"
GLIBC_EXTRA_OECONF = "--with-tls"
IMAGE_DEVICE_TABLES = " \
files/device_table-minimal.txt \
files/device_table_add-loop.txt \
files/device_table_add-scsi.txt \
"
MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost acpi ext2
nfs"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-module-uvesafb"
TARGET_CC_ARCH = "-m64"
BASE_PACKAGE_ARCH = "x86_64"
FEED_ARCH = "x86_64"
PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586 i686"

Что мне еще нужно указать?

avp

unread,
Jan 23, 2010, 6:32:20 AM1/23/10
to openembedded-ru
Решил созданием нового конфига для дистра, архитектуры (правда, пока
для x86-prescott)
Reply all
Reply to author
Forward
0 new messages