ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Buidroot  (Прочитано 7566 раз)

0 Пользователей и 1 Гость просматривают эту тему.

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Buidroot
« : 14 Июля, 2010, 13:04:30 »

Обновление:
http://www.zao-zeo.ru/media/files/rootfs/buildroot/buildroot-2009.08_20100713.tar.gz

Конфигурации и файлы для PXA270 и EP93xx теперь в одном архиве.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Buidroot
« Ответ #1 : 16 Августа, 2010, 16:24:42 »

В патче из этого архива в local/tion270/tion270.config указана консоль на ttyS2:

# BR2_TARGET_GENERIC_GETTY_TTYS0 is not set
# BR2_TARGET_GENERIC_GETTY_TTYS1 is not set
BR2_TARGET_GENERIC_GETTY_TTYS2=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS2"

Для консоли на разъёме DB9 (ttyS0)

BR2_TARGET_GENERIC_GETTY_TTYS0=y
# BR2_TARGET_GENERIC_GETTY_TTYS1 is not set
# BR2_TARGET_GENERIC_GETTY_TTYS2 is not set
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"

Или через make menuconfig
« Последнее редактирование: 17 Августа, 2010, 15:20:47 от asv »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Buidroot
« Ответ #2 : 19 Августа, 2010, 12:04:00 »

Записан

maksim

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Buidroot
« Ответ #3 : 01 Ноября, 2010, 13:50:05 »

День добрый!
При сборке КФС для Тион-про 270 вылетает с ошибкой в самом конце, при создании root.jffs2:

Цитировать
rootdir=/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root
table='target/generic/device_table.txt'
/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2: line 3: 24767 Аварийный останов         /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/toolchain_build_arm/mtd_orig/mkfs.jffs2 -e 0x40000 -p -l -s 0x1000 -D target/generic/device_table.txt -d /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root -o /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2.nosummary
make: *** [/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2] Ошибка 134

Делал как указано у Вас, buildroot скачивал и гитом с вашего URL, и брал оригинальный и пропачивал - вылет в этом месте.
Подскажите - как исправить ситуацию, опыта маловато самому разобраться, заранее спасибо.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Buidroot
« Ответ #4 : 01 Ноября, 2010, 14:19:03 »

Приведите
1. Полный лог:
make BOARD=tion270 2>&1 | tee log

2. Файл local/tion270/tion270.config
Записан

maksim

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Buidroot
« Ответ #5 : 01 Ноября, 2010, 15:40:15 »

лог:

Цитировать
Checking build system dependencies:
BUILDROOT_DL_DIR clean:                         Ok
CC clean:                                       Ok
CXX clean:                                      Ok
CPP clean:                                      Ok
CFLAGS clean:                                   Ok
INCLUDES clean:                                 Ok
CXXFLAGS clean:                                 Ok
which installed:                                Ok
sed works:                                      Ok (/bin/sed)
GNU make version '3.81':                        Ok           
C compiler '/usr/bin/gcc'                                   
C compiler version '4.3.2':                     Ok           
C++ compiler '/usr/bin/g++'                                 
C++ compiler version '4.3.2':                   Ok           
awk installed:                                  Ok           
bash installed:                                 Ok           
bison installed:                                Ok           
flex installed:                                 Ok           
gettext installed:                              Ok           
makeinfo installed:                             Ok           
Build system dependencies:                      Ok           

rm -rf /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/buildroot-config
mkdir -p /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270               
cp -dpRf package/config/buildroot-config /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/buildroot-config
rm -rf /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/include /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/lib/pkgconfig                                                                                           
find /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/lib \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f                                                                                                                                                   
find /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/lib \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f                                                                                                                                               
rm -rf /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/man /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/share/man                                                                                                   
rm -rf /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/info /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/usr/share/info                                                                                                 
find /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root -type f -perm +111 | xargs /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-strip --remove-section=.comment --remove-section=.note 2>/dev/null || true                                                                                                                                                     
/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-ldconfig -r /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root 2>/dev/null                                                                                 
sh "local/finalize.sh" /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root                                         

Copying files from local/tion270

Removing files and dirs specified in local/tion270/remove.list
/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/toolchain_build_arm/bin/sed -i -e '/# GENERIC_SERIAL$/s~^.*#~ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 #~' \                                                                                                                                   
                /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root/etc/inittab                                     
# Use fakeroot to pretend all target binaries are owned by root                                                                                       
rm -f /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2                                     
touch /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/.fakeroot.00000                                               
cat /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/.fakeroot* > /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2                                                                                               
echo "chown -R 0:0 /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root" >> /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2                                                                                     
# Use fakeroot to pretend to create all needed device nodes                                                                                           
echo "/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/host_dir/usr/bin/makedevs -d target/generic/device_table.txt /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root" \                                                                               
                >> /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2                         
# Use fakeroot so genext2fs believes the previous fakery                                                                                               
GENEXT2_REALSIZE=`LC_ALL=C du -s -c -k /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root | grep total | sed -e "s/total//"`; \                                                                                                                                           
        GENEXT2_ADDTOROOTSIZE=`if [ $GENEXT2_REALSIZE -ge 20000 ]; then echo 16384; else echo 2400; fi`; \                                             
        GENEXT2_SIZE=`expr $GENEXT2_REALSIZE + $GENEXT2_ADDTOROOTSIZE`; \                                                                             
        GENEXT2_ADDTOINODESIZE=`find /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root | wc -l`; \               
        GENEXT2_INODES=`expr $GENEXT2_ADDTOINODESIZE + 400`; \                                                                                         
        set -x; \                                                                                                                                     
        echo "/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/genext2fs-1.4/genext2fs -b $GENEXT2_SIZE " \                           
                "-N $GENEXT2_INODES -d /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root " \                     
                " -U -m 0 /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.ext2" >> /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2
