ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион270, Тион-Про270, Сириус270 => Тема начата: zverro от 06 Декабря, 2009, 21:31:46

Название: Сборка ядра и фс
Отправлено: zverro от 06 Декабря, 2009, 21:31:46
Коллеги, я пытаюсь собрать файловую систему через buildroot с его собственным toolchain-ом

Для этого я беру конфиг из архива  ЗЭО по адресу

http://www.zao-zeo.ru/media/files/rootfs/pxa270/buildroot_svn24430_pxa_20081224.tar.gz
В нем использование встроенного в buildroot тулчейна уже прописано.

Я помещаю его вместо файла .config dв верхнем каталоге и делаю make.  Начинается сборка и идет чуть ли ни пол-часа, но потом останавливается с ошибкой в ниже приведенной команде:


/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4-initial/./gcc/xgcc -B/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4-initial/./gcc/ -B/mnt/tools/scale/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/bin/ -B/mnt/tools/scale/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/lib/ -isystem /mnt/tools/scale/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/include -isystem /mnt/tools/scale/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/sys-include -O2 -g -Os -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -I. -I. -I/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4/gcc -I/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4/gcc/. -I/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4/gcc/../include -I/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4/gcc/../libcpp/include -I/mnt/tools/scale/buildroot/toolchain_build_arm/gmp/include -I/mnt/tools/scale/buildroot/toolchain_build_arm/mpfr/include -I/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4/gcc/../libdecnumber -I../libdecnumber  -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder   \
          -c /mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4/gcc/crtstuff.c -DCRT_BEGIN \
          -o crtbegin.o
/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4-initial/./gcc/as: line 2: exec: -o: неправильная опция
exec: usage: exec [-cl] [-a name] file [redirection ...]
make[2]: *** [crtbegin.o] Ошибка 1
make[2]: Leaving directory `/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4-initial/gcc'
make[1]: *** [all-gcc] Ошибка 2
make[1]: Leaving directory `/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4-initial'
make: *** [/mnt/tools/scale/buildroot/toolchain_build_arm/gcc-4.2.4-initial/.compiled] Ошибка 2
[sap@localhost buildroot]$


Кто-нибудь знает в чем дело и как это преодолеть ?
Название: Re: Сборка ядра и фс
Отправлено: asv от 07 Декабря, 2009, 00:56:10
Попробовать другие сочетания версий компилятора и C-библиотеки.

Какой версии Buildroot?
Название: Re: Сборка ядра и фс
Отправлено: zverro от 07 Декабря, 2009, 18:29:25
использовался архив с CD диска который был в комплекте с ТионПро270,

buildroot_svn23990.tar.gz
Название: Re: Сборка ядра и фс
Отправлено: asv от 07 Декабря, 2009, 19:58:18
Вроде собралось, лог:
http://www.zao-zeo.ru/media/files/dev/build_buildroot_svn23900_with_config_from_buildroot_svn24430_pxa_20081224.typescript.bz2

.config:
http://www.zao-zeo.ru/media/files/dev/build_buildroot_svn23900_config

На плате не проверял.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 11 Декабря, 2009, 22:30:51
У меня с этим конфигом начало собираться  но остановилось высказав претензию


rm -rf /mnt/tools/XScale/buildroot/project_build_arm/uclibc/buildroot-config
mkdir -p /mnt/tools/XScale/buildroot/project_build_arm/uclibc
cp -dpRf package/config/buildroot-config /mnt/tools/XScale/buildroot/project_build_arm/uclibc/buildroot-config
make: *** Нет правила для сборки цели `package/busybox/busybox-1.13.x.config', требуемой для `/mnt/tools/XScale/buildroot/project_build_arm/uclibc/busybox-1.12.1/.configured'.  Останов.
[sap@localhost buildroot]$


Как это преодолеть пока не знаю
Название: Re: Сборка ядра и фс
Отправлено: asv от 12 Декабря, 2009, 16:26:46
> package/busybox/busybox-1.13.x.config'

Посмотрите что было сделано в указаном логе.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 14 Декабря, 2009, 13:25:17
Спасибо за подсказку.
Правда в логе какая-то странная кодировка, как раз в нужных местах ничего не видать, но от Вас я понял что в этом месте надо что-то сделать, и я поменял в меню имя конфиг-файла с .13 на .11, потому что только с таким именем файл был в соответствующем каталоге.  С другими затыками я тоже справился, слава Богу.

  В общем через пень-колоду собрал я и ядро и файловую систему.  Для ядра я выбрал в качестве базы,
