|
|
|
Запуск Linux на плате RainBow v1.1, делимся опытом |
|
|
|
Mar 4 2007, 10:06
|
Частый гость
Группа: Свой
Сообщений: 99
Регистрация: 12-02-07
Из: Свердловск
Пользователь №: 25 269
|
Цитата(Хомяк @ Mar 4 2007, 08:06) Прошу прошение за долгле молчание и за то что не выслал пакеты Какнал связи не позволил И начальство тоже Выкладываю здесь потом напишу как ставил сам выложил патчи
|
|
|
|
|
Mar 9 2007, 23:26
|
Частый гость
Группа: Свой
Сообщений: 132
Регистрация: 10-05-06
Пользователь №: 16 930
|
Цитата(Старый Бабай @ Mar 9 2007, 07:25) Внесу свои пять копеек. Со сборкой мучился долго но так и не смог полностью собрать. Постоянно выскакивали ошибки. Потом плюнулю Скачал собраный разархивировал. И вуаля заработал. Сегодня попробую собрать под Слакой из других исходников Собираю по докам с оф. канала ирки. Сак кросскомпилер есть, убут собирал уже. Но ядро не собрать, лезут странные ошибки, в частности, с bash. Пока не до компилера, но на след неделе надеюсь вылечить. Потом инструкции дам. В частности, в генту есть все нужное для кросскомпилера, но много нюансов, например, нужно брать linux-headers не 2.6.20 (я 2.6.17 взял), гцц 3.4.6... 4.х -- есть тонкости сборки, пока не мучил его. Мне вот что непонятно... Там так строится имя кросскомпилера - arm-softfloat-linux-uclibc Понятно только с архитектурой, а вот дальше.. Почему именно softfloat, есть всякие gentoo, pc, unknown Вместо линуха можно elf, linux, uclinux либы -- gnu, uclibc Делал по доке...
|
|
|
|
|
Mar 12 2007, 00:21
|
Частый гость
Группа: Свой
Сообщений: 132
Регистрация: 10-05-06
Пользователь №: 16 930
|
Цитата(COMA @ Mar 10 2007, 02:04) Playnet, все просто и понятно. Почитайте доку - http://www.gentoo.org/proj/en/base/embedde...development.xmlя собирал arm-rainbow-linux-uclibc. Эээ.. это как? Почему rainbow? И как собирать bash? В доках сказано, что кросс глючный, лучше нативный. А как его привязать... И есть еще проблемы со сборкой. По тому линку кстати и делал. Отваливаюсь на xmerge gentoo-source выпадают баш и еще какие-то 2 пакета. Code Listing 5.1: Installing kernel sources for the target system # xmerge -av gentoo-sources вот тут клинит...
Сообщение отредактировал Playnet - Mar 12 2007, 00:38
|
|
|
|
|
Mar 12 2007, 02:48
|
Знающий
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559
|
rainbow - потому что понравилось. На функциональность не влияет. баш дейстивтельно не собирается. и еще куча пакетов Есть два способа решения проблемы. 1. Собирать все на целевом устройстве (плате rainbow). 2. Собирать в симуляторе qemu. У каждого способа свои "+" и "-". 1. Все что собирается - уже точно работает. Но процесс сборки идет медленно. 2. Работает очень быстро, но нет гарантии что все заработает. > xmerge -av gentoo-sources что выводит?
|
|
|
|
|
Mar 12 2007, 11:48
|
Частый гость
Группа: Свой
Сообщений: 132
Регистрация: 10-05-06
Пользователь №: 16 930
|
Цитата(COMA @ Mar 12 2007, 02:48) rainbow - потому что понравилось. На функциональность не влияет. баш дейстивтельно не собирается. и еще куча пакетов Есть два способа решения проблемы. 1. Собирать все на целевом устройстве (плате rainbow). 2. Собирать в симуляторе qemu. У каждого способа свои "+" и "-". 1. Все что собирается - уже точно работает. Но процесс сборки идет медленно. 2. Работает очень быстро, но нет гарантии что все заработает. > xmerge -av gentoo-sources что выводит? Чтобы собирать на плате, надо иметь ядро. А для его сборки надо поставить сорцы... Но у нас же стоит кросскомпилер и штатные сырцы... Что, если создать конфиг под арм и собрать его на системных сорцах, изменив пути? mkdir /usr/src/arm chown arm:arm /usr/src/arm Можно распаковать сюда сорцы, пропатчить и собирать. (кстати, патчить особо и не нужно, ftp://ftp.arm.linux.org.uk/pub/armlinux/s...hes/v2.6/README ) Или просто, ARCH="arm" CROSS_COMPILE="arm-linux-gnu-uclibc-" make make clean make dep make zImage make modules
|
|
|
|
|
Mar 13 2007, 02:24
|
Частый гость
Группа: Свой
Сообщений: 132
Регистрация: 10-05-06
Пользователь №: 16 930
|
Собираю бутром, вшиваю. Код Init hardware press any key run 80% Freq OSC Main - 15998976 Hz Freq PLLA - 179988480 Hz Freq PLLB - 95993856 Hz Freq PCK - 179988480 Hz Freq MCK - 89994240 Hz DBGU BR - 170454 Hz
ATMEL LOADER VER SV.01 Mar 13 2007 01:42:52 *----------------------------------------* DataFlash : unknown 0x34 *----------------------------------------* 1: Download Dataflash [addr] 2: Read Dataflash [addr] 3: Start U-BOOT 4: Clear bootloader section in Dataflash *----------------------------------------* Хорошо конечно, что частоты показывает... Но писать лоадер не умеет, в отличие от хэви. Причем и читать тоже..
|
|
|
|
|
Mar 13 2007, 09:05
|
Знающий
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559
|
Цитата(Dron_Gus @ Mar 12 2007, 21:19) xmerge -av gentoo-sources
checking for alloca... (cached) yes checking whether getpgrp requires zero arguments... yes checking whether setvbuf arguments are reversed... configure: error: cannot run test program while cross compiling
!!! Please attach the following file when filing a report to bugs.gentoo.org: !!! /var/tmp/portage/app-shells/bash-3.1_p17/work/bash-3.1/config.log
!!! ERROR: app-shells/bash-3.1_p17 failed.
Как лечить? попробуй USE="-*" xmerge -av gentoo-sources Цитата(Playnet @ Mar 13 2007, 02:24) Собираю бутром, вшиваю. Код Init hardware press any key run 80% Freq OSC Main - 15998976 Hz Freq PLLA - 179988480 Hz Freq PLLB - 95993856 Hz Freq PCK - 179988480 Hz Freq MCK - 89994240 Hz DBGU BR - 170454 Hz
ATMEL LOADER VER SV.01 Mar 13 2007 01:42:52 *----------------------------------------* DataFlash : unknown 0x34 *----------------------------------------* 1: Download Dataflash [addr] 2: Read Dataflash [addr] 3: Start U-BOOT 4: Clear bootloader section in Dataflash *----------------------------------------* Хорошо конечно, что частоты показывает... Но писать лоадер не умеет, в отличие от хэви. Причем и читать тоже.. у меня почему то и u-boot зашивается и память читается. Что я делаю не так? P.S. у тебя флешка не определилась - "DataFlash : unknown 0x34" У меня пишет - DataFlash : AT45DB642 Number pages = 8192 Page size = 1056
|
|
|
|
|
Mar 17 2007, 17:31
|
Йа моск ;)
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610
|
Решил все-таки собрать это под цигвин. Собрал binutils, собрал гнуся. Дело за библиотекой - и вот какая фигня: Код arm-linux-gcc -nostdlib -nostartfiles -shared -o /usr/local/arm/src/BUILD/glibc-2.3.6/elf/ld.so \ -Wl,-z,combreloc -Wl,-z,relro -Wl,-z,defs \ /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os -Wl,--version-script=/usr/local/arm/src/BUILD/glibc-2.3.6/ld.map \ -Wl,-soname=ld-linux.so.2 -T /usr/local/arm/src/BUILD/glibc-2.3.6/elf/ld.so.lds /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `dl_main': /usr/local/arm/src/glibc-2.3.6/elf/rtld.c:1181: undefined reference to `__access' /usr/local/arm/src/glibc-2.3.6/elf/rtld.c:2293: undefined reference to `__open' /usr/local/arm/src/glibc-2.3.6/elf/rtld.c:2265: undefined reference to `__access' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `lose': /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:791: undefined reference to `__close' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `_dl_map_object_from_fd': /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:833: undefined reference to `__GI___fxstat64' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:848: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:932: undefined reference to `__lseek' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:933: undefined reference to `__libc_read' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1358: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:877: undefined reference to `__close' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `open_verify': /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1514: undefined reference to `__open' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1526: undefined reference to `__libc_read' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1615: undefined reference to `__lseek' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1616: undefined reference to `__libc_read' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1650: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1633: undefined reference to `__lseek' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1634: undefined reference to `__libc_read' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `open_path': /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1749: undefined reference to `__GI___fxstat64' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1755: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1729: undefined reference to `__GI___xstat64' /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1776: undefined reference to `__close' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `_dl_map_object': /usr/local/arm/src/glibc-2.3.6/elf/dl-load.c:1959: undefined reference to `__close' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `_dl_new_object': /usr/local/arm/src/glibc-2.3.6/elf/dl-object.c:147: undefined reference to `__getcwd' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `_dl_sysdep_read_whole_file': /usr/local/arm/src/glibc-2.3.6/elf/dl-misc.c:58: undefined reference to `__open' /usr/local/arm/src/glibc-2.3.6/elf/dl-misc.c:61: undefined reference to `__GI___fxstat64' /usr/local/arm/src/glibc-2.3.6/elf/dl-misc.c:79: undefined reference to `__close' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `_dl_start_profile': /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:287: undefined reference to `__open' /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:298: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:304: undefined reference to `__GI___fxstat64' /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:335: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:355: undefined reference to `__close' /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:320: undefined reference to `__lseek' /usr/local/arm/src/glibc-2.3.6/elf/dl-profile.c:327: undefined reference to `__libc_write' /usr/local/arm/src/BUILD/glibc-2.3.6/elf/librtld.os: In function `check_one_fd': ../sysdeps/generic/check_fds.c:44: undefined reference to `__libc_fcntl' ../sysdeps/generic/check_fds.c:60: undefined reference to `__GI___fxstat64' Совсем мне не ясно, где же он потерял эти функции? Дальнейшие консультации с гуглей показали что Код Use a case-sensitive file System (Unix File System or Mac OS Extended Case-sensitive). Building GLIBC fails in a case-insentive file system (don’t ask me why !), with the following error message: .... И как бы в цигвине добиться зависимости от регистра? Или как бы найти причину? Хотя стоп... Может дело при распаковке происходит... Щас пойду копать...
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|