+ echo '/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/genext2fs-1.4/genext2fs -b 9888 ' '-N 1185 -d /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root ' ' -U -m 0 /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.ext2'
chmod a+x /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2
/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/host_dir/usr/bin/fakeroot -- /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.ext2
rootdir=/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root
table='target/generic/device_table.txt'
-rw-r--r-- 1 maksim maksim 10125312 2010-11-01 15:16 /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.ext2
# Use fakeroot to pretend all target binaries are owned by root
rm -f /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
touch /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/.fakeroot.00000
cat /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/.fakeroot* > /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
echo "chown -R 0:0 /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root" >> /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
# Use fakeroot to pretend to create all needed device nodes
echo "/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/host_dir/usr/bin/makedevs -d target/generic/device_table.txt /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root" \
                >> /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
# Use fakeroot so mkfs.jffs2 believes the previous fakery
echo "/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/toolchain_build_arm/mtd_orig/mkfs.jffs2 -e 0x40000 -p -l -s 0x1000 -D target/generic/device_table.txt -d /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root -o /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2.nosummary && " \
                "/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/toolchain_build_arm/mtd_orig/sumtool -e 0x40000 -p -l -i /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2.nosummary -o /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2 && " \
                "rm /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2.nosummary" \
                >> /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
chmod a+x /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/build_arm/host_dir/usr/bin/fakeroot -- /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2
rootdir=/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root
table='target/generic/device_table.txt'
/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/_fakeroot.rootfs.arm.jffs2: line 3:  8512 Аварийный останов         /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/toolchain_build_arm/mtd_orig/mkfs.jffs2 -e 0x40000 -p -l -s 0x1000 -D target/generic/device_table.txt -d /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root -o /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2.nosummary
make: *** [/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2] Ошибка 134

Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Buidroot
« Ответ #6 : 01 Ноября, 2010, 17:00:35 »

Похоже, что собранная Buldroot'ом mkfs.jffs2 или sumtool в вашей системе катастрофически не работает.

Простой выход такой:
1. Отключить в Buildroot создание jffs2
В make menuconfig
Target filesystem options / [ ] jffs2 root filesystem

2. Создавать образ jffs2 утилитой mkfs.jffs2 из вашего дистрибутива из примонтированного образа ext2 с параметрами, которые можно взять из log'а

Возможно дело только в sumtool, попробуйте отключить
Target filesystem options / [ ]   Produce a summarized JFFS2 image

Более сложный выход -- перейти на mtd-utils поновее.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Buidroot
« Ответ #7 : 01 Ноября, 2010, 17:15:19 »

Ещё простой вариант, взять собранные mkfs.jffs2 и sumtool из дистрибутива или из того Buildroot'а в котором у вас создаётся jffs2 и скопировать их в buildroot-2009.08/toolchain_build_arm/mtd_orig
Записан

maksim

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Buidroot
« Ответ #8 : 02 Ноября, 2010, 11:46:53 »

Вы правы, проблема в моей Mandrive. В наборе пакетов отсутствует mtd-utils.
Замена mkfs.jffs2 из buildroot-2010.08 ситуацию не изменила, сборка образа завершается с ошибкой.
Покопался в инете и обнаружил описание почти аналогичной проблемы у человека с Mandriva-2010 PowerPack, правда собирал он образ для Enigma2. Он решил проблему заменой mkfs.jffs2, взятой по ссылке ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2
По Вашему совету также заменил mkfs.jffs2 и собрал rootfs.jffs2. Правда при этом было получено сообщение от mkfs.jffs2:
Цитировать
rootdir=/home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/root
table='target/generic/device_table.txt'
mkfs.jffs2: skipping device_table entry '/dev': no parent directory!
mkfs.jffs2: skipping device_table entry '/tmp': no parent directory!
mkfs.jffs2: skipping device_table entry '/etc': no parent directory!
-rw-r--r-- 1 maksim maksim 4426364 2010-11-02 11:05 /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/binaries/tion270/rootfs.arm.jffs2
rm -f /home/maksim/Development_MIPS/Zao-Zeo/buildroot-2009.08/project_build_arm/tion270/.fakeroot*
Я залил полученный образ КФС в Тион и он загрузился,
правда ts_calibrate "ругается":
Цитировать
ts_open: No such file or directory

ts_test:
Цитировать
/dev/touchscreen/ucb1x00: No such file or directory

hwclock -r:
Цитировать
hwclock: can't open '/dev/misc/rtc': No such file or directory
а команда date показывает время корректно.

Вопрос: получившийся rootfs.jffs2 будет работоспособен?
« Последнее редактирование: 02 Ноября, 2010, 12:01:30 от maksim »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Buidroot
« Ответ #9 : 02 Ноября, 2010, 13:06:19 »

Я пробовал собрать в Mandriva 2009.1 i586 в виртуальной машине, всё нормально собралось.

> mkfs.jffs2: skipping device_table entry

Как видите у вас ошибки с каталогами /dev /tmp /etc (видимо их вообще нет). Поэтому,
создавайте jffs2 из примонтированного (-o loop) образа ext2.

> Вопрос: получившийся rootfs.jffs2 будет работоспособен?

Зависит от ваших запросов.
Записан