LINUX.ORG.RU
ФорумTalks

OS X from scratch


0

1

Интересно, а есть ли подобные проекты? OS X использует множество свободных компонентов, ядро, многие библиотеки и т.д., пробовал ли кто-нибудь собирать систему с исходников «под себя»? Понятно, что графическую подсистему не соберёшь, но консольный сервачок по идее можно.

Интересует в первую очередь в плане улучшения знаний о внутренностях системы (т.к. про линукс я узнал больше всего после сбора LFS), но и в целом прикольно, наверное. Гуглил, но (минус OS X) гуглится нерелевантная хомячковая фигня.

★★★★★

Ответ на: комментарий от KendovNorok

Ну скорее всего удастся, иксы же работают. KDE-шники хвалились, что у них всё портируемо. Только зачем? В линуксе явно проблем с KDE меньше будет.

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

Да понятно, что поднять их удастся, но примерно так же, как в винде. Ты этот ужас видел? А если нативненько, по-родному, вместо стандартного осксового окружения, с полной интеграцией..

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

Ну всё же лучше чем в винде выйдет, на юникс же более похоже.

PolarFox ★★★★★
()

Я даже боюсь спросить, какие тайные знания дает пересборка системы из исходников.

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

Пересборка N-й раз не знаю, что даёт. Пересборка первый раз даёт обзор всей системы, процедуры загрузки, даёт навыки компилирования и пропатчивания исходников, даёт обзор всех конфигов, навыки их редактирования, навыки написания initscripts, навыки сборки собственных пакетов. В моём случае помимо прочего ещё навыки написания своего init-а и своего пакетного менеджера (незаконченного, но тут суть в процессе).

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

Уже натягивали. Идеальностью даже близко не пахло. Наверное из-за ОС.

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

Пересборка N-й раз не знаю, что даёт.

Для отладки же, тесты изменений. Для чего же еще пересобирать? Не для чего.

Пересборка первый раз даёт обзор всей системы,

Но документация дает обзор лучше, подробнее, и еще останется время на ознакомление с API, архитектурой ядра, и т.д.

процедуры загрузки,

Зачем это нужно если не предполагается с этим работать, т.е. менять что-то в этих процедурах? Если предполагается, то опять же документация, да и не рокет сайенс это.

даёт навыки компилирования и пропатчивания исходников,

Что-то мне подсказывает что эти навыки должны быть до начала пересборки. Ну и компиляция на всем nixподобном однообразная, уныло это, лучше код писать.

даёт обзор всех конфигов,

Это полезно, соглашусь.

навыки их редактирования,

Я уверен что могу редактировать конфиг. Все могут.

навыки написания initscripts,

Но зачем? Опять же, тут либо все просто и однообразно, либо ад и начать надо с документации.

навыки сборки собственных пакетов.

Полезно, но скучно.

В моём случае помимо прочего ещё навыки написания своего init-а и своего пакетного менеджера (незаконченного, но тут суть в процессе).

Инит пробовал, даже для продакшон ынтерпрайза. Последовательный - слишком скучно для свободного времени, параллельный - слишком весело. И зачем систему для этого пересобирать, можно сразу начать с инита, полезнее же. Пакетный менеджер пилить не пробовал, ничего не скажу.

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

А вот если на OSX удастся натянуть KDE

Пропатчить надо будет, это ж BSD.

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

Пересборка первый раз даёт обзор всей системы,

Но документация дает обзор лучше, подробнее, и еще останется время на ознакомление с API, архитектурой ядра, и т.д.

Документацию читать без конкретной задачи не интересно.

процедуры загрузки,

Зачем это нужно если не предполагается с этим работать, т.е. менять что-то в этих процедурах? Если предполагается, то опять же документация, да и не рокет сайенс это.

Достаточно сложно, особенно если не знать баша.

даёт навыки компилирования и пропатчивания исходников,

Что-то мне подсказывает что эти навыки должны быть до начала пересборки.

У меня практически не было.

Ну и компиляция на всем nixподобном однообразная, уныло это, лучше код писать.

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

навыки их редактирования,

Я уверен что могу редактировать конфиг. Все могут.

Разные конфиги имеют разные форматы, но в целом после N-го уже примерно осваиваешь большинство.

навыки написания initscripts,

Но зачем? Опять же, тут либо все просто и однообразно, либо ад и начать надо с документации.

Ну как минимум я баш на необходимо-минимальном уровне выучил.

