ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: oev от 13 Августа, 2014, 10:15:59

Название: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 10:15:59
Доброго всем времени суток. Первый раз в жизни собираю ядро, встретился с такой проблемой и прошу о помощи!
Склонировал я git репозиторий  c zao-zeo  и провожу такие манипуляции

oev@oev:~/zao_git$ export ARCH=arm
oev@oev:~/zao_git$ export CROSS_COMPILE=arm-none-linux-gnueabi-
oev@oev:~/zao_git$ make tion270_defconfig
#
# configuration written to .config
#
oev@oev:~/zao_git$ make
scripts/kconfig/conf -s arch/arm/Kconfig
include/config/auto.conf:115:warning: symbol value 'elf32-i386' invalid for OUTPUT_FORMAT
include/config/auto.conf:164:warning: symbol value 'arch/x86/configs/i386_defconfig' invalid for ARCH_DEFCONFIG
include/config/auto.conf:385:warning: symbol value '-fcall-saved-ecx -fcall-saved-edx' invalid for ARCH_HWEIGHT_CFLAGS

*** Error during update of the kernel configuration.

make[2]: *** [silentoldconfig] Ошибка 1
make[1]: *** [silentoldconfig] Ошибка 2
make: *** Нет правила для сборки цели `include/config/auto.conf', требуемой для `include/config/kernel.release'.  Останов.


При этом конфигурационный файл собирается конкретно под tion270. Что я делаю не так? Если не выбирать arm архитектуру, то сборка собирается под x86
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 14:39:04
1. Вы make делаете в той же сессии командной оболочки, т.е. у вас значения
переменных окружения ARCH и CROSS_COMPILE установлены перед вызовом make?

2. arm-none-linux-gnueabi- у вас как установлен?
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 15:23:10
1)переменные окружения устанавливаются в той же командной оболочке
2)arm-none-linux-gnueabi- установлен нормально. Путь  к папке с инструментарием прописан в переменную окружения. Так что в терминале я всегда могу после arm-none-linux-gnueabi-gcc -v получить версию компилятора.
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 15:31:32
У вас нет в системе компилятора для x86?
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 15:55:48
Дайте подумать... есть! на машине стоит Eclipse, который прекрасно собирал проекты на сишечке под x86
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 16:16:58
Распакуйте
http://www.zao-zeo.ru/media/files/tools/gcc/buildroot/gcc-4.3.4_armv5te_xscale_eabi.tar.gz
в /usr/local/arm

и задавайте
CROSS_COMPILE=/usr/local/arm/4.3.4-armv5te-xscale-eabi/usr/bin/arm-linux-
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 16:21:14
После того как распакуете и зададите CROSS_COMPILE сделайте
make distclean
make tion270_defconfig
make
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 16:47:53
Архив распаковывается с ошибками
tar: usr/local/arm/4.3.4-armv5te-xscale-eabi/usr/lib/libdl.so: Невозможно создать символическую ссылку на `../../lib/libdl.so.0': Файловая система доступна только для чтения
 tar: usr/local/arm/4.3.4-armv5te-xscale-eabi/usr/lib/libm.so: Невозможно создать символическую ссылку на `../../lib/libm.so.0': Файловая система доступна только для чтения
 tar: usr/local/arm/4.3.4-armv5te-xscale-eabi/usr/lib/terminfo: Невозможно создать символическую ссылку на `/usr/local/arm/4.3.4-armv5te-xscale-eabi/usr/share/terminfo': Файловая система доступна только для чтения
 tar: usr/local/arm/4.3.4-armv5te-xscale-eabi/usr/arm-linux-uclibcgnueabi/sys-include: Невозможно создать символическую ссылку на `../include/': Файловая система доступна только для
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 16:51:46
> Дайте подумать...

У вас нет прав на запись в /usr/local/arm ?
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 17:00:56
для начала я распаковываю под рутом в директорию, куда скопировал архив. У меня вообще нет папки /usr/local/arm. Я могу создать папку с правами 777 и распаковывать туда.
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 17:03:26
Я писал распакуйте в /usr/local/arm
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 17:07:31
А какая разница куда разархивировать?
Но вообще я создал папку /usr/local/arm  и разархивировал туда без ошибок
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 17:08:09
Результат сборки ядра?
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 17:24:18
Стало гораздо лучше, сборка вовсю запыхтела, но остановилась в этом месте

  AS       arch/arm/mm/abort-ev5t.o
   AS       arch/arm/mm/pabort-legacy.o
   CC       arch/arm/mm/copypage-xscale.o
   AS       arch/arm/mm/tlb-v4wbi.o
   AS       arch/arm/mm/proc-xscale.o
 /tmp/ccHnKQTr.s: Assembler messages:
 /tmp/ccHnKQTr.s: Error: .size expression for xscsale_dma_a0_map_area does not evaluate to a constant
 make[1]: *** [arch/arm/mm/proc-xscale.o] Ошибка 1
 make: *** [arch/arm/mm] Ошибка 2
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 17:28:49
Какой дистрибутив Linux?
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 13 Августа, 2014, 17:32:19
Ubuntu 10.04

Я аккуратно все переделал, прописал все пути с вашим набором инструментов, и оно стало компилировать пока без ошибок. Что получится - напишу.
Название: Re: Проблема со сборкой ядра
Отправлено: asv от 13 Августа, 2014, 17:45:40
Если несколько ядер, то сборку можно остановить (ctrl+c) и запустить с make -j
Название: Re: Проблема со сборкой ядра
Отправлено: oev от 14 Августа, 2014, 10:08:00
Ядро собралось! почему у меня были проблемы: мне кажется, что причины две
1) набор инструментов от Mentor
2) мои кривые руки
Но насчет первого я не уверен, хотя с этими инструментами сборка глохла в самом начале. Благодаря
http://www.zao-zeo.ru/media/files/tools/gcc/buildroot/gcc-4.3.4_armv5te_xscale_eabi.tar.gz
все сраслось.

Спасибо за оперативную помощь!