как положено,  Tion-pro-270_defconfig.  Ядро видит АС97, но нет файла устройства в /dev
и USB-флэшки видит,

usb 1-1: new full speed USB device using pxa27x-ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice

...   тра ля ля ....

sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk


 но /dev/sda1 не создается.

Не подскажите что надо сделать?
Название: Re: Сборка ядра и фс
Отправлено: asv от 14 Декабря, 2009, 14:58:25
> как раз в нужных местах ничего не видать

Там контрольные символы (в основном backspace), нужно редактор, который их понимает.
Название: Re: Сборка ядра и фс
Отправлено: asv от 14 Декабря, 2009, 15:07:16
> но нет файла устройства в /dev
> /dev/sda1 не создается.

Его нужно создать
см. target/generic/device_table.txt
или использовать udev.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 17 Декабря, 2009, 19:46:43
Спасибо за информацию,  вроде бы я приноровился использовать buildroot.

Правда пока еще не доделалось у меня. Я попытался скомпилировать UDEV, он есть в комплекте но не указан в меню явно, там usbutils (кажется она) включает udev.
В процессе сборки потребовалось включить поддержку больших файлов (>2Г),  после пересборки тулчейна и всего остального, система перестала входить в консоль,  выдается надпись

Please press Enter to activate this console.

но нажатие Еnter приводит к повторному появлению надписи и т.д.:


....

RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 120K
cannot run '/etc/init.d/rcS': No such file or directory

Please press Enter to activate this console.

Please press Enter to activate this console.
Please press Enter to activate this console.
...


Тогда я решил вернуть все как было до этого, без udev и поддержки больших файлов, но картина не изменилась. Бред какойто.

Я  использую ядро 2.6.22 с патчем от ЗАО ЗЭО. Я дро вроде как работает. С файловой системой ранее собранной ptxdist 1.0.2 всё загружается нормально, запрашивается логин и пароль на консоли и далее всё работает.


Если кто знает, коллеги, подскажите пожалуйста. Я мало пока понимаю в настройках /etc,
Может дело в
cannot run '/etc/init.d/rcS': No such file or directory
?
Название: Re: Сборка ядра и фс
Отправлено: asv от 17 Декабря, 2009, 19:56:46
.config?
Название: Re: Сборка ядра и фс
Отправлено: zverro от 18 Декабря, 2009, 18:30:47
Я не стал загромождать форум длинными текстами,  конфиги можно взять здесь
ftp://ftp.iao.ru/incoming/zverro


На устройстве я добавил строку с /etc/inittab :

#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
#ttyS0::respawn:/sbin/sulogin
ttyS0::askfirst:-/bin/sh

первые две запрашивают логин и пароль, но мне так и не удалось залогиниться.
последняя строка это консоль без логина, но с ней те симптомы о которых я писал.
Название: Re: Сборка ядра и фс
Отправлено: asv от 18 Декабря, 2009, 18:40:22
> но мне так и не удалось залогиниться.

С какими симптомами?
В /etc/securetty есть ttyS0?
Название: Re: Сборка ядра и фс
Отправлено: zverro от 18 Декабря, 2009, 20:31:20
Да, есть.

Симптом следующий: После загрузки появляется надпись

Please press Enter to activate this console.

Нажимаю Enter , строка сдвигается вверх, и на ее месте печатается снова
Please press Enter to activate this console.
 , т.е вход в sh (или как там ее)  не происходит

А если я ставлю в inittab строку где не askfirts а getty, то он не логинится, не никакие пароли.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 18 Декабря, 2009, 20:54:08
 Всякий раз после нажатия Enter , выводится всё  это же приглашение  "Please press Enter to activate this console."
и так до бесконечности...
Название: Re: Сборка ядра и фс
Отправлено: asv от 19 Декабря, 2009, 15:44:33
BR2_ARM_OABI=y
BR2_SOFT_FLOAT=y
Название: Re: Сборка ядра и фс
Отправлено: zverro от 22 Декабря, 2009, 21:11:04
Попробовал                 BR2_SOFT_FLOAT = y   ,    BR2_ARM_OABY = y
Пересобрал - неработает, всё осталось также.

