Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Linux для x86_64, попытки скомпилировать ядро 
:(
    Опции темы
NightGoblin
Дата 9.6.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 8
Всего: 11



Лирическое вступление:
Купил новый комп (винт с системой старый), с процом AMD Opteron 148, 64-бит. Старое ядро под i686, конечно, работает, но всё же хотелось бы работать как положено, по-человечески.

Цель:
Собрать ядро 2.4.32 под x86_64 (он же amd64).

Параметры:
Дистриб Slackware 10.0, ядро linux-2.4.32 ванильное, gcc-4.1.1, binutils-2.16.1.

Действия:
Ядро не желает компилироваться, вероятнее всего потому, что нет кроссового gcc для x86_64 (поправьте, если не в этом дело, но кросс-компилер вроде всё равно нужен? =)), ругается:
Код

offset.c:1: error: code model 'kernel' not supported in the 32 bit mode

после первой же команды в мейкфайле. Архитектуру задавал правкой мейкфайла, кросс-компилер не задан, так что однозначно конфигурация ломаная, и прошу больно по голове не бить smile

Поставил последние binutils, конфигурировал с --enable-64-bit-bfd --enable-targets=i686-pc-linux-gnu,x86_64-pc-linux,avr (avr нужен для других целей), толком не заработало, перекомпилил с параметрами конфигуратора --target=i686-pc-linux, пошло. До этого вообще поимел крупный секс с совместимостью с gcc, ставил ещё с --target=x86_64-slackware-linux-gnu, но что-то не цеплялось при попытке скомпилировать x86-64ный .S файл (ругался на 64-битные регистры). В конце концов вроде всё встало.

Непосредственно проблема:
При попытке скомпилировать gcc (параметры configure: --target=x86_64-slackware-linux --enable-languages=c,c++) выдаётся такой мат:
Код

/usr/local/bin/x86_64-pc-linux-ld: crti.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Ошибка 1
make[3]: Leaving directory `/home/ng/soft/@/gcc-4.1.1/objdir/gcc'
make[2]: *** [stmp-multilib] Ошибка 2
make[2]: Leaving directory `/home/ng/soft/@/gcc-4.1.1/objdir/gcc'
make[1]: *** [all-gcc] Ошибка 2
make[1]: Leaving directory `/home/ng/soft/@/gcc-4.1.1/objdir'
make: *** [all] Ошибка 2

после попытки слинковать кучу объектников - то есть, не может он найти crti.o. Я пробовал делать ln -s /usr/lib/crti.o /usr/local/x86_64-slackware-linux/lib/crti.o и в /usr/local/lib, но он их пропускает, говоря что incompatible и ругается теми же словами.

Куда уже наступил:
Пробовал найти бинарный пакет, но похоже, для Slackware ничего такого не существует или запрятано очень далеко - как x86_64-gcc, так и ядро под эту платформу. В форумах тоже как-то тоскливо, в одном из них нашёл человека с той же проблемой, который в конце концов просто поставил другой дистрибутив - конкретно slamd64, тот же Slackware, но под 64-битную платформу. Меня вариант переустановки системы не устраивает, ибо много чего установлено, настроено, дистриб тот, судя по всему, бета, да и вообще переустановка системы - это "не наш метод".

При попытке собрать gcc первый раз, матерится на отсутствие <pthread.h> и <unistd.h> - исправляется добавлением -I/usr/include в $(INCLUDES) в gcc/Makefile, после этого проблема исчезает.

Кстати, avr-gcc успешно скомпилировался и встал - не требовал никаких runtime library. Возможно, из-за простоты целевой архитектуры?...

Было предположение, что надо поставить glibc - но ей, опять же, нужен кросс-компилер для x86_64.

Вопрос:
Откуда (и, если кто знает, как) взять crti.o и какие ещё могут быть пути решения проблемы?...

Благодарю за внимание. 


--------------------
Kernel panic: /dev/null overflow!
GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y?
B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 9.6.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



для сборки 64бит на 32-ух надо полную среду кросс компиляции - компилятор, либси и т.д.
легче, извините, не ...ть мозги и установить систему 64 с диска. Тот же слакварь вроде имеет то-ли клон то-ли проект будущей архитектуры: slamd64, а сам Патрик - не знаю собирается ли поддерживать эту архитектуру.



вы не согласны ?

smile

кстати щас вышел новый убунтер. можешь попробовать. у меня работает (amd64, nforce4u,nvidia sli ) smile 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
NightGoblin
Дата 9.6.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 8
Всего: 11



bilbobagginz,
А как же быть со всем тем хламом, который у меня щас установлен? Rosegarden, Lilypond, OpenOffice, да и чёрт те чего тут нет...

Если по-другому никак - то может быть, лучше взять Дебьян? 


--------------------
Kernel panic: /dev/null overflow!
GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y?
B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 9.6.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата

Если по-другому никак - то может быть, лучше взять Дебьян?  

вот и я об этом: дружно переходим на Убунту smile ( это как дебиан, только немножко по-другому. )



и лилипонд, и розгарден, и джек, и ардур, и всё остальное давно в репозитариях. и больше всего раздражает, что в убунту/дебиан  всё это устанавливается и устраняется так, что потом даже не жалко снести всю систему при надобности. только потеря времени работоспособности - это то, что является фактором. помнится мне я тоже был годика 2 после сузе (6.0)  на слаке. но потом - образумился и перешел на Дебиан.

блин. проц нагрелся до 70... пора отрубаться от сеети smile
пока.



 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
kirjanov
Дата 9.6.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2006
Где: Dark wood of erro r

Репутация: 5
Всего: 15



post removed.. 

Это сообщение отредактировал(а) kirjanov - 7.7.2006, 11:58
PM MAIL   Вверх
smalcom
Дата 7.7.2006, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 1
Всего: 7



Есть очень класный пакет, называется crosstool.У меня последняя версия что осела - 0.42, но он вроде часто обновляется. Все што надо сделать - это тыкнуть его носом(посредством редактирование конфов) где у тебя лежат исходники libc,gcc,binutils,kernel и прочего добра, говорим шо мы щасливый обладатель 64баитного проца, давим энтер и идем выгуливать собаку.После того как собака уже стоит на коленях и просится домой. Заходим по пути за тортом, приходим домой и отмечаем с соседям полный комплект 64битного окружения. 


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
GrayCardinal
Дата 8.7.2006, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 6
Всего: 58



Берется 64бит ядро из дебы. Берется -amd64-stage2 из дженты, chroot, и можно компилить smile 


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1080 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.