ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион270, Тион-Про270, Сириус270 => Тема начата: asv от 14 Июля, 2010, 13:04:30
-
Обновление:
http://www.zao-zeo.ru/media/files/rootfs/buildroot/buildroot-2009.08_20100713.tar.gz
Конфигурации и файлы для PXA270 и EP93xx теперь в одном архиве.
-
В патче из этого архива в 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
-
Git репозиторий:
http://zao-zeo.ru/media/files/linux/buildroot-2009.08.git
-
День добрый!
При сборке КФС для Тион-про 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, и брал оригинальный и пропачивал - вылет в этом месте.
Подскажите - как исправить ситуацию, опыта маловато самому разобраться, заранее спасибо.
-
Приведите
1. Полный лог:
make BOARD=tion270 2>&1 | tee log
2. Файл local/tion270/tion270.config
-
лог:
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
-
Похоже, что собранная 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 поновее.
-
Ещё простой вариант, взять собранные mkfs.jffs2 и sumtool из дистрибутива или из того Buildroot'а в котором у вас создаётся jffs2 и скопировать их в buildroot-2009.08/toolchain_build_arm/mtd_orig
-
Вы правы, проблема в моей Mandrive. В наборе пакетов отсутствует mtd-utils.
Замена mkfs.jffs2 из buildroot-2010.08 ситуацию не изменила, сборка образа завершается с ошибкой.
Покопался в инете и обнаружил описание почти аналогичной проблемы у человека с Mandriva-2010 PowerPack, правда собирал он образ для Enigma2. Он решил проблему заменой mkfs.jffs2, взятой по ссылке ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2 (http://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 будет работоспособен?
-
Я пробовал собрать в Mandriva 2009.1 i586 в виртуальной машине, всё нормально собралось.
> mkfs.jffs2: skipping device_table entry
Как видите у вас ошибки с каталогами /dev /tmp /etc (видимо их вообще нет). Поэтому,
создавайте jffs2 из примонтированного (-o loop) образа ext2.
> Вопрос: получившийся rootfs.jffs2 будет работоспособен?
Зависит от ваших запросов.