Такое впечатление что он входит в /bin/sh,  и тут же из нее вываливается. Прикольно то что я пытался вернуться к этапу когда у меня еще работало и не могу.  Работает только с ФС от ptxdist
Название: Re: Сборка ядра и фс
Отправлено: asv от 22 Декабря, 2009, 21:32:33
> Такое впечатление что он входит в /bin/sh

Так и есть. Можно посмотреть подробнее задав в cmdline ядра user_debug=10

У меня с последними указанными настройками работала, завтра поищу -- выложу.
Перед пересборкой делали distclean?
Название: Re: Сборка ядра и фс
Отправлено: zverro от 22 Декабря, 2009, 21:53:18
Нет,  distclean  я не делал, боясь что она удалит лишнее, и возможно зря.  Но я перед этим вручную удаляю каталоги

build_arm,
project_build_arm,
toolchain_build_arm,
toolchain_build_arm_nofpu

Название: Re: Сборка ядра и фс
Отправлено: asv от 22 Декабря, 2009, 23:27:02
Из "лишних" только архивы исходных кодов в dl.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 23 Декабря, 2009, 12:33:55
Я попробовал всё с самого начала как я делал.

 Очистил  buildroot полностью  (clean ,  distclean)
 Зашел в меню "make menuconfig" и сделал Load конфига   config_buildroot_svn24430_pxa  (ссылка где-то в самом первом моем сообщении), вышел из меню и сделал make

 Устранив пару ошибок компиляции получился образ  ФС

 Затем я снова залез в меню и поставил а разделе Kernel режим "Advanced..."  с ядром 2.6.22, вышел и отправил команду "make"
В результате он начал собирать и ядро для процессора AT91...
Я сделал Ctrl+C и сделал  "make linux26-menuconfig",  в появившемся меню я выставил тип - xscale,  устройство Tion-pro270, поставил в драйверах  'Character' галочку на PXA-console и PXA-serial. Вышел из меню и снова сделал "make"
 Собранные образы ядра и ФС залил на плату,  система загрузирась и вошла в sh,  я смог полазить по директориям...

Таким образом мне удалось вернуться к состоянию когда ФС работала.
В конфигурации действительно стояли режимы BR2_SOFT_FLOAT=y  BR2_ARM_OABI=y

Спасибо всем за помощь.   Теперь попробую разобраться почему потом перестало работать. Началось с того что я сделал EABI (и наверное зря), и попытался доставить пакет UDEV, и это потребовало включить поддержку больших файлов ">2G", Когда я все это сделал то и обраружил что ФС неработает.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 23 Декабря, 2009, 12:42:52
Чуть не соврал,  в  том конфиге было

BR2_SOFT_FLOAT is not set
BR2_ARM_OABI=y
Название: Re: Сборка ядра и фс
Отправлено: asv от 23 Декабря, 2009, 13:37:23
> сделал EABI

Сейчас в патчах ядра _defconfig задаёт OABI.

>  в  том конфиге было
>
> BR2_SOFT_FLOAT is not set
> BR2_ARM_OABI=y

Еще раз, надо BR2_SOFT_FLOAT=y BR2_ARM_OABI=y, если ядро с OABI.

Название: Re: Сборка ядра и фс
Отправлено: asv от 23 Декабря, 2009, 13:50:48
Проверял на Тион-Про270 по NFS:

Для ядра с _OABI_
http://www.zao-zeo.ru/media/files/linux/2.6.22/image/uImage-2.6.22.19_svn746_tion-pro270_oabi

Конфигурация Buildroot svn23990
http://www.zao-zeo.ru/media/files/rootfs/pxa270/buildroot_svn23990_softfloat_oabi.config

Полученный образ
(вручную добавлен скрипт установки mac-адреса, отредактирован interfaces, в inittab включён вход по ttyS0)
http://www.zao-zeo.ru/media/files/rootfs/pxa270/buildroot_svn23990_softfloat_oabi_rootfs.arm-xscale.ext2.gz




2. Для ядра с EABI
http://www.zao-zeo.ru/media/files/linux/2.6.22/image/uImage-2.6.22.19_svn818_tion-pro270_eabi
Название: Re: Сборка ядра и фс
Отправлено: zverro от 24 Декабря, 2009, 12:46:37
Спасибо большое,  Ваш конфиг и образы для OABI помог. Я их попробовал, и попробовал собрать ФС и ядро. Система заработала. EABI еще не пробовал.   Графику, в частности X сервер я тоже еще не пробовал, но планирую. Собирать пытался, и получилось, но не испытывал, потому что проблемы начались те самые о которых мы говорим.

