Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:4
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:8
Форум » starterkit.ru » Embedded Linux
Не собирается ядро
AlexeyEvt
Добавлено 28.08.2012 17:41
0
Сообщение: 1
AlexeyEvt
4

Пункты: 728
Регистрация: 18.05.2011
Для компиляции ядра Linux для платы поставил себе Debian 6, установил компилятор CodeCourcery arm-none-linux-gnuebi 4.6.3 (пути прописал).
с виртуальной машины, которая шла вместе с платой (SK-MAT91SAM9260) скопировал папку Linux 2.6.28 без изменений.
Пытаюсь запустить ядро на компиляцию (make_kernel) получаю сообщение:
Код
dir@deb:/src/linux-2.6.28$ ./make_kernel
CHK include/linux/version.h
SYMLINK include/asm -> include/asm-arm
make[1]: `include/asm-arm/mach-types.h' не требует обновления.
CHK include/linux/utsrelease.h
CC scripts/mod/empty.o
as: unrecognized option '-EL'
make[2]: *** [scripts/mod/empty.o] Ошибка 1
make[1]: *** [scripts/mod] Ошибка 2
make: *** [scripts] Ошибка 2

насколько я понял сообщение, ошибка тут "as: unrecognized option '-EL'", а вот что она означает, и где чего смотреть не соображу. Кто знает, направьте, в какую сторону копать ..
Спуститься к концу Подняться к началу
Персональная информация
xaba
Добавлено 28.08.2012 18:13 Редактировалось 28.08.2012 18:19 Сообщение: 2
xaba
4

Пункты: 15268
Регистрация: 23.04.2012
Скорее всего версия компилятора другая должна быть.
Попробуйте собрать кросс-компилятор как тут написано
https://code.google.com/p/starterkit-org/wiki/CrosstoolNg

Параметры для вашей архитектуры я незнаю, тк не было возможности.
Спуститься к концу Подняться к началу
Персональная информация
vibic
Добавлено 30.08.2012 02:27 Сообщение: 3
vibic
5

Пункты: 940
Регистрация: 23.01.2012
Пол: Мужчина
[quote]Для компиляции ядра Linux для платы поставил себе Debian 6, установил компилятор CodeCourcery arm-none-linux-gnuebi 4.6.3 (пути прописал).
с виртуальной машины, которая шла вместе с платой (SK-MAT91SAM9260) скопировал папку Linux 2.6.28 без изменений.
Пытаюсь запустить ядро на компиляцию (make_kernel) получаю сообщение:
Код
dir@deb:/src/linux-2.6.28$ ./make_kernel
CHK include/linux/version.h
SYMLINK include/asm -> include/asm-arm
make[1]: `include/asm-arm/mach-types.h' не требует обновления.
CHK include/linux/utsrelease.h
CC scripts/mod/empty.o
as: unrecognized option '-EL'
make[2]: *** [scripts/mod/empty.o] Ошибка 1
make[1]: *** [scripts/mod] Ошибка 2
make: *** [scripts] Ошибка 2

насколько я понял сообщение, ошибка тут "as: unrecognized option '-EL'", а вот что она означает, и где чего смотреть не соображу. Кто знает, направьте, в какую сторону копать ..[/quote]



А попробуйте использовать среду для сборки например scratchbox.
Инструкция:

#1)
wget http://www.scratchbox.org/download/files/sbox-releases/hathor/tarball/scratchbox-core-1.0.24-i386.tar.gz
wget http://www.scratchbox.org/download/files/sbox-releases/hathor/tarball/scratchbox-libs-1.0.24-i386.tar.gz
wget http://www.scratchbox.org/download/files/sbox-releases/hathor/tarball/scratchbox-toolchain-arm-linux-cs2009q3-67-1.0.18-1-i386.tar.gz
wget http://www.scratchbox.org/download/files/sbox-releases/hathor/tarball/scratchbox-devkit-qemu-0.13.90-0rabbit1-i386.tar.gz

#2)

tar cvfz scratchbox-core-1.0.24-i386.tar.gz -C path
tar scratchbox-libs-1.0.24-i386.tar.gz -C path
tar scratchbox-toolchain-arm-linux-cs2009q3-67-1.0.18-1-i386.tar.gz -C path
tar scratchbox-devkit-qemu-0.13.90-0rabbit1-i386.tar.gz -C path

#3)

cd path/scratchbox
sudo ./run_me_first.sh
id
#берем имя текущего твоего пользователя!
sudo ./sbin/sbox_adduser "ИМЯ ПОЛЬЗОВАТЕЛЯ ТВОЯ!!!"
sudo ./sbin/sbox_ctl start/stop # в будущем старт сервиса, можешь запускать как демон при загрузке
./login
[sbox: ~] > sb-menu
// Setup
// <NEW>
// Enter name for new target - к примеру arm
// Select compiler - arm-linux-cs2009q3-67 cross
// Select devkits - qemu
// DONE
// Select CPU-transparency method - qemu-arm-sb
// Do you wish to extract a rootstrap on the target? - NO
// Do you wish to install files to the target? -Yes
// Install files to target - OK
// Do you wish to select the target? - Yes
[sbox-arm: ~] >nano hello.c
[sbox-arm2: ~] > cat hello.c
#include<stdio.h>


main()
{

printf("Hello world!\n");

}
[sbox-arm: ~] > gcc -o hello hello.c
[sbox-arm: ~] > file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.16, dynamically linked (uses shared libs), not stripped
[sbox-arm: ~] > ./hello
Hello world!
копируем на устройство проверям и радуемся!

в реальной системе путь до хома -
/home/пользователь/scratchbox/users/пользователь/home/пользователь

Сборка ядра, как будто уже на арме -
make ARCH=arm -j4
только make ARCH=arm menuconfig .config придеться делать вне среды, либо надо будет дособрать бибилиотеки, не помню уже все какие, точно ncurses понадобиться, ну и еще что-то. Хотя когда надо было, почти все легко получилось. И да, это конечно не один способ сборки.
Можно и по старинке make ARCH=arm CROSS_COMPILE=путь до тулчайна -j4.

Инструкция писалась когда-то хорошему человеку, поэтому так чутка пафосна, простите если что
Спуститься к концу Подняться к началу
Персональная информация
AlexeyEvt
Добавлено 30.08.2012 14:50 Сообщение: 4
AlexeyEvt
4

Пункты: 728
Регистрация: 18.05.2011
Ошибка действительно исчезла при использовании версии компилятора с диска (2007q1).

scratchbox попробую, что зверь такой ;-)

Спасибо за ответы!
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux