Jump to content

    

Запуск Linux на плате RainBow v1.1

Прошу прошение за долгле молчание и за то что не выслал пакеты

Какнал связи не позволил

И начальство тоже

Выкладываю здесь потом напишу как ставил сам

 

 

выложил патчи

patches.tar.gz

Share this post


Link to post
Share on other sites

Где и в каком пункте (по мануалу с heavy-online) должны быть прописаны UNAME_SYSNAME, UNAME_RELEASE, UNAME_VERSION и UNAME_MACHINE? А главное где?.. Это при сборке glibc ругается...

 

З.Ы. Уже за**ся.

Share this post


Link to post
Share on other sites

Внесу свои пять копеек.

Со сборкой мучился долго но так и не смог полностью собрать. Постоянно выскакивали ошибки. Потом плюнулю Скачал собраный разархивировал. И вуаля заработал.

Сегодня попробую собрать под Слакой из других исходников

Share this post


Link to post
Share on other sites
Внесу свои пять копеек.

Со сборкой мучился долго но так и не смог полностью собрать. Постоянно выскакивали ошибки. Потом плюнулю Скачал собраный разархивировал. И вуаля заработал.

Сегодня попробую собрать под Слакой из других исходников

Собираю по докам с оф. канала ирки. Сак кросскомпилер есть, убут собирал уже. Но ядро не собрать, лезут странные ошибки, в частности, с 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

Делал по доке...

Share this post


Link to post
Share on other sites
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

вот тут клинит...

Edited by Playnet

Share this post


Link to post
Share on other sites

rainbow - потому что понравилось. :) На функциональность не влияет.

баш дейстивтельно не собирается. и еще куча пакетов :(

Есть два способа решения проблемы.

1. Собирать все на целевом устройстве (плате rainbow).

2. Собирать в симуляторе qemu.

 

У каждого способа свои "+" и "-".

1. Все что собирается - уже точно работает. Но процесс сборки идет медленно.

 

2. Работает очень быстро, но нет гарантии что все заработает.

 

> xmerge -av gentoo-sources

что выводит?

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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.

 

 

Как лечить?

Share this post


Link to post
Share on other sites

Собираю бутром, вшиваю.

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
*----------------------------------------*

 

Хорошо конечно, что частоты показывает... Но писать лоадер не умеет, в отличие от хэви.

Причем и читать тоже..

Share this post


Link to post
Share on other sites
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

 

 

Собираю бутром, вшиваю.

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

Share this post


Link to post
Share on other sites

Правильнее USE="-*" xmerge -avO gentoo-sources

 

так собираем кросскомпилятор в gentoo:

 

1. emerge -av crossdev

 

2. USE="-iconv" crossdev-stable -v --b 2.16.1-r3 --g 3.4.6-r2 --k 2.6.11-r3 --l 0.9.28 --ex-gdb -t arm-rainbow-linux-uclibc

 

если нужен softfloat, то пишем так:

 

USE="-iconv" crossdev-stable -v --b 2.16.1-r3 --g 3.4.6-r2 --k 2.6.11-r3 --l 0.9.28 --ex-gdb -t arm-softfloat-linux-uclibc

Share this post


Link to post
Share on other sites
Собрал все/ под Debianom

при первой попытке скомпилировать первичный загрузчик заругалась

сижу разбираюсь

странно - у меня все скомпилилось, честно исходники скачанные с сайта heavy..

но самое полезное там - это готовый тулчейн 8)

Share this post


Link to post
Share on other sites

Решил все-таки собрать это под цигвин. Собрал 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:
....

 

И как бы в цигвине добиться зависимости от регистра? Или как бы найти причину?

Хотя стоп... Может дело при распаковке происходит... Щас пойду копать...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this