Распознается USB-flash и встает под именем /dev/dsa1

Правда почему-то не создается звуковое устройство  /dev/audio  /dev/dsp.
Я попробовал открыть их в devices_table.txt, но безрезультатно.  При загрузке ядро говорит что ALSA видит кодек АС97  (что-то вроде UСB1400).   Ваше ядро тоже не создает звук.

Если кто-нибудь знает в чем дело то подскажите, буду очень благодарен.   Все таки хотелось бы использовать звуковой девайс для работы с аналоговыми сигналами,  синтез и анализ речи.
Название: Re: Сборка ядра и фс
Отправлено: asv от 24 Декабря, 2009, 14:23:40
> Графику, в частности X сервер я тоже еще не пробовал, но планирую.

Зачем? Это будет медленно.


> EABI еще не пробовал

С EABI выложу попозже, на базе Buildroot 2009.08
Название: Re: Сборка ядра и фс
Отправлено: zverro от 24 Декабря, 2009, 15:06:55
  Насчет Х  это я подумал по неопытности.   Возможно, как Вы и говорите,  X будет медленным. Тогда надо что-то другое типа qtopie. В buildroot есть qtopie4,  и кажется она у меня собиралась.  Раньше я писал графическое приложениена qt,  в том числе для Тион-про,  хотел бы иметь возможность делать это и для 270.  Когда разбирусь со звуком, попробую запустить qtopie.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 24 Декабря, 2009, 22:39:18
Звук, слава Богу, появился.  Это получилось, когда я в конфигурации ядра в разделе Аудио я поставил звёздочки на пунктах "OSS ...".
Теперь устройства появляются в /dev.  Музыка запускается проигрывателем mpg123.
Название: Re: Сборка ядра и фс
Отправлено: asv от 25 Декабря, 2009, 16:09:22
> на пунктах "OSS ..."

aplay, arecord работают?
Название: Re: Сборка ядра и фс
Отправлено: zverro от 25 Декабря, 2009, 19:54:26
aplay не работает,  arecord еще не испытывал.

У меня почему-то файловая система с /dev/ram0 загружается, а с другого источника нет. Я пробовал /dev/sda1   /dev/mmcblk0p1,

Конец загрузки таков:
.......
Waiting 10sec before mounting root device...
mmc0: new SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3872768KiB
 mmcblk0: p1
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 124K                                                                                                                 

И дальше тишина
Название: Re: Сборка ядра и фс
Отправлено: asv от 25 Декабря, 2009, 21:15:11
buildroot_svn23990_softfloat_oabi_rootfs.arm-xscale.ext2.gz
uImage-2.6.22.19_svn746_tion-pro270_oabi

На USB-Flash (/dev/sda1) работает.

PS. Для dhcp в ядре нужен CONFIG_PACKET=y
Название: Re: Сборка ядра и фс
Отправлено: zverro от 25 Декабря, 2009, 22:19:48
Понял я почему незагружается система.  Мне следовало скопировать на флэш файлы не с рабочей директории  project/ulibc/root/, а из файла rootfs.arm.ext2
Название: Re: Сборка ядра и фс
Отправлено: zverro от 27 Декабря, 2009, 18:41:35
Пытаюсь сделать ФС на nfs.   Nfs-сервер вроде бы запустился. Но система на Тион-про270 не запускается,
Не подскажите что я делаю неправильно?

я назначил адрес сервера 10.0.0.1  и адрес платы 10.0.0.2,  подсетку 24 (т.е. 255.255.255.0)


========= Файл /etc/exports ============
/home/sap/tools/nfs    10.0.0.2/8(rw,no_root_squash)



========= мои uBoot  команды ==========
setenv bootargs 'console=ttyS0,115200n8 root=/dev/nfs nfsroot=10.0.0.1:/nfs/root270 ip=10.0.0.2:10.0.0.1:10.0.0.1'

bootm ${kern_fladdr}


