Вопрос установка 64-битного ядра на 32-разрядный ubuntu


Я скомпилировал свое собственное ядро ​​в 64-битной установке linux mint 16. Я также слышал, что 64-битное ядро ​​также может запускать 32-разрядные приложения. Можно ли установить его и использовать в 32-разрядной установке Ubuntu 13.10, или мне придется перекомпилировать его снова для 32-битного? Если на этом ядре будет запущено 32-разрядное Ubuntu, есть ли какие-либо проблемы, с которыми я столкнусь при использовании этого ядра?


1
2017-12-03 10:30


происхождения




ответы:


Следующие комбинации будут работать:

32 bit CPU with 32 bit kernel and 32 bit software
64 bit CPU with 32 bit kernel and 32 bit software
64 bit CPU with 64 bit kernel and 32 bit software
64 bit CPU with 64 bit kernel and 64 bit software

В общем, 32-битное программное обеспечение с 64-битным ядром означает большую часть вашей 64-разрядной системы и просто запуск нескольких 32-разрядных приложений - обычно такие вещи, как skype или steam, для которых у нас нет исходного кода, и, следовательно, не может перекомпилировать новый процессор ,

В теории должно быть возможно запустить полностью 32-разрядную пользовательскую область с только 64-битным ядром. См., Например отчеты людей, успешно справляющихся с Arch. Но менеджер пакетов вряд ли будет доволен этим, так что это потребует довольно много DIY.

Раньше это был привлекательный вариант, потому что запуск 32-битных приложений в 64-битной пользовательской среде был чреват проблемами. Это в настоящее время в значительной степени решено, поэтому запуск смешанной системы таким образом, кажется, имеет несколько преимуществ и множество недостатков, по сравнению с простое выполнение 64-разрядной системы.


2
2017-12-03 10:45



Я сделал это, я добавил «-force-architecture» и запустил всю 32-битную ОС в 64-битном ядре. Также менеджер пакетов очень запутан, какие библиотеки загружать. Он ищет что-то вроде / usr / lib / x86_64-linux-gnu или / lib / x86_64-linux-gnu, чего явно нет у меня. Создание символических ссылок решает проблему. Тем не менее я не могу запускать 64-битные двоичные файлы в 32-битной системе. Он просто говорит «Нет такого файла или каталога», но chrooting для моих 64-битных установок установки и способен запускать 64-битные двоичные файлы. Как так? - user128712
Для запуска 64-битных двоичных файлов вам понадобятся все необходимые 64-битные библиотеки - 64-разрядный эквивалент старого ia32-libs метапакет. (Если у вас нет полностью статически связанного 64-битного двоичного файла, который ничем не зависит). Вы не можете динамически связывать двоичный файл и библиотеку с разными размерами указателя / int - ABI не соответствует (см. stackoverflow.com/questions/2412893/... ). - chronitis


Я не верю, что ты можешь.

Ядра существуют для 32-разрядных и 64-разрядных систем, убедитесь, что у вас есть ядро, соответствующее вашей системе. Если у вас 64-битный, установите и используйте 64-битное ядро. Если у вас 32-битная система, используйте 32-битное ядро.


0
2017-12-03 10:43