Как получить исходный код для 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?

Это может означать одну из трех вещей, и я попытаюсь охватить все пути.

  1. Исходный код Kernel является официальным исходным кодом ядра Linux, распространяемым группой разработчиков ядра, возглавляемой Линусом Торвальдсом. Это часто называют "ванильным ядром".

  2. "Источник Ubuntu" может относиться к форку ядра Canonicals, который мы постоянно обновляем с помощью исправлений, аппаратных стеков поставщиков (называемых HWE - сокращение от Hardware Enablement) и других настроек, которые помогают Ubuntu работать и вести себя так, как вы бы это делали. ожидайте, что Ubuntu будет вести себя хорошо.

  3. Или "Ubuntu Source" может означать тысячи доступных нам пакетов - от базовых системных утилит, таких как Dash (или Bash), до полной среды рабочего стола с графическим интерфейсом, такой как Unity, - которая на самом деле представляет собой метапакет, состоящий из нескольких микросервисы и компоненты, которые составляют интерактивный рабочий стол в Ubuntu.

Что делает исходный код ядра как пакет?

Большинство пакетов, с которыми вы столкнетесь в Ubuntu, будут бинарными. Это означает, что они предварительно скомпилированы для архитектуры вашего процессора и поставляются готовыми к работе с нулевой компиляцией, необходимой вашей машине. Это ускоряет установку и дает вам разумный набор значений по умолчанию.

Некоторые пакеты, такие как linux-headers - распространяют исходный код для использования при компиляции других пакетов. И это может потребоваться для установки таких вещей, как модули ядра, сборка пакетов уровня разработчика или установка новейшего пакета из проекта, для которого требуются заголовочные файлы linux, как и в другом коде. (если вам нужна дополнительная информация по этому вопросу, я рекомендую вам ознакомиться с руководством по программированию и тщательно его прочитать)

Надеюсь, это ответило на ваши вопросы - и вы чувствуете, что у вас достаточно информации, чтобы двигаться. Опять же - пожалуйста, будьте осторожны с этим советом, если вы решите создать свой собственный вариант операционной системы. Группам людей потребовалось разное время, чтобы создать надежную операционную систему, такую ​​как Ubuntu. Хотя это большой опыт обучения - это, безусловно, не для всех.

Другие вопросы по тегам