========Вот что входит в конце загрузки :======
XScale iWMMXt coprocessor detected.
m41t00 0-0068: setting the system clock to 2001-01-25 01:35:36 (980386536)
eth0: link down
IP-Config: Guessing netmask 255.0.0.0
IP-Config: Complete:
      device=eth0, addr=10.0.0.2, mask=255.0.0.0, gw=10.0.0.1,
     host=10.0.0.2, domain=, nis-domain=(none),
     bootserver=10.0.0.1, rootserver=10.0.0.1, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.1
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
rpcbind: server 10.0.0.1 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 10.0.0.1
rpcbind: server 10.0.0.1 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 10.0.0.1 not responding, timed out
Root-NFS: Server returned error -5 while mounting /nfs/root270
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00        512 mtdblock0 (driver?)
1f01       4096 mtdblock1 (driver?)
1f02      28160 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
===============================================

Я пробовал в файле /etc/exports    вместо  10.0.0.2/8(rw,no_root_squash) ставить 10.0.0.2/24(rw,no_root_squash), но это не помогло.
назначал у сетевой карты сервера подсетку 8 (т.е. 255.0.0.0), это тоже не помогло.


Может я в командной строке запуска ядра что-то не то указал
Название: Re: Сборка ядра и фс
Отправлено: asv от 27 Декабря, 2009, 20:02:00
>========= Файл /etc/exports ============
>/home/sap/tools/nfs    10.0.0.2/8(rw,no_root_squash)
>
>========= мои uBoot  команды ==========
>setenv bootargs 'console=ttyS0,115200n8 root=/dev/nfs nfsroot=10.0.0.1:/nfs/root270 >ip=10.0.0.2:10.0.0.1:10.0.0.1'

nfsroot=10.0.0.1:/home/sap/tools/nfs

Можно и на hoste попробовать монтировать NFS.

У меня /etc/exports:
/srv/nfs           *(rw,sync,no_subtree_check,no_root_squash,crossmnt)
Название: Re: Сборка ядра и фс
Отправлено: zverro от 28 Декабря, 2009, 22:05:38
Спасибо за подсказку, всё запустилось. Только почему-то пароль для рута стал требоваться и никакой не опознается. Я заменил строку в inittab :

#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
ttyS0::askfirst:-/bin/sh


NFS загрузка стала работать после того как я сделал
=======/etc/exports в виде:======
/home/sap/tools/nfs -maproot=0 -network 10.0.0.2(rw,sync,no_subtree_check,no_root_squash,crossmnt)
========================
т.е. добавил опции  -maproot=0 -network  и указал точный адрес

Наверное на моем линуксе есть отличия в nfs сервере.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 28 Декабря, 2009, 22:09:04
И еще пришлось закоментировать строку в файле /etc/sysconfig/portmap

# PORTMAP_ARGS="-l"

(пишу всё это на всякий случай вдруг кому пригодится)
Название: Re: Сборка ядра и фс
Отправлено: asv от 29 Декабря, 2009, 10:29:46
>пароль для рута стал требоваться и никакой не опознается. Я заменил строку в inittab :
>
>#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
>ttyS0::askfirst:-/bin/sh

Можно задать пароль и вернуть getty.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 04 Января, 2010, 22:33:54
Я обнаружил что когда я в buildroot включаю alsa-lib, то после этого mpg123 собирается неправильно. При запуске он говорит Segmentation fault.
   Убираю alsalib, делаю make clean и mpg123 снова работает. (К нему нужен еще aumix и libintl и музыка воспроизведется)

  Я думаю что с alsa-lib начинается какой-то бардак с именами...
Возможно aplay, arecord , не работают из-за этого.

Еще я пробовал собирать QT4 .  ( Без tslib, потому что она не компилировалась.)
Я брал examples пробовал компилировать
один из них ( для примера я брал tabdialog).  Для компиляции я подсмотрел опции компилятора которые использовались при компиляции библиотек.  Пример собирался, но не заработал, как я ни пытался играть с опциями gcc.

а может ли это быть из-за того что в toolchain указаны хидеры linux-2.6.27.4, а не 2.6.22 (пропатченого) ?
Название: Re: Сборка ядра и фс
Отправлено: asv от 11 Января, 2010, 11:53:53
> Пример собирался, но не заработал, как я ни пытался играть с опциями gcc.

Что в консоле или в syslog?
Название: Re: Сборка ядра и фс
Отправлено: zverro от 11 Января, 2010, 18:49:08
>> Пример собирался, но не заработал, как я ни пытался играть с опциями gcc.