Я посыл понял, что документацию читать полезней, и с этим не спорю, но тут вопрос идёт в мотивации. Денег мне за это никто не платит, читать ради чтения не интересно. А собирать свой линукс это уже конкретная задача с конкретными требованиями, видно конкретный прогресс, «ачивки» (ОНО ЗАГРУЗИЛОСЬ АААА) и т.д. Обучение в игровой форме, можно сказать.

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

Нет, и не нужно.

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

Даже собранную из исходников (чисто из свободных компонентов) точно так же придется запускать методами хакинтоша (не говоря уже о том, что все это дело так и так надо собирать из под самой OS X)

в плане улучшения знаний о внутренностях системы

developer.apple.com - там все расскажут подробно и в деталях.

uin ★★★
()
Ответ на: Оффтоп от mono

Что-то у тебя в последнее время слишком большая любовь к свечению чужими юзер-агентами :)

buddhist ★★★★★
()

А еще вот это:

графическую подсистему

Что еще за подсистема?

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

Был OpenGL.framework, теперь же он по большому счету только для обеспечения совместимости, ныне основной CoreGraphics (гайко-разработчик говорил как раз о старом), хвалил именно за реализацию - там нету убер фич, поддержка OpenGL 4.0/4.1 (4.2 частично, 4.4/4.3 пока что нет) расширений появилась только в недавно вышедшем 10.9 (естественно это для CoreGraphics - старый OpenGL.framework только 1.x/2.0)

А как же мультимедиа/звук - не достоинства что ли? QuiсkTime закапывают, он теперь тоже чисто Compatibility ему на смену пришел новый AV Foundation, незнаю допилят ли когда нибудь Gstreamer до уровня QuiсkTime, чтоб их хотя бы можно было сравнивать. Тоже самое и с CoreAudio.

Еще вот эти вечные выкрики о BSD - а что там от BSD? POSIX окружение - вот и все BSD (которое и то только одна из составляющей оси)

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

Что еще за подсистема?

Quartz, CoreGraphics, Cocoa, шелл (не знаю, как называется).

А как же мультимедиа/звук - не достоинства что ли? QuiсkTime закапывают, он теперь тоже чисто Compatibility ему на смену пришел новый AV Foundation, незнаю допилят ли когда нибудь Gstreamer до уровня QuiсkTime, чтоб их хотя бы можно было сравнивать. Тоже самое и с CoreAudio.

Наверное достоинства, хотя учитывая, что QT у меня ничего не показывает и все фильмы я играю с помощью VLC, я не уверен. Не в курсе, какие там внутренности, но поддержка кодеков из коробки у OS X отвратительная, как у венды.

Еще вот эти вечные выкрики о BSD - а что там от BSD? POSIX окружение - вот и все BSD (которое и то только одна из составляющей оси)

Ну мне конкретно в этой теме интересна была компиляция именно юникс-составляющей для использования в качестве сервера на не-Apple железе. В этом контексте мне не нужна графическая оболочка, мультимедиа-библиотеки и всё остальное.

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

А вот если на OSX удастся натянуть KDE, это будет идеальная ОС.

На рандомном железе? Ога щаз.

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

Quartz, CoreGraphics, Cocoa, шелл

Ну все понятно, и с чем из этого ты имел дело? ~работалб ну или видел как работает.

Наверное достоинства, хотя учитывая, что QT у меня ничего не показывает и все фильмы я играю с помощью VLC, я не уверен. Не в курсе, какие там внутренности, но поддержка кодеков из коробки у OS X отвратительная, как у венды.

Во первых QuiсkTime - это не только старый яблочный плеер, но и мультимедиа фреймворк, gstreamer тоже кроме свободных форматов из коробки не поддерживает ничего, не потому что их нельзя добавить, а потому что в таком виде распростронять нельзя будет, точно так же и в QT но со свободными форматами (за исключением разве что ALAC) парадокс, а расширения и он поддерживает.

Ну мне конкретно в этой теме интересна была компиляция именно юникс-составляющей для использования в качестве сервера на не-Apple железе.

А смысл? Питон/апач/либы/нано/баш/постгрес/ви/эмакс - что ты там ожидаешь особенного увидеть?

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

Ну все понятно, и с чем из этого ты имел дело? ~работалб ну или видел как работает.

Со всем.

Во первых QuiсkTime - это не только старый яблочный плеер, но и мультимедиа фреймворк, gstreamer тоже кроме свободных форматов из коробки не поддерживает ничего, не потому что их нельзя добавить, а потому что в таком виде распростронять нельзя будет, точно так же и в QT но со свободными форматами (за исключением разве что ALAC) парадокс, а расширения и он поддерживает.

Это не мои проблемы. VLC распространяется как то.

А смысл?

