Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Strijar (Guest)
Добавлено 10.12.2008 21:53 Редактировалось 10.12.2008 21:53 Сообщение: 11
Strijar (Guest)

Цитата
rootfs получается ~11 мб, ядро ее не похватывает, может поэтому...


Ядро может его не подхватывать если само ядро большое - u-boot при копировании/распаковки ядра затирает начало rootfs. Я с этим тоже долго разбирался пока не расписал все области памяти которые используются.

А что у вас за плата? Куда вы заливаете 11мб root?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно Strijar 10.12.2008 г. в 21:54:48
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 10.12.2008 22:07 Редактировалось 10.12.2008 22:07 Сообщение: 12
repairman (Guest)

Цитата
А что у вас за плата? Куда вы заливаете 11мб root?


Subj... туда и заливаю... это распакованный образ... т.е. дополнительной памяти на распаковку не требуется... хотя, пробовал и так и эдак... Исходя из того, что с залитым rootfs от SK остается ~20 mb ram free, проблем с +10 mb rootfs IMHO быть не должно...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 10.12.2008 г. в 22:11:33
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 12.12.2008 09:55 Редактировалось 12.12.2008 09:55 Сообщение: 13
starterkit (Guest)

Решил на новой плате собрать корневуху с помощью builroot.
Спасибо sasamy за инструктаж:
Цитата
1 качаем архив с текущим снапшотом buildroot здесь (я собирал на buildroot-20081209.tar.bz2)
http://buildroot.uclibc.org/downloads/snapshots/
2 распаковываем архив там где будет производиться сборка
3 копируем в корень рабочей директории мой конфиг
4 выполняем make menuconfig - как для ядра, если ничего добавлять или менять не надо то сразу выходите (но выполнить все равно это нужно чтобы актуализировать конфиг под текущий срез buildroot). В моем конфиге toolchain находится в директории /usr/arm - если у вас в другом месте - указываете это в меню Toolchain ---> External toolchain path
5 make - система сама скачает все необходимые исходники и соберет готовую rootfs
6 идем в директорию рабочая директория/project_build_arm/madplay/root - это _готовая rootfs_ осталось только исправить /etc и /dev (добавить /dev/dsp) и добавить модули от ядра для кардридера (если модулем собрано) и сделать запакованый имидж вашим скриптом - думаю разберетесь с этим
7 положить имидж rootfs в директорию tftp сервера и залить в dataflash (run tftp_boot или tftp_update на усмотрение :)

После распаковки/копирования, при make menuconfig сразу "получил гранату", оболочка начинает себя собирать в вечном цике, потом обратил внимание на ругань о времени создания makefile.
1) Итак, момент номер один, может быть актуален для всех кто собирает систему из под VMware. Дело в системных часах (которые могут на года отставать от текущей даты) и будут отставать в последствии (если принудительно их подводите) из-за "паузы" в выключеном состоянии. Поэтому обращайте внимание на даты любых исходников которые пытаетесь собрать, а в "важные" моменты сборки подведите системные часы до реального состояния, меньше проблем будет.

Еще я не понял:
Цитата
... как для ядра, если ничего добавлять или менять не надо то сразу выходите ...
Там ведь в "голом" виде нет ядра, соответственно и конфигурить нечего, или его руками положить можно/нужно?

