LINUX.ORG.RU

[вещества][хочется странного] Сборка ядра XNU

 ,


0

1

Итак, решив попробовать экзотики в мире Юникс, мы с nCdy остановились на варианте сборки своего дистрибутива на базе GNU/Darwin (XNU). Шаг первый: получение исходников - прошел успешно, а вот шаг второй - сборку - постиг фэйл. В связи с чем возник вопрос: встанет ли на Линукс корректно Apple SDK или все же придется это все собирать в нативной макоси?

У кого какие идеи, милости просим в обсуждение.

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

LongLiveUbuntu ★★★★★
() автор топика

идея собсно нагуглить хакинтош и на их форумах инфу, чем оно (XNU/MacOSX) отличается от Darwin. Когда хакинтошники ведро XNU патчют, что и зачем они делают? Apple SDK хз, скорее всего и не встанет. Можно попробовать cocotron, но оно тоже заточено под кроссплафтормность из аппле в другие ОС, хотя уже собранное позволяет собирать хелловорды на Objective-C под винду/линукс.

anonymous
()

Вы там с nCdy учтите, что голое ядро (xnu) не будет работать без драйверов и boot.efi, исходники которых закрыты. Кроме того, придется допиливать ядро для не-Intel процессоров. А уж прикручивание glibc и util-linux к xnu — это вообще будет песня.

Впрочем, чем бы дитя не тешилось...

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

Согласен, ну а вдруг что-нибудь да получится? Если выгорит, то обещаю выложить исходники вместе с патчами на общедоступном ftp сервере.

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

Боюсь, что вы просто не представляете объем работ. Но если вам сильно хочется собрать свою систему на xnu, то я бы посоветовал:

1) Взять загрузчик (boot.efi) у хакинтошников. В частности какой-нибудь из форков boot-132, например Chameleon. Это избавит вас от геморроя с инициализацией среды для запуска ядра. Чтобы оценить масштаб этого геморроя посмотрите сколько строк кода в том же Хамелеоне.

2) Вообще, по максимуму использовать опыт хакинтошников.

3) Использовать юзер-спейс от Mac OS X, как минимум libc и системный утиль. Правда это уже не очень-то GNU система будет.

4) Драйвера опять же тырить из Mac OS X, потому что написать хотя бы базовый набор — задача очень сложная и объемная. Правда подобное заимствование — это нарушение лицензии.

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

Речь идет не о создании полномасштабной системы с Иксами и прочими рюшечками, а о минимальном самодостаточном дистрибутиве способном заводиться на типовом железе. Будет ли там пакетный менеджер в стиле Дебиан или Федоры? Скорее всего, нет. Если что-то и получится, то это «что-то» будет сильно похоже на Slackware в его ранних вариантах. (Ну мне так хотелось бы видеть итог)

LongLiveUbuntu ★★★★★
() автор топика

Grub2 же умеет без chainloader'а грузить XNU!

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