Здравствуй, мир! Запуск.

И так в прошлый раз я остановился на завершении сборки helloworld-image. В результате при помощи OpenEmbedded был собран helloworld и создан образ корневой файловой системы вместе с ним. Осталось только все это запустить, это довольно просто.

Для начала устанавливаем Virtual Box:

sudo apt-get install virtualbox

Затем потребуется собрать модуль для virtualbox (возможно, вам не потребуется собирать модуль, так-как в исходных кодах он стал устанавливаться недавно)

sudo apt-get install module-assistant
sudo m-a prepare
sudo m-a a-i virtualbox-ose

и загрузить его

sudo modprobe vboxdrv

Note: Команда sudo m-a a-i virtualbox-ose может сообщить об неудачном завершении. Но на самом деле все что необходимо она выполнила. Если при этом у вас команда sudo modprobe vboxdrv не вывела никаких ошибок при выполнении, то значит все в порядке.

Затем добавляем его в автозагрузку. Для этого открываем /etc/modules и добавляем туда:

vboxdrv

после чего сохраняем. Теперь при каждой загрузке этот модуль будет подгружаться сам. Осталось добавить себя в группу пользователей vboxusers, чтобы можно было работать с Virtualbox:

sudo adduser [your username] vboxusers

Note: Для вступления в силу изменений потребуется завершить сеанс и войти заново.

Теперь пробуем запустить Virtualbox (у меня находится в разделе стандартные). Если вы увидите нечто такое:
VirtualBox

то значит, что virtualbox работаем и можно приступать к созданию виртуальной машины, если нет то необходимо разобраться, что у вас не так.

Для создания новой виртуальной машины нажимаем создать, далее в качестве имени вводим openembedded (на самом деле имя может быть любым, главное чтобы оно не содержало пробелов), в тип ОС указываем Linux 2.6, жмем далее до запроса о виртуальном диске. Тут так же жмем далее, когда выскакивает предупреждение о том, что у нас нет дисков, нажимайте продолжить пока они не потребуются. После этого выведется итог, там жмем готово.
В списках виртуальных машин должна появиться машина openembedded. Выделяем ее и жмем свойства, там выбираем пункт Общие и переключаемся с закладки Основные на закладку Дополнительно. Там меняем порядок загрузки таким образом, чтобы Сеть была включена и была в списке первой. Если что-то не понятно сверьтесь:
VirtualBox - Закладка дополнительно

Если вы выполнили все верно, то виртуальная машина настроена. Теперь необходимо добавить загрузчик, собрать ядро, установить и настроить NFS сервер. Начем с загрузчика.

В качестве загрузчика будет использоваться pxelinux из состава syslinux. Устанавливаем его:

sudo apt-get install syslinux

Нужный нам файл pxelinux.0 находится в каталоге /usr/lib/syslinux. Для его установки переходим в каталог ~/.VirtualBox, создаем нем каталог TFTP и копируем туда pxelinux.0:

cd ~/.VirtualBox
mkdir TFTP
cp /usr/lib/syslinux/pxelinux.0 TFTP/openembedded.pxe

Note:Такое странное имя выбрано не спроста. Если вы вспомните называлась виртуальная машина, то заметите что оно совпадает с ее именем. Это необходимо из-за того что VirtualBox обладает встроенными средствами автоконфигурации и загрузки по сети. Для того чтобы он нашел загрузчик, он должен называться имя машины.pxe.

Теперь можно попробовать включить виртуальную машину. Выберите ее в списке и нажмите старт. Если в результате вывелось что-то похожее
pxellinux load

значит VirtualBox нашел загрузчик и передал ему управление. Выключаем вируальную машину и переходим к сборке ядра. Для этого потребуется изменить локальную конфигурацию и один из файлов репозитория. Начнем с файла локальной конфигурации local.conf. Добавляем в него строку следующего вида:

FILESPATH =. "${TOPDIR}/conf/recipes/${PN}/${MACHINE}:"

