Как получить исходный код для Ubuntu?
Я слышал, что Ubuntu - это проект с открытым исходным кодом.
Итак, предположим, что на данный момент у меня установлена Windows 8, и я хочу собрать операционную систему Ubuntu самостоятельно - скомпилировав каждый пакет и собрав собственное ядро.
Как бы я скомпилировал и преобразовал его в ISO? Я очень смущен.
Как я могу добиться этого процесса. И какая разница между Ubuntu Kernel source
а также Ubuntu Source
?
Я слышал, что Ubuntu делится на несколько пакетов - что Ubuntu kernel source code
как пакет сделать?
1 ответ
Вы были правильно проинформированы, что Ubuntu действительно является проектом с открытым исходным кодом.
Хотя вполне возможно скомпилировать каждый пакет - и потратить час (а), которые потребуются для выполнения такой задачи - на самом деле это не рекомендуется для начинающих пользователей. Судя по разным уровням вопросов здесь - кажется, это было бы хорошо для вас, чтобы исследовать на виртуальной машине, так что вы не собираетесь нарушать работающий ПК, пока вы исследуете и изучаете удивительный мир создания собственной операционной системы. система.
Вы можете скомпилировать и создать свой собственный ISO не только с помощью Ubuntu, но и с любым дистрибутивом Linux, который делает его исходный код доступным для общественности. Основным средством этого процесса является выбор пакетов базовой системы (из дистрибутива на основе Debian - возможно, большего) и начало его сборки с помощью remastersys.
Завершив этот процесс, вы можете выбрать формат ISO для сборки и, таким образом, установить свой собственный дистрибутив. Однако - это может вызвать у вас проблемы, если вы не знаете, что делаете. Опять же - я призываю вас использовать виртуальную машину, чтобы протестировать все, что вы собрали вручную, из remastersys, прежде чем пытаться установить на свою основную рабочую станцию.
Информация о Remastersys
Remastersys - это инструмент, который извлекает конфигурацию из работающей установки Ubuntu или Debian, а затем превращает ее в устанавливаемый образ ISO. Это означает, что вы выполняете настройку, используя стандартные инструменты, которые вы обычно используете, такие как система управления пакетами и инструменты конфигурации GUI. Когда все настроено так, как вы хотите, вы можете клонировать систему и развернуть ее. Кроме того, вы можете использовать Remastersys, чтобы сделать клон работающей системы.
Если вы хотите начать с построения всего из исходного кода - как уже отмечали другие пользователи, существуют дистрибутивы, разработанные для обеспечения этого опыта. Например, этап 1 Gentoo isntallation - где вы буквально начинаете с минимального экземпляра linux в ram - и собираете свою базовую операционную систему по одной части за раз. Весь процесс может занять до дня, если это ваш первый пробежка, и нередко встречаются странные и загадочные сообщения об ошибках, которые потребуют более глубокого изучения процесса, который вы выполняете.
В чем разница между исходным кодом ядра и исходным кодом Ubuntu?
Это может означать одну из трех вещей, и я попытаюсь охватить все пути.
Исходный код Kernel является официальным исходным кодом ядра Linux, распространяемым группой разработчиков ядра, возглавляемой Линусом Торвальдсом. Это часто называют "ванильным ядром".
"Источник Ubuntu" может относиться к форку ядра Canonicals, который мы постоянно обновляем с помощью исправлений, аппаратных стеков поставщиков (называемых HWE - сокращение от Hardware Enablement) и других настроек, которые помогают Ubuntu работать и вести себя так, как вы бы это делали. ожидайте, что Ubuntu будет вести себя хорошо.
Или "Ubuntu Source" может означать тысячи доступных нам пакетов - от базовых системных утилит, таких как Dash (или Bash), до полной среды рабочего стола с графическим интерфейсом, такой как Unity, - которая на самом деле представляет собой метапакет, состоящий из нескольких микросервисы и компоненты, которые составляют интерактивный рабочий стол в Ubuntu.
Что делает исходный код ядра как пакет?
Большинство пакетов, с которыми вы столкнетесь в Ubuntu, будут бинарными. Это означает, что они предварительно скомпилированы для архитектуры вашего процессора и поставляются готовыми к работе с нулевой компиляцией, необходимой вашей машине. Это ускоряет установку и дает вам разумный набор значений по умолчанию.
Некоторые пакеты, такие как linux-headers - распространяют исходный код для использования при компиляции других пакетов. И это может потребоваться для установки таких вещей, как модули ядра, сборка пакетов уровня разработчика или установка новейшего пакета из проекта, для которого требуются заголовочные файлы linux, как и в другом коде. (если вам нужна дополнительная информация по этому вопросу, я рекомендую вам ознакомиться с руководством по программированию и тщательно его прочитать)
Надеюсь, это ответило на ваши вопросы - и вы чувствуете, что у вас достаточно информации, чтобы двигаться. Опять же - пожалуйста, будьте осторожны с этим советом, если вы решите создать свой собственный вариант операционной системы. Группам людей потребовалось разное время, чтобы создать надежную операционную систему, такую как Ubuntu. Хотя это большой опыт обучения - это, безусловно, не для всех.