>Что в консоле или в syslog?

Там только Segmentation fault
Название: Re: Сборка ядра и фс
Отправлено: asv от 11 Января, 2010, 20:41:57
_EABI_

http://www.zao-zeo.ru/media/files/rootfs/pxa270/buildroot/buildroot-2009.08_20100111.patch.gz

Также см. http://www.zao-zeo.ru/dokuwiki/doku.php/linux#различные_сборки_кфс
Раздел "Buildroot, с конфигурацией"

Возможно, local/finalize.sh придётся сделать chmod a+x

TS работает, QT работает, aplay -- нет, но звук в mplayer -- да.

Сейчас пересоберётся начисто и выложу образ ФС.
Название: Re: Сборка ядра и фс
Отправлено: asv от 12 Января, 2010, 00:14:03
Сборка по конфигурации из предыдущего патча.

http://www.zao-zeo.ru/media/files/rootfs/pxa270/buildroot/rootfs.arm_eabi_20100111.ext2.gz

Небольшие измения последней минуты:
http://www.zao-zeo.ru/media/files/rootfs/pxa270/buildroot/buildroot-2009.08_20100111a.patch.gz

Если монтировать по NFS, то нужно сначала убрать конфигурацию eth0 из etc/network/interfaces

Именно эту сборку ещё не включал.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 12 Января, 2010, 22:38:09
не могу сообразить как применить этот патч.  Я читал про команды diff  и  patch -p0 < ...    но мне понятно когда речь идет об одном файле который копируется в нужную директорию и оттуда используется,   а в Вашем архиве несколько директорий.

У меня есть соображения что делать но я не уверен

Не могли бы Вы перечислить действия с этим патчем ?
Название: Re: Сборка ядра и фс
Отправлено: asv от 13 Января, 2010, 09:10:43
Канонически, находясь в директории с распакованным Buildroot 2009.08, чистым с buildroot.org:
zcat <some/dirs/>buildroot-2009.08_20100111a.patch.gz | patch -p1
Название: Re: Сборка ядра и фс
Отправлено: asv от 14 Января, 2010, 13:48:53
Наконец-то довелось проверить эту сборку с
http://www.zao-zeo.ru/media/files/linux/2.6.22/image/uImage-2.6.22.19_svn818_tion-pro270_eabi

1. TS работает (ts_calibrate, ts_test), есть небольшие искажения
2. QT работает на примере с парой кнопок, TS с QWS_MOUSE_PROTO=/dev/input/event0 в QT не работает, а как я его включал уже забыл
3. Звук в mplayer -- да
Название: Re: Сборка ядра и фс
Отправлено: zverro от 16 Января, 2010, 19:13:07
    Я тоже проверил, заработало звук, тачскрин и QT c мышью (пробовал пример tabdialog),  тачскрин в QT-приложении пока не получается запустить, над этим работаю. В остальном всё класно, всё есть для полного счастья.
Название: Re: Сборка ядра и фс
Отправлено: zverro от 20 Января, 2010, 20:07:37
Тачскрин в QT приложении запускается если в /etc/profile вписать строку

export QWS_MOUSE_PROTO=tslib:/dev/input/event0


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

Всем огромное спасибо за помощь !  Просто спасли меня. Без вашей помощи мои попытки неизвестно окончились бы чем-нибудь или нет.
Название: Re: Сборка ядра и фс
Отправлено: Bolick от 11 Марта, 2010, 11:05:17
А почему бы в дефолтном конфиге ядра для Тиона :
1) не устанавливать "CONFIG_PACKET=y" для нормальной работы udhcp client (иначе по DHCP не получить ip платочке).

2) не устанавливать "CONFIG_AEABI=y" что бы соответствовало настройке по умолчанию билдрута с патчем buildroot-2009.08_20100111a.patch.gz
Иначе получается что при загрузке платы, в момент маунта файловой системы все молчаливо зависает.

Спасибо.
Название: Re: Сборка ядра и фс
Отправлено: asv от 11 Марта, 2010, 11:47:58
> для Тиона

Тион270, Тион-Про270

Это сделано в svn876 и svn888, но патчи ещё не выложены.
Название: Re: Сборка ядра и фс
Отправлено: Bolick от 11 Марта, 2010, 12:16:58
Спасибо, ждем патчей :)
Название: Re: Сборка ядра и фс
Отправлено: Bolick от 15 Марта, 2010, 13:06:18
Интересный момент:
Собрал текущей версией билдрута (2009.08 с текущим патчем) тулчейн и файловую. По умолчанию в настройках тулчейна указан GCC версии 4.3.4