Затем изменяем файл base.bbclass. Он находится в каталоге ~/stuff/openembedded/classes. Открывываем его, ищем строку начинающуюся с:

FILESPATH

удаляем.

Note: Эти действия необходимы для того чтобы конфигурация ядра бралась не из репозитория, а из определенного конфигурацией каталога.

Создаем каталог в котором будет находится файл конфигурации ядра:

mkdir -p ~/stuff/build/conf/recipes/linux/x86

Выкачиваем его:

cd ~/stuff/build/conf/recipes/linux/x86
wget http://openembedded.ru/wp-content/uploads/2009/01/defconfig

Далее собираем ядро. Для этого переходим в каталог ~/stuff/build и запускаем сборку ядра:

cd ~/stuff/build
export BBPATH="$HOME/stuff/build:$HOME/stuff/openembedded"
export PATH="$PATH:$HOME/stuff/bitbake/bin"
bitbake virtual/kernel

Сборка займет где-то полчаса-час в зависимости от мощности вашего компьютера. После ее завершения потребуется скопировать ядро в каталог ~/.VirtualBox/TFT, чтобы его смог найти загрузчик. Далее настроить загрузчик, так чтобы он грузил ядро и настроить NFS сервер, чтобы ядро смогло подключить корневую файловую систему. Начнем с ядра.

Ядро находится в каталоге ~/stuff/build/tmp/deploy/glibc/images/x86 и называется bzImage-x86.bin. Копируем его в ~/.VirtualBox/TFTP:

cd ~/.VirtualBox/TFTP
cp ~/stuff/build/tmp/deploy/glibc/images/x86/bzImage-x86.bin bzImage

Переходим к настройке загрузчика. Создаем каталог pxelinux.cfg (в нем загрузчик ищет файлы конфигурации):

mkdir ~/.VirtualBox/TFTP/pxelinux.cfg
cd ~/.VirtualBox/TFTP/pxelinux.cfg

Далее создаем файл конфигурации default следующего содержания:

prompt 0
default linux
timeout 5
 
label linux
kernel bzImage
append ip=dhcp root=/dev/nfs nfsroot=192.168.1.100:/var/lib/nfsroot

При этом:

  • 192.168.1.100 это ваш ip адрес (который настроен на вашем компьютере автоматически или в ручную)
  • /var/lib/nfsroot указывает где находится необходимая нам корневая файловая система.

Если вы сейчас попробуете загрузить виртуальную машину, то загрузчик найдет ядро и загрузит его. Ядро запустится, но не найдет корневую файловую систему и перейдет в kernel panic. Чтобы избежать этого необходимо установить и настроить nfs сервер.
Для установки запускаем команду:

sudo apt-get install nfs-kernel-server

затем настраиваем экспорт каталога, где будет находиться корневая файловая система, в /etc/exports. Для этого в файл exports требуется добавить строку следующего вида:

/var/lib/nfsroot        *(ro,insecure,all_squash,no_subtree_check)

В качестве каталога для корневой файловой системы я выбрал /var/lib/nfsroot. Его требуется создать и распаковать туда корневую файловую систему. Сделать это можно следующим образом:

sudo mkdir /var/lib/nfsroot
cd /var/lib/nfsroot
sudo tar -xvf ~/stuff/build/tmp/deploy/glibc/images/x86/helloworld-image-x86.tar

В результате каталог /var/lib/nfsroot будет содержать корневую файловую систему. Проверить все ли в порядке можно при помощи следующей команды:

$ ls -l
итого 4
drwxr-xr-x 2 root root   17 Дек 31 00:50 bin
drwxr-xr-x 2 root root 4096 Дек 31 00:50 dev
drwxr-xr-x 3 root root   42 Дек 31 00:50 etc
drwxr-xr-x 4 root root   26 Дек 31 00:50 usr

Если вы получили аналогичный вывод значит все в порядке.
Запускаем nfs сервер:

