реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> компиляция под ARM, ядро 2.6.30
stas17
сообщение Aug 24 2011, 13:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Здравствуйте! Около полугода назад удачно собирал данное ядро (причем не один раз) на виртуальной машине в Ubuntu 9_04 под Win_Xp. Сейчас возникла необходимость откомпилировать его еще раз, но на данный момент я перешел на Ubuntu 11 и возникли следующие трудности:


stas17@Intel:/usr/src/linux-2.6.30$ make ARCH=arm CROSS_COMPILE=/home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-
make: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Команда не найдена
scripts/kconfig/conf -s arch/arm/Kconfig
make: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Команда не найдена
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' не требует обновления.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/bin/sh: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: not found
make[1]: *** [kernel/bounds.s] Ошибка 127
make: *** [prepare0] Ошибка 2



Поискал информацию об этом: практически все решают эту проблему исправлением cтроки CROSS_COMPILE , но путь у меня задан правильно.
Судя по всему, проблема в Makefile, потому что не находит кросс-компилятор. Но почему не находит?
Заранее благодарен.

Сообщение отредактировал stas17 - Aug 25 2011, 11:14
Go to the top of the page
 
+Quote Post
kurtis
сообщение Aug 25 2011, 10:47
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



попробуйте сделать
Код
make mrproper



команда
Код
ls -l /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc
выполняется? Если да, то покажите результат.

Еще можно попробовать заменить dash на bash, иногда помогает.
Go to the top of the page
 
+Quote Post
stas17
сообщение Aug 25 2011, 11:08
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Команда ls -l выполняется:
stas17@Intel:~$ ls -l /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc
-rwxr-xr-x 2 stas17 sudo 208016 2010-04-17 21:10 /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc


Команда make mrproper работает, но все равно ругается на отсутствие кросскомпилятора:
stas17@Intel:/usr/src/linux-2.6.30$ make mrproper
make: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Команда не найдена
make[2]: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Команда не найдена
CLEAN .tmp_versions
CLEAN include/asm-arm/mach-types.h
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN include/config
CLEAN .config .config.old include/asm include/linux/autoconf.h include/linux/version.h include/linux/utsrelease.h

но это не помогает, остаются все те же ошибки.
Объясните, пожалуйста, как заменить dash на bash.
Go to the top of the page
 
+Quote Post
kurtis
сообщение Aug 25 2011, 11:32
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Цитата
Объясните, пожалуйста, как заменить dash на bash.

Код
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh

как-то так...

Сейчас у вас такая ситуация
Код
mike@mike-work:/$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2011-03-19 00:07 /bin/sh -> dash

т.е. в качестве shell-оболочки используется dash. Многие советуют использовать bash, т.к. dash имеет некоторые "проблемы" при сборки различных приложений.

Код
stas17@Intel:/usr/src/linux-2.6.30$ make mrproper

почему вы в root собираете? Лучше переместите исходники в вашу домашнюю директорию и делайте все манипуляции только в своей домашней директории.

Цитата
make: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Команда не найдена
make[2]: /home/stas17/toolchain/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Команда не найдена

У вас, случайно, значение CROSS_COMPILE не задано жестко в Makefile?

Ааа. Вы раньше на этой машине что-то собирали? Может у вас просто необходимых пакетов не стоит? Попробуйте поставить вот это
Код
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
sudo apt-get build-dep linux
sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
Взял от сюда
Go to the top of the page
 
+Quote Post
stas17
сообщение Aug 25 2011, 12:27
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Спасибо за объяснение. Shell-оболочку я поменял. Компиляции это не помогло.
Как-то изначально прочитал, что исходники ядра находятся в данной директории, поэтому там их и располагаю. Разве это важно?я же не собираюсь ставить собранное ядро вместо установленного...

Да, в переменной CROSS_COMPILE задан путь к кросскомпилятору, но я так раньше собирал ядро.

Раньше я на этой машине ничего не собирал, но для компиляции ядра поставил необходимые пакеты, но по-видимому не все. Сейчас установлю их и попробую начать компиляцию.
Go to the top of the page
 
+Quote Post
stas17
сообщение Aug 25 2011, 14:04
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



поставил еще те пакеты, которые Вы перечислили и все равно результат тот же
Go to the top of the page
 
+Quote Post
kurtis
сообщение Aug 25 2011, 14:21
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Можно попробовать запустить сборку через команду
Код
sudo make ....
.
Go to the top of the page
 
+Quote Post
stas17
сообщение Aug 25 2011, 14:33
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Спасибо большое за помощь! еще раз почистил директорию и сейчас началась компиляция. Наверное причина была в отсутствии необходимых пакетов.

Объясните, пожалуйста, чем плохо, что я собираю ядро в директории /usr/src

Сообщение отредактировал stas17 - Aug 25 2011, 14:45
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Aug 25 2011, 14:55
Сообщение #9


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(stas17 @ Aug 25 2011, 18:33) *
Объясните, пожалуйста, чем плохо, что я собираю ядро в директории /usr/src

тем, что директория служебная (не пользовательская) и сборка не для текущей системы, а кросс.
Посмотрите описание (назначение) директорий вашего дистрибутива linux (или аналогичного, можно и unix). Многие вопросы по расположению файлов и прав доступа скорее всего пропадут.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
kurtis
сообщение Aug 25 2011, 15:19
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Цитата
Спасибо большое за помощь!

Рад что у вас получилось!))

Цитата(stas17 @ Aug 25 2011, 17:33) *
Объясните, пожалуйста, чем плохо, что я собираю ядро в директории /usr/src


Тем что приходиться работать под рутом. Можно что-то сильно испортить. У сотрудника была ситуация, когда он перепутал консоль, и случайно, затер таблицу разделов на своей рабочей машине.
Ну и это системный каталог, если там что-то делать, то остается много мусора, лично меня это раздражает.
Go to the top of the page
 
+Quote Post
stas17
сообщение Aug 26 2011, 12:03
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Цитата(mdmitry @ Aug 25 2011, 17:55) *
тем, что директория служебная (не пользовательская) и сборка не для текущей системы, а кросс.
Посмотрите описание (назначение) директорий вашего дистрибутива linux (или аналогичного, можно и unix). Многие вопросы по расположению файлов и прав доступа скорее всего пропадут.




Цитата(kurtis @ Aug 25 2011, 18:19) *
Тем что приходиться работать под рутом. Можно что-то сильно испортить. У сотрудника была ситуация, когда он перепутал консоль, и случайно, затер таблицу разделов на своей рабочей машине.
Ну и это системный каталог, если там что-то делать, то остается много мусора, лично меня это раздражает.


Спасибо большое Вам за объяснения.

Сообщение отредактировал stas17 - Aug 26 2011, 12:06
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 17:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01466 секунд с 7
ELECTRONIX ©2004-2016