После чего собрал свою нехитрую программу на QT.
И обнаружил, что при отведении памяти оператором "new()" (QT подразумевает код в С++) не происходит инициализации выделенной памяти (обнуления).

К сожалению, не нашел пока номера ошибки в багзилле GCC, как найду, напишу.

Проблема решилась выбором GCC версии 4.4.x (4.4.1 по факту) в настройках тулчейна.

И, собственно, вопрос: не стоит ли в конфиге билдрута по умолчанию выставлять версию GCC в 4.4.x?
Название: Re: Сборка ядра и фс
Отправлено: asv от 15 Марта, 2010, 18:02:06
Разве new обязан обнулять?
Название: Re: Сборка ядра и фс
Отправлено: Bolick от 16 Марта, 2010, 00:03:15
http://ru.wikipedia.org/wiki/New_(C%2B%2B) (http://ru.wikipedia.org/wiki/New_(C%2B%2B))
Цитировать
Для инициализации новой переменной, созданной при помощи new нужно использовать следующий синтаксис:
p_var = new type(initializer);

То есть без круглых скобок new не инициализирует выделяемую память, а с круглыми скобками инициализирует.
Название: Re: Сборка ядра и фс
Отправлено: asv от 16 Марта, 2010, 11:49:05
Код покажите.
Название: Re: Сборка ядра и фс
Отправлено: Bolick от 17 Марта, 2010, 13:49:51
Прошу прощения за задержку.
Вот пример кода, который дает разный результат, будучи собранный G++ разных версий:
(Код не чистый C++, а с элементами QT, то есть и собирать его надо при помощи qmake и make)

Файл проекта QT (qt_test_console.pro):
TEMPLATE = app
TARGET = qt_test_console
QT += core
SOURCES += main.cpp

Собственно файл с исходным текстом:
#include <QtCore>
#include <QCoreApplication>
#include <QDebug>
#include <QDebug>

struct struct_t {
    int test_int;
    QChar test_qstring;
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    struct_t * test_struct = new struct_t();
    qDebug() << "test_int: " << test_struct->test_int;

    return a.exec();
}
Для изменения версии G++, которым собирается исходник, необходимо в файле конфигурации QT:
/usr/share/qt4/mkspecs/common/g++.conf
Указать компилятор:
QMAKE_CXX = g++-4.3для использования G++ 4.3,
QMAKE_CXX = g++-4.4для использования G++ 4.4

Так вот только при использовании G++ версии 4.4 (поведение одинаковое на разных платформах: x86 32-bit desktop linux, ARM xScale linux, MS Windows XP 32-bit), значение "test_int" равно нулю после инициализации.
Название: Re: Сборка ядра и фс
Отправлено: asv от 17 Марта, 2010, 14:54:22
С какими флагами вызывается g++?

Со следующим кодом

#include <iostream>
using namespace std;

const int size = 10*1024*1024;

struct struct_t {
    int test_int;
    int a;
    int b[size];
};

int main(int argc, char *argv[])
{
    struct_t *test_struct = new struct_t();

    cout << "test_int: " << test_struct->test_int << endl;
    cout << "a: " << test_struct->a << endl;
    test_struct->b[size-1] = 1; // mark last element
    for (int i = 0; i < size; i++)
    if (test_struct->b[i])
    cout << "b[" << i << "]: " << test_struct->b[i] << endl;

    return 0;
}

На
gcc version 4.3.4 (GCC) arm-linux-uclibcgnueabi arm920t
gcc version 4.3.4 (GCC) arm-linux-uclibcgnueabi xscale
gcc version 4.3.2 (Debian 4.3.2-1.1) i486-linux-gnu

получается одинаковый результат:

test_int: 0
a: 0
b[10485759]: 1
Название: Re: Сборка ядра и фс
Отправлено: Bolick от 17 Марта, 2010, 16:03:38
Да, я проверял пример типа вашего. В чистом С++ все корректно.
А вот если в структуру добавить QString или QChar (остальные классы не пробовал), то при инициализции структуры происходит повреждение соседних элементов. Могу предположить, что это связано с неверным вычислением размера блока памяти под класс QT.