sudo /etc/init.d/nfs-kernel-server start

Теперь сновая запускаем виртуальную машину. После того как она включится, должен будет запустится загрузчик, затем он запустит ядро, а ядро подключит по nfs корневую файловую систему и запустит /bin/init который является символической ссылкой на программу helloworld. И в результате вы должны увидеть вот такую картину:
openembedded booted

Если вы ее видите, то поздравляю вас. Вы собрали первый дистрибутив на базе OpenEmbedded!
А в следующий раз я расскажу как собрать систему состояющую не только из helloworld.

Рубрика: Практика | Теги: , , , комментариев 49 »

комментариев 49 к “Здравствуй, мир! Запуск.”

  1. Собираем собственный дистрибутив Embedded Linux на базе OpenEmbedded | Mobile Developer - Программирование для мобильных устройств

    […] PS: Оригинальные версии использованных материалов: Здравствуй, Мир! Сборка, Здравствуй, Мир! Запуск. […]

  2. desterman.livejournal.com/

    не собирается =(
    при сборке собственно ядра вываливает кучу ошибок

  3. norguhtar

    Покажите ошибки для начала.

  4. desterman.livejournal.com/

    http://paste.org/4842

  5. norguhtar

    поставьте linux-headers
    sudo apt-get install linux-headers-`uname -r`

  6. desterman.livejournal.com/

    уже установлены

  7. norguhtar

    В таком случае проверьте есть ли в каталоге /usr/include/linux файл limits.h. Если его нет, поставьте linux-headers по новой.

  8. desterman.livejournal.com/

    файл есть; заголовки на всякий случай переставил, но безрезультатно

  9. norguhtar

    В таком случае запустите:
    bitbake -DDD -c rebuild virtual/kernel

  10. desterman.livejournal.com/

    не помогло

  11. norguhtar

    Покажите вывод. -DDD флаг указывает на включение debug. Мне надо увидеть где у вас происходит ошибка. В этом случае еще показывается откуда компилятор пытается брать заголовки.

  12. desterman.livejournal.com/

    http://dest.figvam.ru/blog/wp-content/uploads/2009/01/log.txt

  13. kurtis99

    1. Была точно такая же проблема. Нужно просто в файле ../scripts/mod/sumversion.c подключить заголовок . У меня через поиск нашлось 3 таких файла, с 2-мя было все в порядке — заголовок был подключен ( ядро 2.6.23 ), ну а в 3-м его небыло ( ядро 2.26.21 ).
    2. Непонятка получилась с defconfig, если б в конце статьи на «mobile-developer.ru» не было указано где его брать, то я бы еще очень долго проект собирал бы=)

    З.Ы. Спасибо за очень полезный и интересный материал, с нетерпение жду продолжения!=)

  14. norguhtar

    1. Я собирал без этих изменений. Поэтому и хочу разобраться что за пакет надо установить чтобы собралось.

    2. Эммм. В статье прямо указано откуда его качать :)

    Еще будет как только разберусь почему может не собираться :)

  15. desterman.livejournal.com/

    добавил #include в sumverion.c и всё собралось =)
    спасибо!

  16. Maksim Galemin

    Отличная статья! С нетерпением жду продолжения. Спасибо за Ваш труд!

  17. dimafon

    При сборке выдает ошибки:

    ar: glibc-2.6.1/sysdeps/unix/clock_settime.c: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/s-proto-cancel.S: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/getpagesize.c: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/setxid.h: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/syscall.S: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/Implies: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/dirfd.c: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/system.c: Cannot open: No such file or directory
    tar: glibc-2.6.1/sysdeps/unix/clock_gettime.c: Cannot open: No such file or directory
    tar: Error exit delayed from previous errors
    NOTE: Task failed:
    ERROR: TaskFailed event exception, aborting
    ERROR: Build of /home/dima/stuff/openembedded/recipes/glibc/glibc-initial_2.6.1.bb do_unpack failed
    ERROR: Task 465 (/home/dima/stuff/openembedded/recipes/glibc/glibc-initial_2.6.1.bb, do_unpack) failed
    NOTE: Tasks Summary: Attempted 162 tasks of which 0 didn’t need to be rerun and 1 failed.
    ERROR: ‘/home/dima/stuff/openembedded/recipes/glibc/glibc-initial_2.6.1.bb’ failed

  18. norguhtar

    У вас возникает ошибка распаковки. Такая ошибка может возникать если у вас или нехватает места на диске или неверно выставлены права на каталоги используемые при сборке.

  19. dimafon

    После сборки не обнаружил файловой системы.

    dima@dima-desktop:~/stuff/build/tmp/deploy/glibc/images/x86$ ls -l
    итого 672
    -rw-r—r— 1 dima dima 682848 2009-06-09 21:04 bzImage-2.6.29+2.6.30-rc5-r1-x86.bin
    lrwxrwxrwx 1 dima dima 36 2009-06-09 21:04 bzImage-x86.bin -> bzImage-2.6.29+2.6.30-rc5-r1-x86.bin

  20. dimafon

    Нашел FS здесь: ~/stuff/tmp/deploy/glibc/images/x86/helloworld-image-x86.tar

    Прошу прощения, видимо был не внимателен.

  21. dimafon

    Почему то FS получилась больше, чем у Вас.

    dima@dima-desktop:/var/lib/nfsroot$ ls -l
    итого 24
    drwxr-xr-x 2 root root 4096 2009-06-08 20:14 bin
    drwxr-xr-x 2 root root 4096 2009-06-08 20:13 dev
    drwxr-xr-x 14 root root 4096 2009-06-08 20:14 etc
    drwxr-xr-x 3 root root 4096 2009-06-08 20:14 lib
    drwxr-xr-x 2 root root 4096 2009-06-08 20:14 sbin
    drwxr-xr-x 7 root root 4096 2009-06-08 19:55 usr
    dima@dima-desktop:/var/lib/nfsroot$

  22. norguhtar

    Собственно и что? :)

  23. dimafon

    Очень долго поднимается «Здравствуй, мир!»

    Скажите пожалуйста в стаье «Здравствуй, мир! Сборка.» запуск сборки
    коммандой bitbake helloworld-image выполняется из каталога ~/stuff ??

  24. norguhtar

    Лучше из ~/stuff/build, но и из ~/stuff тоже можно. Только учтите что в качестве каталога сборки используется каталог tmp относительно вашего текущего каталога. Сборка идет долго поскольку собирается инструментарий для кросс-компиляции.

  25. dimafon

    Спасибо! Я понял.

  26. fp

    в файле base.bbclass отсутствует строка начинающаяся с FILESPATH

  27. fp

    Единственное что нашел только вот это
    filespath = bb.data.getVar(«FILESPATH», data, 1).split(«:»)

  28. norguhtar

    Уже не требуется это делать, переменную вынесли из base.bbclass

  29. fp

    спасибо!

  30. fp

    И еще вопрос зачем еще раз компилировать ядро если оно если оно создается при сборки файловой системы? спасибо за ответ

  31. norguhtar

    Потому что изменен конфигурационный файл ядра. Конфиг ядра по умолчанию не поддерживает загрузку по сети.

  32. dem

    У меня почему-то не выводиться Hello, world! :(
    Ядро грузиться, но после:
    VFS: Mounted root (nfs filesystem) readonly on device 0:15.
    Freeing unused kernel memory: 276k freed
    nfs: server 192.168.1.2 not responding, still trying
    nfs: server 192.168.1.2 not responding, still trying

    default pxeconfig:
    prompt 0
    default linux
    timeout 5

    label linux
    kernel bzImage
    append ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/home/dem/work/openembedded/nfsroot

    /etc/exports:
    /home/dem/work/openembedded/nfsroot *(ro,insecure,all_squash,no_subtree_check)

    По nfsstat и выводу видно, что клиент подключился и обменивается данными. Где собака зарыта пока никак понять не могу.

    ПС. Файерволл отключен. С корневой файловой системой тоже вроде все нормально. Использован самый свежий снимок openembedded. Хостовая ОС — Opensuse 11.1.
    wbr.

  33. norguhtar

    А включен ли у вас portmap?

  34. dem

    Демон portmap работает.
    Checking for RPC portmap daemon: ..running.

    ПС Частично я эту проблему решил, если так можно сказать. Начал использовать qemu, точнее qemu-system-i386. Предварительно указав чтобы создавался и образ ext3.
    qemu-system-i386 -m 512 -kernel tmp/deploy/glibc/images/x86/bzImage-2.6.30-r1-x86.bin -drive file=tmp/deploy/glibc/images/x86/helloworld-image-x86.ext3 -append «root=/dev/hda»

  35. norguhtar

    У меня такое бывало, но перезагрузка виртуальной машины решала проблему.

  36. dem

    Забыл сказать, что при первоначальном старте nfs сервера происходит ошибка записи:
    Starting kernel based NFS server:/etc/init.d/nfsserver: line 173: echo: write error: Device or resource busy
    mountd statd nfsd sm-notify done

    Код на этой строке:
    echo «+2 +3 -4» > /proc/fs/nfsd/versions

    После страта хотя все нормально:
    cat /proc/fs/nfsd/versions
    +2 +3 -4

    При перезапуске такое не происходит. Может быть это и не суть важно и не имеет отношения к моим проблемам.

  37. dem

    Выдался денек и я решил все-таки добить свою проблему с nfs.
    man nfs и {исходники linux}\Documentation\filesystems\nfsroot.txt были мне в помощь.
    Проблема была в том, что при попытке доступа к корневой ФС через nfs все вешалось с сообщениями вида
    nfs: server 192.168.1.2 not responding, still trying.
    При этом если монтировать и использовать ФС на хостовой ОС все работает превосходно.

    Удалось таки добиться перехода к init у меня с такими параметрами ядра (append в pxeconfig/default): root=/dev/nfs nfsroot=192.168.1.2:/home/dem/work/openembedded/nfsroot,proto=tcp ip=dhcp.
    Кроме того (для тех кто будет собирать base-image) в /home/dem/work/openembedded/nfsroot/etc/fstab для монтирования корня: 192.168.1.2:/home/dem/work/openembedded/nfsroot / nfs rw,proto=tcp 0 0.
    Т.е. добавился ключ proto, задающий тип транспортного протокола используемого для обмена про протоколу nfs. По умолчанию осуществляется попытка соединения по udp, которая у меня и приводила к проблемам, хотя по rpcinfo -p 192.168.1.2 сервер принимает соединения как по udp, так и по tcp. Монтирование и использование корневой ФС по транспортному протоколу udp на хостовой ОС проходит нормально. Очень похоже на баг ntf-utils(?). Текущая версия, используемая в openembedded — 1.1.2-r4.

    Самое главное, что теперь все работает :)

  38. m039

    Тыкс, попробовал собрать. Что-то не все так гладко как в статье. Несколько нюансов я бы добавил:

    Распараллеливание bitbake и make, измените переменные PARALLEL_MAKE и BB_NUMBER_THREADS в build/conf/local.conf , если хотите ускорить сборку.

    При компиляции проекта gettext-native вылезла ошибка undefined reference gzopen64, решается скармливанием компилятору пути к библиотеке zlib. Просто добавить сточку «LDFLAGS+=-lzlib» в openembedded/recipes/gettext/gettext-native_0.17.bb.

    Не помню, как выглядит ошибка, но ядро не может найти карточку виртуалбокса. Решается правкой в openembedded/recipes/linux/linux/x86/defconfig переменной CONFIG_PCNET32=y. По моему, оно собиралось в модуль, но модулей ядро не видит, а с этим я еще не научился бороться.

    И последнее, что встало на пути, это не видит nfs как блочное устройство, т.е. «unable to mount …», решается включением опять же в ядро нфс переменной CONFIG_ROOT_NFS=y.

    Лучше увеличить значение PR в файле openembedded/recipes/linux/linux_2.6.31.bb перед компиляцией.

    Уффф.. и последнее, сервер начал выдавать ошибку -93, решение находится гуглением, что-то вроде этого:
    append init=/sbin/init root=/dev/nfs rw nfsroot=/srv/home,v3,tcp,rsize=32768,wsize=32768 ip=dhcp noapic acpi=off

    Работаит! И ни какого шаманства..:)

  39. Cthutq

    У меня грузится вот с такой строкой:
    append ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/var/lib/nfsroot/ init=/bin/init

    если не добавлять init=/bin/init, то ишет

    INIT: cannot execute «/etc/init.d/rcS»

    Большое спасибо автору за статьи!

  40. Alexar

    Собираю в Ubuntu запущенной в virtualbox. Жесткий диск 18 гигов.
    Проблема в следующем: во время настройки ядра (bitbake virtual/kernel запущен из каталога ~/stuff/build) заканчивается свободное место. Заново все пересобирать неохота. Можно ли удалить ~/stuff/tmp ? Эта папка возникла в ходе выполнения команды bitbake helloworld-image (команду запускал из ~/stuff).
    Может можно как-то еще раздобыть свободного места не начиная все с нуля?

  41. arkanoid

    | gcc -isystem/home/ark/Work/openembedded/build/tmp/sysroots/x86_64-linux/usr/include -O2 -g -Wunused -Wall -static -L/home/ark/Work/openembedded/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/home/ark/Work/openembedded/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/home/ark/Work/openembedded/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-O1 -o insmod.static insmod.o
    | /usr/bin/ld: cannot find -lc
    | collect2: ld returned 1 exit status
    | make: *** [insmod.static] Error 1
    | FATAL: oe_runmake failed

    P.S. wordpress нихрена не дружит с ЖЖшным openid.

  42. petrovs

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

  43. petrovs

    сделал тоже самое но для arm, собрал стандартное ядро и рутфс, удовлетворения нет, т.к. не понял что и как работает, и почему работает именно так. много вопросов без ответов =(

  44. Олег

    При настройке VirtualBox возникла проблема.
    Установил программу, создал вирт.машину openembedded, настроил на загрузку из сети. Установил syslinux и скопировал файл openembedded.pxe в каталог TFTP. Наименования файлов и вирт.машины совпадают.
    Но при попытке запутстить вирт.машину пишет:
    FATAL: Could not read from the boot medium! System halted.

  45. norguhtar

    Посмотрите какой у вас стоит источник загрузки.

  46. Олег

    С того момента как писалась статья, система меню в VirtualBox немного изменилась: «Свойства» -> «Система» -> «Материнская плата» и в появившемся списке «Порядок загрузки» пункт «сеть» с включённой галочкой у меня стоит выше остальных пунктов.
    А может надо как-то по хитрому настроить сетевой адаптер ?

  47. Олег

    Проблема решена. Требуется дополнительно установить Oracle VM VirtualBox Extension Pack.
    Ссылка, где это добро можно найти:
    http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html#extpack
    Но всё равно Спасбо Большое !!!

  48. Олег

    После дооолгого ожидания в половину дня компиляция всё таки завершилась, приустпил к настройке NFS сервера, но вот незадача:
    ~/stuff/build/tmp/deploy/glibc/images/x86/helloworld-image-x86.tar
    по такому пути архива нет, а вот там:
    ~/stuff/build/tmp/deploy/eglibc/images/x86/
    лежат три файла:
    bzImage-3.0-r0-x86.bin
    bzImage-x86.bin
    modules-3.0-r0-x86.tgz
    я что-то сделал не так ?

    P.S. эксперемент веду на Fedora 14. Но не думаю, что в данном случае это как-то влияет.

  49. Иван

    Столкнулся с такой вот проблеммой при сборке hello-world.
    продвинуться дальше никак не получается…
    ————————————
    ivan@ivan-VirtualBox:~/stuff$ bitbake helloworld-image
    NOTE: Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance.
    NOTE: Handling BitBake files: — (7198/7198) [100 %]
    Parsing of 7198 .bb files complete (6752 cached, 446 parsed). 7518 targets, 336 skipped, 0 masked, 0 errors.

    Build Configuration:
    BB_VERSION = «1.10.2»
    METADATA_BRANCH = «org.openembedded.dev»
    METADATA_REVISION = «6c3adf2»
    TARGET_ARCH = «i486»
    TARGET_OS = «linux»
    MACHINE = «x86»
    DISTRO = «angstrom»
    DISTRO_VERSION = «v2011.10»

    NOTE: Resolving any missing task queue dependencies
    NOTE: Preparing runqueue
    NOTE: Executing runqueue
    NOTE: Running task 77 of 804 (ID: 280, /home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb, do_configure)
    NOTE: package libtool-native-2.4-r28.1: task do_configure: Started
    ERROR: TaskFailed event exception, aborting
    ERROR: Build of /home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb do_configure failed
    ERROR: Task 280 (/home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb, do_configure) failed with 256
    ERROR: ‘/home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb’ failed
    ERROR: Function do_configure failed
    NOTE: Task failed: (‘function do_configure failed’, ‘/home/ivan/stuff/tmp/work/i686-linux/libtool-native-2.4-r28.1/temp/log.do_configure.30070′)
    ERROR: Logfile of failure stored in: /home/ivan/stuff/tmp/work/i686-linux/libtool-native-2.4-r28.1/temp/log.do_configure.30070
    Log data follows:
    | autoreconf: Entering directory `.’
    | autoreconf: configure.ac: not using Gettext
    | autoreconf: running: aclocal -I /home/ivan/stuff/tmp/work/i686-linux/libtool-native-2.4-r28.1/libtool-2.4/tests/ -I /home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal-1.11 -I /home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal -I /home/ivan/stuff/tmp/work/i686-linux/libtool-native-2.4-r28.1/libtool-2.4/tests/ -I /home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal-1.11 -I /home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal —force -I libltdl/m4
    | autoreconf: configure.ac: tracing
    | autoreconf: running: /home/ivan/stuff/tmp/sysroots/i686-linux/usr/bin/autoconf —include=/home/ivan/stuff/tmp/work/i686-linux/libtool-native-2.4-r28.1/libtool-2.4/tests/ —include=/home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal-1.11 —include=/home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal —force —warnings=cross
    | autoreconf: running: /home/ivan/stuff/tmp/sysroots/i686-linux/usr/bin/autoheader —include=/home/ivan/stuff/tmp/work/i686-linux/libtool-native-2.4-r28.1/libtool-2.4/tests/ —include=/home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal-1.11 —include=/home/ivan/stuff/tmp/sysroots/i686-linux/usr/share/aclocal —force —warnings=cross
    | autoreconf: running: automake —foreign —add-missing —copy —force-missing —warnings=cross
    | automake: unknown warning category `cross’
    | autoreconf: running: gnu-configize
    : No such file or directory
    | autoreconf: gnu-configize failed with exit status: 127
    | FATAL: autoreconf execution failed.
    | ERROR: Function do_configure failed
    NOTE: package libtool-native-2.4-r28.1: task do_configure: Failed
    ERROR: TaskFailed event exception, aborting
    ERROR: Build of /home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb do_configure failed
    ERROR: Task 280 (/home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb, do_configure) failed with 256
    ERROR: ‘/home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb’ failed
    ERROR: ‘/home/ivan/stuff/openembedded/recipes/libtool/libtool-native_2.4.bb’ failed


Прокоментировать



 

Наверх