|
программирование at91sam9xeek |
|
|
|
Nov 8 2010, 14:44
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
есть плата at91sam9xeek, на ней установлен линукс, взятый с linux4sam, своя операционка - ubuntu 10.10 i386, задача для начала простая - написать hello world для платы. собственно привет мир написан, на убунте установлен arm-linux-gnueabi, еще собарил кросс компиляторы по известным схемам из нета. дальше, привет мир компилируется командой arm-linux-gnueabi-gcc, переписываю его на плату, запускаю из под рута, и тут он говорит что illegal instruction, это в одном случае, если при gcc указать ключ static, если без ключа, то segmentation fault. ежели компилировать кросс компилятором который собирал сам по известным схемам, то и компилить не хочет, сначала ему не хватало файла crti.o, потом crtbegin.o, после засовывания этих файлов в директорию с сишником он стал писать что cant find -lgcc, что это такое гугл не помог. я не работал с at91sam9, но я не верю что нельзя написать программу и не запустить на плате под линуксом, поэтому буду рад любым замечаниям что делаю не так, и рекомендациям по нахождению правильного пути.
|
|
|
|
|
Nov 8 2010, 22:13
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(sangre @ Nov 9 2010, 00:44)  на убунте установлен arm-linux-gnueabi А этот arm-linux-gnueabi - тот же, которым собраны ядро и рутфс на плате? Когда осваивал linux from scratch, нагугливал, что если glibc у кросскомпилятора и у системы-цели разной сборки (даже если версия одна и та же), то как раз чаще всего и будет незапускаемый код. Поэтому я бы посоветовал найти набор кросстулз на linux4sam. А если Вы хотите делать свою сборку кросстулз, то и рутфс и ядро придется пересобирать. Это, правда, не относится к пересборке gcc и binutils, только к пересборке glibc.
|
|
|
|
|
Nov 9 2010, 05:45
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
arm-linux-gnueabi это пакет установленный в убунте, уже после того как линукс был загружен в плату. на плате ангстром, который демонстративный на linux4sam. а перекомпилировывать ядро и фс наверно долгий процесс.... не хотелось так глубоко заседать, надеялся что лихим кавалерийским наскоком все поедет
|
|
|
|
|
Nov 13 2010, 09:23
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
а можно чуток поподробнее? как собиральсо ядро, как мир, как с загрузчиками, ссылки там, может свои комментарии? я сейчас штудирую LFS, долго уже мучаюсь но не получается. компилировал ядро, но оно не находит фс, при компиляции вроде вписывал ей, но не хочет его находить. листал OE, тоже вроде не все просто, но еще нужно не просто что бы все заработало, а что бы на большой машине писать и компилить, а на плате все это запускалось именно в линуксе.
|
|
|
|
|
Nov 15 2010, 05:30
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Ссылка с описанием была весьмя старой и уже мертва, прикладываю хтмл-файл, ориентируясь на который, я собирал LFS.
_______toolchain_____ARM__________Linux____AT91RM9200.htm ( 29.66 килобайт )
Кол-во скачиваний: 1610К слову, собирать glibc (не uclibc, а полновесный glibc) лучше с поддержкой потоков nptl, а не linuxthreads, т.к. последние были на заре линукса и сейчас активно выпиливаются. ИМХО, LFS хорош для ознакомления с системой, узнать, что и откуда у нее растет. Но параллельно посоветовал бы подготовить инструментарий, позволяющий работать. В этом смысле хорош Emdebian. Вроде были и еще проекты, предоставляющие не просто тулчейн с компиленным ядром и небольшим рутом, но полноценные дистры. Пока не интересовался этим.
|
|
|
|
|
Nov 15 2010, 06:10
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
благодарю, буду разбирать
|
|
|
|
|
Nov 15 2010, 14:42
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
в принципе ядро я собираю, но теперь проблема создать фс, с софтом на ней, и что бы ядро находило эту фс. ну и на машине собирать прогу а на плате что бы работала. собрал стандартное ядро и фс в ОЕ, получилось тоже что и на linux4sam, но что то это радости не принесло, не понятно как сделано и что сделано, как это использовать и как этим управлять
|
|
|
|
|
Nov 16 2010, 02:46
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
У меня рабочей является такая конфигурация (подсмотрено в слакваре): ядро с вкомипленной в него инит рам фс - так ядро занимает больше места, зато не надо по отдельности прогружать ядро и инитрд и указывать ядру на инитрд. Главное, чтобы в инитрамфс был файл инит. у меня это скрипт, делающий все необходимые манипуляции. Также в инитрамфс запихан статически собранный бизибокс с минимумом необходимого для монтирования микросд карточки, на которой создан основной рут. После загрузки ядро запускает процесс инит с инитрамфс. Инит, отработав, меняет рут на примонтированную микросд карту, запуская инит там. Инит на микросд запускает всех демонов и стартует шелл, привязанный к DBGU порту (/dev/ttyS0). Ну а из демонов - syslogd, sshd, mdev (вместо неповоротливого и прожорливого udev, входит в комплект бизибокса). Инит от инитрамфс. Код #!/bin/sh echo in initramfs echo
# mount system fs mount /proc mount /sys mount /tmp mount /dev/pts mount /dev # get new devices echo /bin/mdev > /proc/sys/kernel/hotplug usleep 100000 mdev -s # find SD/MMC card # support work wuth mmcblk and mmcblk0p1 only if [ -r /dev/mmcblk0p1 ]; then # huge devices with partitions mount /dev/mmcblk0p1 /mmc elif [ -r /dev/mmcblk0 ]; then # little devices (my first 256 MB microSD) mount /dev/mmcblk0 /mmc else echo "no SD/MMC card found!" /bin/sh --login #start shell fi echo outting initramfs exec switch_root /mmc /linuxrc Может, профессионалы и фыркнут, но у меня работает - мне хватает. P.S. еще мне показалось удобным поднять ftp-сервер на плате, чтобы сливать туда-оттуда разные файлы.
|
|
|
|
|
Nov 16 2010, 11:01
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
petrovs@petrovs:~/arm/src/linux$ make include/linux/version.h make: arm-linux-gcc: Команда не найдена CHK include/linux/version.h UPD include/linux/version.h почемуто это все что он делает на этом шаге, нормально так? или мало? хз использую дистрибутив linux-2.6.33, с linux4sam, оттудаже и патч для этого ядра. и еще, в /linux/include нет каталога asm-arm, нормально или нет?
при попытке скомпилировать gcc в первый раз выдает . . . checking for --enable-version-specific-runtime-libs... no checking whether to enable maintainer-specific portions of Makefiles... no checking for arm-linux-gcc... /home/petrovs/arm/src/build/gcc-4.5.1-stage1/./gcc/xgcc -B/home/petrovs/arm/src/build/gcc-4.5.1-stage1/./gcc/ -B/home/petrovs/arm/arm-linux/bin/ -B/home/petrovs/arm/arm-linux/lib/ -isystem /home/petrovs/arm/arm-linux/include -isystem /home/petrovs/arm/arm-linux/sys-include checking for C compiler default output file name... configure: error: in `/home/petrovs/arm/src/build/gcc-4.5.1-stage1/arm-linux/libmudflap': configure: error: C compiler cannot create executables See `config.log' for more details. make[1]: *** [configure-target-libmudflap] Ошибка 1 make[1]: Выход из каталога `/home/petrovs/arm/src/build/gcc-4.5.1-stage1' make: *** [all] Ошибка 2 не очень понятная ошибка, побовал версии gcc 4.3.5 и 4.5.1, в обоих случаях примерно тоже самое. что хочет и почему не едет?
|
|
|
|
|
Nov 16 2010, 12:07
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(sangre @ Nov 16 2010, 21:01)  petrovs@petrovs:~/arm/src/linux$ make include/linux/version.h make: arm-linux-gcc: Команда не найдена CHK include/linux/version.h UPD include/linux/version.h почемуто это все что он делает на этом шаге, нормально так? или мало? хз Да, нормально. Цитата использую дистрибутив linux-2.6.33, с linux4sam, оттудаже и патч для этого ядра. и еще, в /linux/include нет каталога asm-arm, нормально или нет? заглянул в ванильное 2.6.33.6 - там тоже нет, когда появляется - не помню. В используемом 2.6.29.6 - есть, похоже эти папки появляются уже после сборки самого ядра. Цитата при попытке скомпилировать gcc в первый раз выдает checking for --enable-version-specific-runtime-libs... no хз что это, надо гуглить Цитата configure: error: in `/home/petrovs/arm/src/build/gcc-4.5.1-stage1/arm-linux/libmudflap': configure: error: C compiler cannot create executables See `config.log' for more details. make[1]: *** [configure-target-libmudflap] Ошибка 1 Мдя. Мой грех. Забыл, как сам накувыркался с этим маном. В общем, там такое дело - сначала выкуривается gcc cross compiling c gcc.gnu.org, затем собирается и устанавливается цель all-gcc: Код make all-gcc make install-gcc Цитата что хочет glibc собранного, которого еще нет. Цитата и почему не едет? пЫва мало было  И еще раз - gcc собирается для кросс компиляции, т.е. соборанный им эльф на собирающей машине не запустится, а мэйк пробует сделать именно это, если мой телепатический модуль не сбойнул
|
|
|
|
|
Nov 16 2010, 13:11
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
думал что возможно надо попробовать make all-gcc make install-gcc но почему то так и не попробовал, пытался баловаться параметрами ./config нашел оригинал представленной здесь статьи на аглицком, и там как раз перед промежуточной установкой gcc капиталистический товарищ устанавливал заголовки glibc, я следуя этому попытался провернуть этот фокус, но что то тоже не поехало
что хочет glibc собранного, которого еще нет.
о, так поехало, вот подумал про это, а руками не запустил, бывает =)
|
|
|
|
|
Nov 16 2010, 14:58
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
petrovs@petrovs:~/arm/src/build/glibc-2.11.2$ BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld ../../glibc-2.11.2/./configure --prefix=/usr --build=i686-unknown-linux --host=arm-linux --target=arm-linux --without-fp --without-__thread --enable-add-ons=linuxthreads --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out checking build system type... i686-unknown-linux-gnu checking host system type... arm-unknown-linux-gnu checking for arm-linux-gcc... arm-linux-gcc checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether arm-linux-gcc accepts -g... yes checking for arm-linux-gcc option to accept ISO C89... unsupported checking for gcc... gcc checking how to run the C preprocessor... arm-linux-gcc -E checking for arm-linux-g++... no checking for arm-linux-c++... no checking for arm-linux-gpp... no checking for arm-linux-aCC... no checking for arm-linux-CC... no checking for arm-linux-cxx... no checking for arm-linux-cc++... no checking for arm-linux-cl.exe... no checking for arm-linux-FCC... no checking for arm-linux-KCC... no checking for arm-linux-RCC... no checking for arm-linux-xlC_r... no checking for arm-linux-xlC... no checking for g++... g++ configure: WARNING: using cross tools not prefixed with host triplet checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes configure: running configure fragment for add-on linuxthreads checking sysdep dirs... configure: error: The arm is not supported. неожиданное сообщение, что делать? BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld ../../glibc-2.11.2/./configure --prefix=${SYSROOT}/usr --build=i686-unknown-linux --target=arm-linux --without-fp --without-__thread --enable-add-ons=linuxthreads --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out здесь убрал параметр --host=arm-linux, не знаю верно ли это решение, если верить http://www.gnu.org/software/hello/manual/a...cifying%20Names и моему к сожалению скудному познанию аглицкого, то вроде как так и должно быть причем пробежал без варнингов но и ничего не сделал, а предложил поставить флаг --disable-sanity-checks, а с этим флагом вываливается ошибка . . . configure: error: gcc must provide the <cpuid.h> header
|
|
|
|
|
Nov 16 2010, 21:50
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(sangre @ Nov 17 2010, 00:58)  configure: running configure fragment for add-on linuxthreads checking sysdep dirs... configure: error: The arm is not supported. неожиданное сообщение, что делать? А что я выше говорил про линукстредс? Пост 6. Кроме того, если брал сырцы у гну, наверно видел файлы glibc-ports-xxx? Так вот сама глибц - под x86, а под арм ее ориентирует (добавляет платформозависимые куски) именно порт. И не факт, что самую свежую версию уже портировали. Цитата а предложил поставить флаг --disable-sanity-checks, а с этим флагом вываливается ошибка с ошибкой придется разбираться, но чуть позже, а флаг нужен, иначе при сборке мейк будет по-всякому тестировать собираемое, а как, если оно не запускается? есс-но будет тьма ошибок.
|
|
|
|
|
Nov 17 2010, 07:35
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
нда, невнимательно читал 6 пост, да еще надо вообще внимательнее смотреть в директории и ридми файлы. как прикрутить этот порт? просто распаковать? в инструкции пишет товарищ накатить патчи, это конечно хорошо, но для новичка затруднительно, как их накатывать? и еще, там есть три патча, порт, линукстридс и либидн. про линукстридс пишет надо просто распаковать, ну ладно, распаковал, как накатить патчи? гугл не помог, либо пользоваться не умею =(
про файлы типа тра-та-та.path вроде понятно, а вот про эти патчи не понятно
|
|
|
|
|
Nov 17 2010, 09:07
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
configure: error: add-on directory "nplt" does not exist в директории с распакованным дистрибутивом эта папка есть
|
|
|
|
|
Nov 17 2010, 11:45
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
=)) хорошо, и вообще спасибо за помощ, я то я умаялся копаться
установил gcc версии 4.3.5 дальше по схеме распаковал glibc 2.11.2 распаковывал в експлорере(как его еще назвать) через меню распаковать сюда дальше шаг: /-------------------------------------------------------------------------------------------------------- заходим в каталог glibc-2.3.6 и распаковываем linux-threads:bunzip2 -c ../glibc-linuxthreads-2.3.6.tar.bz2 | tar xv /-------------------------------------------------------------------------------------------------------- вот я думаю, имеет это смысл или нет? версия моя 2.11.2 я думаю что нет, ну да ладно, для кучи распаковываю glibc-linuxthreads-2.5.tar.bz2, жалко чтоли?
дальше по схеме: /--------------------------------------------------- накатываем патчи из patches/glibc. /--------------------------------------------------- из какой директории подразумеваются эти патчи?
т.к. я все сырцы брал с гну.орг, то там еще по твоему же совету выдрал glibc-ports-2.11.tar.gz и glibc-libidn-2.9.tar.gz, я по своему скромному разумению предполагаю что это и наверно должны быть патчи, команда patch -p1 -i имя_файла_с_патчем на это дело ругается, ежели просто распаковать в директорию с glibc, то там добавляет папки из этих архивов и все, пробовал вытаскивать из этих папок в директорию с glibc что то совмещал, что то заменял, но думаю это не верный вариант вот покамест здесь и топчусь
export ARCH=arm CROSS_COMPILE=arm-linux- это оставил как в схеме
на gcc никаких патчей не накладывал
binutils-2.20.1 ядро с linux4sam - linux-2.6.33, с патчем для этого ядра и дефконфигом для моей платы (at91sam9xeek)
BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld ../../glibc-2.11.2/./configure --prefix=/usr --build=i686-unknown-linux --host=arm-linux --target=arm-linux --without-fp --without-__thread --enable-add-ons=nplt --disable-sanity-checks --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out этой строкой пытаюсь конфигурировать glibc
|
|
|
|
|
Nov 17 2010, 12:49
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Ладно, начнем по порядку. 1 вся работа идет в шелле. Так удобнее. (Шелл это командная строка). Распаковка файла - tar xf имя_файла. Для автодополнения можно жать на таб, если файлов с введенной частью больше одного - шелл покажет варианты после второго нажатия таба, не обессудь, если их будет много. итак, папка с архивами glibc-2.11.2.tar.bz2, glibc-ports-2.11.tar.bz2. Код tar xf glibc-2.11.2.tar.bz2 tar xf glibc-ports-2.11.tar.bz2 Если хочешь понаблюдать за процессом - вместо xf пиши xvf. x - распаковка, f - в качестве аргументов будут файлы, v - подробно. Копируем содержимое glibc-ports-2.11 в glibc-2.11.2 Код cp -R glibc-ports-2.11/* glibc-2.11.2 Ну а дальше твоя строка конфигурации. И, кстати, опция --without-__thread у меня не проканала, а вот --with-__thread - прошла на ура. Все, я спать, вечером приду с работы - попробую пересобрать свежаки между делом.
|
|
|
|
|
Nov 17 2010, 15:12
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
так то я все и делаю в шелле, у меня на баш направлено, я в експлорере я для удобства портс нужно просто распаковать и все? а как же понятие патчить? --without-__thread, где то читал что надо как раз с потоками и делать, там вроде еще какую то опцию добавлять можно, тоже для потоков, я так думаю раз ты подключаешь nplt, а это как раз потоки и есть, то соответственно наверно эту опцию и выставлять зы, если сбудется моя мечта и я окажусь во владике, то с меня пиво и бабы все как доктор прописал: pwd: /home/petrovs/arm/src petrovs@petrovs:~/arm/src$ tar xf glibc-2.11.2.tar.gz petrovs@petrovs:~/arm/src$ tar xf glibc-ports-2.11.tar.gz petrovs@petrovs:~/arm/src$ cp -R glibc-ports-2.11/* glibc-2.11.2 petrovs@petrovs:~/arm/src$ mkdir build/glibc-2.11.2 petrovs@petrovs:~/arm/src$ cd build/glibc-2.11.2/ барабанная дробь! petrovs@petrovs:~/arm/src/build/glibc-2.11.2$ BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld ../../glibc-2.11.2/./configure --prefix=/usr --build=i686-unknown-linux --host=arm-linux --target=arm-linux --without-fp --with-__thread --enable-add-ons=nplt --disable-sanity-checks --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out напряженная барабанная дробь! публика затаила дыхание! enter checking build system type... i686-unknown-linux-gnu checking host system type... arm-unknown-linux-gnu checking for arm-linux-gcc... arm-linux-gcc checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether arm-linux-gcc accepts -g... yes checking for arm-linux-gcc option to accept ISO C89... unsupported checking for gcc... gcc checking how to run the C preprocessor... arm-linux-gcc -E checking for arm-linux-g++... no checking for arm-linux-c++... no checking for arm-linux-gpp... no checking for arm-linux-aCC... no checking for arm-linux-CC... no checking for arm-linux-cxx... no checking for arm-linux-cc++... no checking for arm-linux-cl.exe... no checking for arm-linux-FCC... no checking for arm-linux-KCC... no checking for arm-linux-RCC... no checking for arm-linux-xlC_r... no checking for arm-linux-xlC... no checking for g++... g++ configure: WARNING: using cross tools not prefixed with host triplet checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes configure: error: add-on directory "nplt" does not exist бинго! з*****а на воротнике! что бы шею не терло на http://frank.harvard.edu/~coldwell/toolchain/ взял скрипт, который делает тоже самое, что то делает, но доходит до компиляции ядра, почти конечного этапа, и там тоже вылетает =( хоть плач, ну что ему надо? там он выкачивает утилиты который в схеме, версии все совпадают не хочет... какие ты используешь версии binutils, glibc, gcc, linux?
|
|
|
|
|
Nov 17 2010, 21:53
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Код configure: WARNING: using cross tools not prefixed with host triplet Мне не нравится этот варнинг. Поищи его в config.log и посмотри (а можешь и мне показать), что рядом с ним, строк +/- 50 где-то. Касательно скрипта - сильно уж он старый. Ядро сильно изменилось после 2.6.18. Да и либси на месте не стоит. Можно еще помучаться с crosstools-ng. Я щас попробую его запустить, вечером приду домой - посмотрю, что получилось. версии: binutils 2.19.1 gcc 4.3.1 glibc 2.9 linux-2.6.29.6 с наложенными патчами PREEMT_RT - вытесняющая многозадачность и атмеловский патч, взятый с максим.орг.за. Насчет пива и девок - давай сначала соберем
|
|
|
|
|
Nov 18 2010, 04:43
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
В перерывах на производственный процесс тестирую crosstools-ng. Приятная вещь, жаль, в прошлый раз не смог ее освоить. Скачал отсюда. Выложил в /home/leen Код tar xf crosstool-ng-1.9.0.tar.bz2 cd crosstool-ng-1.9.0 ./configure --prefix=~/usr make && make install До этого попытался, как белый человек, поставить тулзу в /usr - не завелась, видать, ей надо w доступ на свои файлы. Создаю папку для сборки, конфигурю из нее (перед этим надо не забыть добавить саму тулзу в путь) Код mkdir ~/toolchain-build cd ~/toolchain-build export PATH=$PATH:~/usr/bin ct-ng menuconfig На всякий случай, вот мой конфиг
arm_linux_eabi.config.txt ( 9.48 килобайт )
Кол-во скачиваний: 191 Его только надо переименовать в .config, а то форумный движок запрещает мне заливать файлы такого типа. Хе-хе. Тут можно поступить двояко - или дать тулзе все необходимое загрузить, или сделать это самому. Я собираю все в виртуалке, путь до шлюза у меня не прописан, поэтому выкачал ручками и слил в ~/src. Если дать скрипту выкачивать все и отметить в конфиге, что сырцы надо сохранить, то сохранит он все как раз в ~/src, если такая папка есть. Если нет - не сохранит. Пакеты архивов: binutils-2.20.tar.bz2 gcc-4.4.5.tar.bz2 gdb-6.8.tar.bz2 glibc-2.9.tar.bz2 glibc-ports-2.9.tar.bz2 gmp-4.3.2.tar.bz2 linux-2.6.36.tar.bz2 mpfr-2.4.2.tar.bz2 ppl-0.10.2.tar.bz2 cloog-ppl-0.15.10.tar.gz expat-2.0.1.tar.gz ncurses-5.7.tar.gz Заметил баг в crosstools - Re: CLOOG/ppl failure in ct-ng 1.9.0. Ничего страшного, фиксим файл ~/usr/lib/ct-ng-1.9.0/scripts/build/companion_libs/cloog.sh, добавив строку, помеченную +++. Исправь до сборки, а то при ошибке сборка начинается с начала, блин. А дотуда - полчаса легко. Пока все.
|
|
|
|
|
Nov 18 2010, 06:14
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
вот конфиг: не хочет грузить файл почему то, даже после переименования CODE This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
It was created by GNU C Library configure (see version.h), which was generated by GNU Autoconf 2.63. Invocation command line was
$ ../../glibc-2.11.2/./configure --prefix=/usr --build=i686-unknown-linux --host=arm-linux --target=arm-linux --without-fp --with-__thread --enable-add-ons=nplt --with-headers=/usr/include
## --------- ## ## Platform. ## ## --------- ##
hostname = petrovs uname -m = i686 uname -r = 2.6.36 uname -s = Linux uname -v = #1 SMP Sat Nov 13 10:03:50 MSK 2010
/usr/bin/uname -p = unknown /bin/uname -X = unknown
/bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown
PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH: /usr/bin PATH: /sbin PATH: /bin PATH: /usr/games
## ----------- ## ## Core tests. ## ## ----------- ##
configure:2028: checking build system type configure:2046: result: i686-unknown-linux-gnu configure:2068: checking host system type configure:2083: result: arm-unknown-linux-gnu configure:2114: checking for arm-linux-gcc configure:2141: result: gcc configure:2413: checking for C compiler version configure:2421: gcc --version >&5 gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 Copyright © 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2425: $? = 0 configure:2432: gcc -v >&5 Using built-in specs. Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu Thread model: posix gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) configure:2436: $? = 0 configure:2443: gcc -V >&5 gcc: '-V' option must have argument configure:2447: $? = 1 configure:2451: checking for suffix of object files configure:2477: gcc -c conftest.c >&5 configure:2481: $? = 0 configure:2506: result: o configure:2510: checking whether we are using the GNU C compiler configure:2539: gcc -c conftest.c >&5 configure:2546: $? = 0 configure:2563: result: yes configure:2572: checking whether gcc accepts -g configure:2602: gcc -c -g conftest.c >&5 configure:2609: $? = 0 configure:2710: result: yes configure:2727: checking for gcc option to accept ISO C89 configure:2801: gcc -c -g -O2 conftest.c >&5 configure:2808: $? = 0 configure:2831: result: none needed configure:2854: checking for gcc configure:2881: result: gcc configure:2899: checking how to run the C preprocessor configure:2939: gcc -E conftest.c configure:2946: $? = 0 configure:2977: gcc -E conftest.c conftest.c:8: fatal error: ac_nonexistent.h: No such file or directory compilation terminated. configure:2984: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "GNU C Library" | #define PACKAGE_TARNAME "c-library" | #define PACKAGE_VERSION "(see version.h)" | #define PACKAGE_STRING "GNU C Library (see version.h)" | #define PACKAGE_BUGREPORT "glibc" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:3017: result: gcc -E configure:3046: gcc -E conftest.c configure:3053: $? = 0 configure:3084: gcc -E conftest.c conftest.c:8: fatal error: ac_nonexistent.h: No such file or directory compilation terminated. configure:3091: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "GNU C Library" | #define PACKAGE_TARNAME "c-library" | #define PACKAGE_VERSION "(see version.h)" | #define PACKAGE_STRING "GNU C Library (see version.h)" | #define PACKAGE_BUGREPORT "glibc" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:3145: checking for arm-linux-g++ configure:3175: result: no configure:3145: checking for arm-linux-c++ configure:3175: result: no configure:3145: checking for arm-linux-gpp configure:3175: result: no configure:3145: checking for arm-linux-aCC configure:3175: result: no configure:3145: checking for arm-linux-CC configure:3175: result: no configure:3145: checking for arm-linux-cxx configure:3175: result: no configure:3145: checking for arm-linux-cc++ configure:3175: result: no configure:3145: checking for arm-linux-cl.exe configure:3175: result: no configure:3145: checking for arm-linux-FCC configure:3175: result: no configure:3145: checking for arm-linux-KCC configure:3175: result: no configure:3145: checking for arm-linux-RCC configure:3175: result: no configure:3145: checking for arm-linux-xlC_r configure:3175: result: no configure:3145: checking for arm-linux-xlC configure:3175: result: no configure:3189: checking for g++ configure:3205: found /usr/bin/g++ configure:3216: result: g++ configure:3232: WARNING: using cross tools not prefixed with host triplet configure:3243: checking for C++ compiler version configure:3251: g++ --version >&5 g++ (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 Copyright © 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3255: $? = 0 configure:3262: g++ -v >&5 Using built-in specs. Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu Thread model: posix gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) configure:3266: $? = 0 configure:3273: g++ -V >&5 g++: '-V' option must have argument configure:3277: $? = 1 configure:3280: checking whether we are using the GNU C++ compiler configure:3309: g++ -c conftest.cpp >&5 configure:3316: $? = 0 configure:3333: result: yes configure:3342: checking whether g++ accepts -g configure:3372: g++ -c -g conftest.cpp >&5 configure:3379: $? = 0 configure:3480: result: yes configure:4084: error: add-on directory "nplt" does not exist
## ---------------- ## ## Cache variables. ## ## ---------------- ##
ac_cv_build=i686-unknown-linux-gnu ac_cv_c_compiler_gnu=yes ac_cv_cxx_compiler_gnu=yes ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set=set ac_cv_env_CC_value=gcc ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_build_alias_set=set ac_cv_env_build_alias_value=i686-unknown-linux ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=arm-linux ac_cv_env_target_alias_set=set ac_cv_env_target_alias_value=arm-linux ac_cv_host=arm-unknown-linux-gnu ac_cv_objext=o ac_cv_prog_BUILD_CC=gcc ac_cv_prog_CC=gcc ac_cv_prog_CPP='gcc -E' ac_cv_prog_ac_ct_CXX=g++ ac_cv_prog_cc_c89= ac_cv_prog_cc_g=yes ac_cv_prog_cxx_g=yes libc_cv_nss_crypt=no
## ----------------- ## ## Output variables. ## ## ----------------- ##
AR='ar' AS='as' ASFLAGS_config='' AUTOCONF='' AWK='' BASH_SHELL='' BISON='' BUILD_CC='gcc' CC='gcc' CFLAGS='-g -O2' CPP='gcc -E' CPPFLAGS='' CXX='g++' CXXFLAGS='-g -O2' CXX_SYSINCLUDES='' DEFINES='' DEFS='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' GREP='' INSTALL_DATA='' INSTALL_INFO='' INSTALL_PROGRAM='' INSTALL_SCRIPT='' KSH='' LD='ld' LDFLAGS='' LIBGD='' LIBOBJS='' LIBS='' LN_S='' LTLIBOBJS='' MAKE='' MAKEINFO='' MIG='' MSGFMT='' OBJDUMP='' OBJEXT='o' PACKAGE_BUGREPORT='glibc' PACKAGE_NAME='GNU C Library' PACKAGE_STRING='GNU C Library (see version.h)' PACKAGE_TARNAME='c-library' PACKAGE_VERSION='(see version.h)' PATH_SEPARATOR=':' PERL='' PWD_P='' RANLIB='ranlib' RELEASE='' SED='' SHELL='/bin/sh' SYSINCLUDES='' VERSION='' VERSIONING='' ac_ct_CC='' ac_ct_CXX='g++' add_on_subdirs='' add_ons='nplt' all_warnings='' base_machine='' bindir='${exec_prefix}/bin' bindnow='no' bounded='no' build='i686-unknown-linux-gnu' build_alias='i686-unknown-linux' build_cpu='i686' build_os='linux-gnu' build_vendor='unknown' cross_compiling='yes' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' elf='yes' enable_check_abi='no' exceptions='' exec_prefix='NONE' experimental_malloc='' fno_unit_at_a_time='' force_install='yes' have_libaudit='' have_libcap='' have_selinux='' host='arm-unknown-linux-gnu' host_alias='arm-linux' host_cpu='arm' host_os='linux-gnu' host_vendor='unknown' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' ldd_rewrite_script='' libc_cv_Bgroup='' libc_cv_as_needed='' libc_cv_cc_avx='' libc_cv_cc_sse4='' libc_cv_cc_submachine='' libc_cv_cc_with_libunwind='' libc_cv_cpp_asm_debuginfo='' libc_cv_forced_unwind='' libc_cv_fpie='' libc_cv_gcc_static_libgcc='' libc_cv_gcc_unwind_find_fde='' libc_cv_gnu89_inline='' libc_cv_hashstyle='' libc_cv_have_bash2='' libc_cv_have_initfini='' libc_cv_have_ksh='' libc_cv_libgcc_s_suffix='' libc_cv_localedir='' libc_cv_nss_crypt='no' libc_cv_pic_default='' libc_cv_rootsbindir='' libc_cv_slibdir='' libc_cv_ssp='' libc_cv_sysconfdir='' libc_cv_z_combreloc='' libc_cv_z_execstack='' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mach_interface_list='' mandir='${datarootdir}/man' multi_arch='no' no_whole_archive='' nopic_initfini='' old_glibc_headers='' oldest_abi='default' oldincludedir='/usr/include' omitfp='no' pdfdir='${docdir}' prefix='/usr' profile='no' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' shared='default' sharedstatedir='${prefix}/com' sizeof_long_double='' static='yes' static_nss='no' subdirs=' ' submachine='' sysconfdir='${prefix}/etc' sysdeps_add_ons='' sysnames='' target_alias='arm-linux' uname_release='' uname_sysname='' uname_version='' use_ldconfig='' with_cvs='yes' with_fp='no' xcoff='no'
## ----------- ## ## confdefs.h. ## ## ----------- ##
#define PACKAGE_NAME "GNU C Library" #define PACKAGE_TARNAME "c-library" #define PACKAGE_VERSION "(see version.h)" #define PACKAGE_STRING "GNU C Library (see version.h)" #define PACKAGE_BUGREPORT "glibc"
configure: exit 1
вот он весь целиком http://mdf-i.blogspot.com/2008/04/arm-iwmm...-toolchain.htmlздесь нашел пару патчей, накладывал их, но тоже не поехало. на скрипт я так особо не надеялся, просто уже интересно стало, хоть так поедет или нет, но видимо совсем уж старый crosstool-ng вроде как интересная вещица, смотрел emdebian, мне кажецца что это не для новичков в линуксе.
Сообщение отредактировал IgorKossak - Nov 18 2010, 08:23
Причина редактирования: Научитесь пользоваться тэгами
|
|
|
|
|
Nov 18 2010, 06:14
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(sangre @ Nov 18 2010, 15:52)  $ ../../glibc-2.11.2/./configure --prefix=/usr --build=i686-unknown-linux --host=arm-linux --target=arm-linux --without-fp --with-__thread --enable-add-ons=nplt --with-headers=/usr/include Тащемто правильно nptl. Эт раз. По кросстулзам. На сборке глибцов все сломалось. В конфиг добавил ключ --with-tls, в использовании аддонов записал nptl. Для того, чтобы не пересобирать все сначала, включил отладку и запоминание промежуточных шагов. Перезапустил, через час посмотрю.
|
|
|
|
|
Nov 18 2010, 07:12
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
BUILD_CC=gcc CC=${CROSS_COMPILE}gcc AR=${CROSS_COMPILE}ar RANLIB=${CROSS_COMPILE}ranlib AS=${CROSS_COMPILE}as LD=${CROSS_COMPILE}ld ../../glibc-2.11.2/./configure --prefix=/usr --build=i686-unknown-linux --host=arm-linux --target=arm-linux --without-fp --with-__thread --enable-add-ons --with-tls --enable-kernel=2.6.33 --disable-sanity-checks --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out
с этой строкой конфигурации он корфигурирует, здесь --with-__thread \ -видимо что то для потоков --enable-add-ons\ - если ничего явно не указано, то добавляет все add-on"ы который найдет, с этим не ругается на configure: error: add-on directory "nplt" does not exist, и варнинга того тоже вроде не проскакивает --with-tls\ это что то вроде как к потокам относиться, что то где то читал но теперь не могу найти --enable-kernel=2.6.33 ну и мое ядро, взятое с linux4sam и пропатченное патчем оттудаже
=)) блин nplt, точно вообще про glibc везде пишут что капризная вещ
--enable-add-ons=nptl с этим флагом получаю checking sysdep dirs... configure: error: The arm is not supported. хотя порт распаковал.... заколдованный круг какой то блин
какая у тебя операционка? у меня ubuntu 10.10 i386
|
|
|
|
|
Nov 18 2010, 08:02
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
хорошо. вот я подумал, утомила glibc, может попробовать другую либу? например newlib? или еще ченить к примеру заточенное под embedded?
../../gcc-4.4.5/./configure --prefix=${PREFIX} --target=${TARGET} --enable-languages=c --with-sysroot=${SYSROOT} --without-fp --with-softfloat-support=internal --with-newlib --disable-threads --disable-shared --enable-static --with-inhibit-libc --with-float=soft 2>&1 | tee configure.out промежуточная компиляция gcc для сборки glibc: --with-newlib \ вот это правильно? вроде использовать то собираемся glibc, и на компе тоже glibc стоит --disable-threads \ это правильно?
|
|
|
|
|
Nov 18 2010, 09:15
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
configure: error: forced unwind support is required теперь просит эту опцию, где и как ее включить? никак не могу найти описание опций для конфигурации gcc и glibc
|
|
|
|
|
Nov 18 2010, 10:57
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
http://www.rsdn.ru/forum/unix/3631177.flat.aspxнижний пост рекомендует переустановить ос как то даже не знаю... переставить конечно недолго, но это как то не путь джедая open embedded кстати собрал мне и ядро и рутфс, и работает на плате, получилось как в примере на linux4sam, но мне это не нравится тем, что непонятно как все сработало, почему работает, и как это использовать
|
|
|
|
|
Nov 18 2010, 14:17
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
в общем для кучи, посмотрел ct-ng, собирал по инструкции, вроде собралось, вот что получилось, меня смущает что так быстро: CODE petrovs@petrovs:~/crosstool-ng-1.9.0$ ./configure --prefix=$HOME/ctng --with-libtool=$HOME/ctng/libtool Checking for 'grep'... /bin/grep Checking whether '/bin/grep' supports -E... yes Checking for 'sed'... /bin/sed Checking whether '/bin/sed' supports -i and -e... yes Checking for 'bash'... /bin/bash Checking for 'cut'... /usr/bin/cut Checking for 'install'... /usr/bin/install Checking for 'make'... /usr/bin/make Checking for 'gcc'... /usr/bin/gcc Checking for 'awk'... /usr/bin/awk Checking for 'bison'... /usr/bin/bison Checking for 'flex'... /usr/bin/flex Checking for 'makeinfo'... /usr/bin/makeinfo Checking for 'automake'... /usr/bin/automake Checking for 'libtool'... /home/petrovs/ctng/libtool (cached) Checking for 'stat'... /usr/bin/stat Checking for 'aria2c'... no Checking for 'curl'... no Checking for 'wget'... /usr/bin/wget Checking for 'cvs'... /usr/bin/cvs Checking for 'patch'... /usr/bin/patch Checking for 'tar'... /bin/tar Checking for 'gzip'... /bin/gzip Checking for 'bzip2'... /bin/bzip2 Checking for 'lzma'... /usr/bin/lzma Checking for 'readlink'... /bin/readlink Checking for 'objcopy'... /usr/bin/objcopy Checking for 'objdump'... /usr/bin/objdump Checking for 'readelf'... /usr/bin/readelf Checking for 'patch'... /usr/bin/patch Checking for 'ncurses/ncurses.h'... no Checking for 'ncurses/curses.h'... no Checking for 'ncurses.h'... yes Checking for 'libncursesw.so'... no Checking for 'libncursesw.a'... no Checking for 'libncursesw.dylib'... no Checking for 'libncurses.so'... yes Computing version string... 1.9.0 Building up Makefile... done
crosstool-NG configured as follows: PREFIX='/home/petrovs/ctng' BINDIR='/home/petrovs/ctng/bin' LIBDIR='/home/petrovs/ctng/lib/ct-ng-1.9.0' DOCDIR='/home/petrovs/ctng/share/doc/ct-ng-1.9.0' MANDIR='/home/petrovs/ctng/share/man'
Now run: make make install petrovs@petrovs:~/crosstool-ng-1.9.0$ make SED 'ct-ng' SED 'scripts/crosstool-NG.sh' SED 'scripts/saveSample.sh' SED 'scripts/showTuple.sh' GEN 'paths.mk' SED 'docs/ct-ng.1' GZIP 'docs/ct-ng.1.gz' petrovs@petrovs:~/crosstool-ng-1.9.0$ make install MKDIR '/home/petrovs/ctng/bin/' INST 'ct-ng' RMDIR '/home/petrovs/ctng/lib/ct-ng-1.9.0/' MKDIR '/home/petrovs/ctng/lib/ct-ng-1.9.0/' INSTDIR 'config/' INSTDIR 'contrib/' INSTDIR 'kconfig/' INSTDIR 'patches/' INSTDIR 'scripts/' INST 'steps.mk' INST 'paths.mk' INSTDIR 'samples/' MKDIR '/home/petrovs/ctng/share/doc/ct-ng-1.9.0/' INST 'docs/*.txt' MKDIR '/home/petrovs/ctng/share/man/man1/' INST 'ct-ng.1.gz'
For auto-completion, do not forget to install 'ct-ng.comp' into your bash completion directory (usually /etc/bash_completion.d) чуток смущает вывод: For auto-completion, do not forget to install 'ct-ng.comp' into your bash completion directory (usually /etc/bash_completion.d) переводил словариком, че надо не понял (забил) дальше по инструкции выбрал себе конфиг типа arm-unknown-linux-gnueabi отредактировал путь и получил: petrovs@petrovs:~/ctngbuild$ ct-ng build.4 [INFO ] Performing some trivial sanity checks [INFO ] Build started 20101118.165702 [INFO ] Building environment variables [WARN ] Directory '/home/petrovs/src' does not exist. [WARN ] Will not save downloaded tarballs to local storage. [EXTRA] Preparing working directories [ERROR] Missing: 'i686-pc-linux-gnu-gcj' or 'i686-pc-linux-gnu-gcj' or 'gcj' : either needed! [00:01] / make[1]: *** [build] Ошибка 1 make: *** [build.4] Ошибка 2 прямо какой то злой рок, блин
|
|
|
|
|
Nov 18 2010, 21:14
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Скажи, а тебе так нуже java-компилер под АРМ? Или таки нет? Если нужен - ну, наверно, надо поставить gcj под i686. Лучше сконфигури кросстулзы сам - меньше мусора будет. И читай мануалы в процессе. Только в конфиге libc укажи addon nptl, компиляторы - по вкусу, я выставил gcc, g++. Джава мне не нужна, ада с фортраном - тоже. Свою реплику про "--with-tls" дезавуирую. Пока собралось не все (за ночь - не так уж быстро), но глицы и компилеры собрались, сейчас собирается нативный gdb. Да, и поотмечай в опциях binutils и gcc сборку библиотек. А будет у тебя нормальный тулчейн - займемся ручным изготовлением инитрамфс, а на его основе уже можно создать и свой постоянный рутовый раздел. Вчера попробовал поставить emdebian - пока собирались тулзы. И надо ж такому случиться - сервер недоступен. Аж обидно. UPD: тулчейн собрался за ночь. Проверил на ядре - собрал с рабочим конфигом новыми тулзами. Ядро нормально запустилось и нормально же запаниковало, не найдя инитрамфс. Вечером продолжу - соберу инитрамфс, вкручу в ядро. Кросстулз мне понравились тем, что правильно настроил, сырцы дал - и ушел. А оно работает  Ну и аккуратнее получилось, чем у меня пару лет назад, когда я ручками все это собирал.
|
|
|
|
|
Nov 19 2010, 05:51
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
да, так поехало, надо было внимательнее почитать конфиг, да я еще повелся на точ что там сказали смотреть можно, а руками не трогать =( а руками я считаю собрать хоть раз но надо, что бы иметь представление что к чему. ты копался собирал - и шаришь
|
|
|
|
|
Nov 19 2010, 06:11
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(sangre @ Nov 19 2010, 15:51)  а руками я считаю собрать хоть раз но надо, что бы иметь представление что к чему. ты копался собирал - и шаришь Шарю? Хм, спорный вопрос, опустим для ясности  . По-крайней мере, из вариантов - собирать ручками, или собирать скриптами я уже выбрал второй. А первый - и в первый раз через пень-колоду получился, и сейчас не очень-то пошел.
|
|
|
|
|
Nov 19 2010, 07:53
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-11-10
Пользователь №: 60 727

|
щас тоже попробую ченить собрать
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|