Смысл я уже озвучил - изучение того, как это всё работает в OS X.

Питон/апач/либы/нано/баш/постгрес/ви/эмакс - что ты там ожидаешь особенного увидеть?

Из того, что не видел - ядро, отличное от линукса, система загрузки, отличная от линукса, coreutils, отличные от GNU-версии. Возможно ещё что-то, аналог hal и т.д., много всего интересного, наверняка.

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

Со всем.

Ну а что тебе особенно понравилось можешь привести пример? (то, чего ты в линуксах/других ос не видел)

Это не мои проблемы. VLC распространяется как то.

А причем тут VLC вообще? Я о мультимедиа фреймворках говорю, а ты мне про монстроузный «сам в себе» медиакомбайнер

Смысл я уже озвучил - изучение того, как это всё работает в OS X.

Кто? Питон?

ядро, отличное от линукса, система загрузки, отличная от линукса

Ну и что дальше, что ты понимать собрался? Ты разбираешься в ядрах? Загрузку изучает все сообщество хакинтоша, изучает уже 8лет, накоплен огромный опыт - обращайся к ним по части этого. А вот по части ядра прогресс сильно хуже.

coreutils, отличные от GNU-версии

Кто тебе это сказал?

аналог hal

Вобщем я ничего не понял из того что ты мне донести пытаешься, за исключением твоего повышенного интереса к OS X, я склонен полагать что остальное, все что ты наговорил надуманный предлог в качестве оправдания желанию «попробовать», хотя возможно я и ошибаюсь. Но тем не менее все же посоветую не оглядываться на то что кричат лоровцы, а взять и самому потыкать и попробовать раз интересно, само собой Хакинтош, так или иначе, как я уже сказал, даже собранную из исходников, без проприетарных компонентов, загружать придется ровно точно также как хакинтош а то и еще хуже.

Кто нам с тобой там обеспечил работу на AMD/ext4/загрузку через PBR? Никто, или ты думаешь при компиляции из исходников все это само собой волшебным образом появится?

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

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

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

Получается стабильный api

Тут где-то недавно читал опус какого-то макаразраба, и он там ругался на ад в макосовом апи и постоянных его изменениях от версии к версии.

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

Не будет войн и в магазинах все будет бесплатно... Красиво говоришь - продолжай пожалуйста.

/Селекционным разведением растений не занимаешься случайно?

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

раз в полтора года, кажется?

Ну, раз в полгода полностью перепиливать все, что есть из-за изменений в апи, это тоже как-то не особо приятно.

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

Они в нечетных только перепиливают все (10.5, 10.7, 10.9) давно замечено.

Ну, это несильно меняет дело.
В той же шиндовсе вон у меня программы, написанные еще под 98ю шиндовс, которые типа шуток, работают и в семерке.

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

В той же шиндовсе вон у меня программы, написанные еще под 98ю шиндовс, которые типа шуток, работают и в семерке.

Ну это майкрософт подход, слой совместимости на слое совместимости держать - их право.

А у яблок свой - среда разработки бесплатно/безвозмездно (с подсветкой где/что деприкейтед и на что это поменять/где как поправить), подробная документация, AppleDevCon (билеты платные - да, но по прошествии, все материалы с конференции доступны бесплатно и без смс в виде видеозаписей).

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

Ну и главное - в 32разрядной венде они у тебя работают, в x86_64 перестанут.

Вот это не знаю, я давно их не трогал. А винда теперь только на работе, так что дома и не проверить =)

Zhbert ★★★★★
()

Даже сервачок не соберешь. Многие компоненты ядра закрыты.

Deleted
()

Понятно, что графическую подсистему не соберёшь,

А без этого зачем OS X? ИМХО, она как раз рулит своей графикой - все её плюшки в Quartz, Aqua и Cocoa. А без этого это ещё один BSD, причём посредственный, ибо даже репов нету.

ekzotech ★★★★
()

Нет такого, что ты. Домохозяйкам-то маковским и настройки выпилили, чтобы в панику не впадали, а ты тут про такие страшные вещи.

abcarado
()
Ответ на: комментарий от ekzotech

А без этого зачем OS X?

Для сервера.

ИМХО, она как раз рулит своей графикой - все её плюшки в Quartz, Aqua и Cocoa.

В качестве десктопной системы - да. На сервере я привык использовать консольный интерфейс.

А без этого это ещё один BSD, причём посредственный, ибо даже репов нету.

BSD всякие важны BSD всякие нужны. Мне лучший и не надо, мне чисто for fun.

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

Я утверждаю, что ты просто восхитительно пошутил.

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