LINUX.ORG.RU

Компиляция 64 битного ядра, где?


0

0

make xconfig
Где поставить галочку для 64 битной архитектуры?
Поиск нашёл "64-bit kernel", но пункт затемнён, следовательно надо где-то ещё поставить галочку, чтобы он появился.
ведро 2.6.30.1. Athlon X2 5600.

Предыдущие топики с советами - "выбери архитектуру проца K8", прочитал, но сильно сомневаюсь, думается это не совсем то.

ядро компилируется для родной архитектуры (архитектура текущего ядра, а не процессора). Если хочешь компиллировать x86_64 ядро на i386 системе -- надо ставить кросс-компилятор. Почитай CLFS, там всё по шагам расписано.

pupok ★★
()
Ответ на: комментарий от darkshvein

на знаю что такое gcc64, в Debian такого нет.

i386 и amd64 -- РАЗНЫЕ архитектуры, так же как i386 и ARM или PPC. То что на amd64 ядре можно запускать i386 программы -- это дополнительный приятный бонус, но здесь он только затрудняет понимание.

Кросс-компилятор -- это компилятор который работает на одной архитектуре, а в результате компиляции производит исполнимый код для другой архитектуры. По умолчанию ни в одном мне известном дистрибутиве его нет. В CLFS (cross Linux from scratch) написано как такую штуку собрать и настроить.

pupok ★★
()

если собирать на 32 битной системе , то нужно указывать при каждой команде сборки

ARCH=x86_64


например

make menuconfig ARCH=x86_64
make tar-pkg ARCH=x86_64 -j2

gcc должен поддерживать -m64
в дебиан (и убунту?) оно поддерживается по умолчанию в gcc даже на 32 битной системе

Sylvia ★★★★★
()
Ответ на: комментарий от pupok

на 64 битах GCC по умолчанию всегда способен на -m32
на 32 битах (тривиальным патчем) включена опция -m64 на Debian

также есть варианты сборки GCC с --enable-targets=all на каком-то сане (32 и 64 бита одновременно)

так что кросс компилятор в данном случае собирать совсем не обязательно.

Sylvia ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.