PDA

Показать полную графическую версию : Не могу собрать 32-битное ядро


Coutty
19-01-2008, 15:14
Собственно, система у меня 64-битная стоит. Но под ней не работает драйвер для планшета и VirtualBox. Хочу собрать 32-битное ядро, но в xconfig'е на выбор дают оптимизацию P4(netburst) с EM64T, Athlon64, Core2 и Generic x86_64. Всё. Никаких там PentiumIII или AthlonXP, под который обычно собирал.
У меня Athlon64. Исходники ядра версии 2.6.22.9.
Может в каком-нибудь конфиге вручную дописать? Но что и где - хз...

И я ещё сомневаюсь - а не придётся ли после этого ещё и 64-битные библиотеки пересобирать? У меня нет к ним исходников...

fossil
19-01-2008, 15:47
У ядра своя оптимизация, поэтому все модули собираются с той оптимизацией которая выставлена в конфиге - это очевидно.
Вообще я считаю это неудачной идеей. Дело в том что на бинарном уровне программы собранные под 64 бит будут не совместимы с 32 бит. Правда не знаю как себя поведет ядро в данной ситуации, возможно что и заработает. Попробуй, отпишись только о результатах, мне самому интересно.
У меня была ситуация когда нужно было запустить бинарник 32 бит на библиотеке собранной под 64 бит, причем эта библиотека использовалось другой программой под 64 бит. Я решил эту проблему, где-то на форуме топик с ответом валяется, если интересно.

Может в каком-нибудь конфиге вручную дописать?»
/usr/src/linux/.config

И я ещё сомневаюсь - а не придётся ли после этого ещё и 64-битные библиотеки пересобирать? »
Именно _библиотеки_ я думаю что пересобирать не придется, а вот программы которые используют ядро напрямую, возможно и придется.

ruslandh
19-01-2008, 17:48
Цитата Coutty:
И я ещё сомневаюсь - а не придётся ли после этого ещё и 64-битные библиотеки пересобирать? »

Именно _библиотеки_ я думаю что пересобирать не придется, а вот программы которые используют ядро напрямую, возможно и придется.


Придётся пересобирать всё - адресация-то другая

Для того что-бы пересобрать в 64-х битной среде 32-x битное приложение, надо сделать так, что-бы сборочная среда считала, что у вас 32-x битная архитектура. Не знаю как в Мандрива, а в ALT Linux для этого есть команда setarch.

Coutty
19-01-2008, 19:05
/usr/src/linux/.config »
Файл 76 кб. Что менять? В самом начале отключил использование 64-битных инструкций. В итоге скомпилилось 64-битное ядро.Не знаю как в Мандрива, а в ALT Linux для этого есть команда setarch. »
Тоже есть. И что с ней делать? Ну в uname -a система определяется как i686, но драйвер планшета всё равно не работает как надо.Для того что-бы пересобрать в 64-х битной среде 32-x битное приложение, надо сделать так, что-бы сборочная среда считала, что у вас 32-x битная архитектура. »
Да мне это, собственно, не надо. Мне б 64-битный драйвер собрать=) Или заставить 32-битную ClosedSource-программку (VirtualBox) работать с 64-битным ядром. Точнее, она запускается, но жалуется на несовместимость модуля с ядром.

ruslandh
19-01-2008, 19:17
В Мандриве хитрый biarch (возможность работать на двух архитектурах одновременно)

Coutty
19-01-2008, 19:53
ruslandh, что это значит?)
biarch меня обхитрил=)




© OSzone.net 2001-2012