Далее, теперь предстоит разобраться с сетью, т.к. buildroot самостоятельно скачивает необходимые исходники. В поставляемом виде машины VMware настроена на работу с локальной сетью 192.168.0.ххх (ее IP 192.168.0.2), но для выхода в интернет этого не достаточно. По идее, достаточно в свойствах соединения (через которое Вы с интернетом коннектитесь) ткнуть галку "Разрешить други пользователям сети ..." и из ниспадающего списка сетей выбрать локалку в которую входи VMware машина.
Но, пока у меня что то фокус не вышел, винда сама меняет IP моей сетевухи на 192.168.0.1 (этот адрес прописан в VMware как основной шлюз), но пинги из VMware не ходят, причем DNS явно работает т.к. IP внешних серверов определяется верно, фаирвол отключен, ну и buildroot соответственно то же не может ничего скачать:
Код
[user@armmaker buildroot]$ make
toolchain/dependencies/check-host-sed.sh: line 13: .sedtest: No such file or directory
cat: .sedtest: No such file or directory
toolchain/dependencies/check-host-sed.sh: line 13: .sedtest: No such file or directory
cat: .sedtest: No such file or directory
toolchain/dependencies/check-host-sed.sh: line 13: .sedtest: No such file or directory
cat: .sedtest: No such file or directory
toolchain/dependencies/check-host-sed.sh: line 13: .sedtest: No such file or directory
cat: .sedtest: No such file or directory
mkdir -p /home/user/src/Buildroot/buildroot/dl
wget --passive-ftp -nd -P /home/user/src/Buildroot/buildroot/dl "http://ftp.gnu.org/pub/gnu"/sed/sed-4.1.5.tar.gz
--21:57:03-- http://ftp.gnu.org/pub/gnu/sed/sed-4.1.5.tar.gz
=> `/home/user/src/Buildroot/buildroot/dl/sed-4.1.5.tar.gz'
Преобразование адреса ftp.gnu.org... 140.186.70.20
Установка соединения с ftp.gnu.org[140.186.70.20]:80... failed: Connection timed
out.


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно starterkit 12.12.2008 г. в 10:12:54
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 12.12.2008 12:32 Редактировалось 12.12.2008 12:32 Сообщение: 14
sasamy (Guest)

>как для ядра

Имелось в виду команда в корне рабочей папки
#make menuconfig
такя же как при сборке ядра - ничего более :) В buildroot система сборки скопирована с исходников ядра. Конфиг имеет вид
.config - тоже как у ядра.
После #make menuconfig соберется конфигуратор в виде диалогового окна где можно выбирать нужные опции сборки. Если ничего не нужно менять выбираем Exit внизу.
Если не удастся настроить сеть в vmware - можно создать директорию dl в рабочей директории и положить туда заранее скачанные исходники- версии будут зависеть от даты buildroot, они автоматом обнаружатся системой сборки. Вот то что требуется для моего конфига:
Цитата
bash-3.2# cd /home/sasa/SAM9/buildroot
bash-3.2# ls dl
busybox-1.13.1.tar.bz2 libid3tag-0.15.1b.tar.gz zlib-1.2.3.tar.bz2
fakeroot_1.9.5.tar.gz libmad-0.15.1b.tar.gz
genext2fs-1.4.tar.gz madplay-0.15.2b.tar.gz

Мой конфиг собирает только основные утилиты без ядра - если нужно то можно настроить что автоматом будет собираться и ядро и u-boot и даже bootstrap помоему тоже можно - в данном случае нам это не нужно и я отключил в конфиге.
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 12.12.2008 13:32 Редактировалось 12.12.2008 13:32 Сообщение: 15
starterkit (Guest)

Спасибо, сейчас попробую.
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 12.12.2008 13:56 Редактировалось 12.12.2008 13:56 Сообщение: 16
sasamy (Guest)

>wget --passive-ftp -nd -P /home/user/src/Buildroot/buildroot/dl "http://ftp.gnu.org/pub/gnu"/sed/sed-4.1.5.tar.gz

Странно - куда это он полез... sed установлен на хостситеме ? Надеюсь мой конфиг лежит в директории /home/user/src/Buildroot/buildroot/.config ?
#ls -l /home/user/src/Buildroot/buildroot/.config
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 12.12.2008 14:08 Редактировалось 12.12.2008 14:08 Сообщение: 17
starterkit (Guest)

.config лежит, sed-4.1.5.tar.gz я тоже скачал и положил, только вот на madplay остановилась сборка
Цитата
/usr/local/bin/arm-none-linux-gnueabi-strip --remove-section=.comment --remove-section=.note --strip-unneeded /home/user/src/Buildroot/buildroot/project_build_arm/madplay/root/usr/bin/madplay
rm -rf /home/user/src/Buildroot/buildroot/project_build_arm/madplay/root/usr/include /home/user/src/Buildroot/buildroot/project_build_arm/madplay/root/usr/lib/pkgconfig
find /home/user/src/Buildroot/buildroot/project_build_arm/madplay/root/usr/lib -name '*.a' -delete
find: неверный предикат `-delete'
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 12.12.2008 14:25 Редактировалось 12.12.2008 14:25 Сообщение: 18
sasamy (Guest)

#find --version
что говорит на хостсистеме ? у меня
Цитата
bash-3.2# find --version
find (GNU findutils) 4.4.0
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Eric B. Decker, James Youngman, and Kevin Dalley.
Built using GNU gnulib version e5573b1bad88bfabcda181b9e0125fb0c52b7d3b
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS() CBO(level=0)
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 12.12.2008 14:25 Редактировалось 12.12.2008 14:25 Сообщение: 19
starterkit (Guest)

Странно, убрал madplay из сборки (причем пришлось именно в .config закомментарить), такая же ошибка теперь с busybox:
Цитата
make[1]: Leaving directory `/home/user/src/Buildroot/buildroot/project_build_arm/busybox-1.13.1'
# Just in case
chmod a+x /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/share/udhcpc/default.script
mkdir -p /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/lib
cp -dpf /home/user/src/Buildroot/buildroot/build_arm/staging_dir/usr/lib/libz.so* /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/lib
/usr/local/bin/arm-none-linux-gnueabi-strip --remove-section=.comment --remove-section=.note --strip-unneeded /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/lib/libz.so
touch -c /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/lib/libz.so
rm -rf /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/include /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/lib/pkgconfig
find /home/user/src/Buildroot/buildroot/project_build_arm//root/usr/lib -name '*.a' -delete
find: неверный предикат `-delete'
make: *** [target-devfiles] ошибка 1
Интресно, это "...project_build_arm//root..." как птнимать?
Может еще какие-нибудь конфиги еще перед сборкой надо делать ...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно starterkit 12.12.2008 г. в 14:27:44
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 12.12.2008 14:28 Редактировалось 12.12.2008 14:28 Сообщение: 20
sasamy (Guest)

Да - что то не так видимо с парсером и скорей всего с sed - установите его на хост системе через систему установки пакетов (из rpm). Вместо // должно быть /madplay/ - если это мой неизмененный конфиг - вы не меняли там ничего ?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 12.12.2008 г. в 14:34:23
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Embedded Linux