Як почати зі створення системи Linux з нуля?


9

Я спробував зробити операційну систему зі своїм на спеціально вбудованому ядрі. Це не дуже вийшло. Я використовую Ubuntu і завантажив Linux 3.2.7 з kernel.org. Я не намагаюся змінити ядро ​​в моїй системі Ubuntu. Я хочу створити власну ОС з Grub, Linux ядром, і я хочу мати цю домашню ОС у типі файлу (наприклад, iso), який я можу поставити на компакт-диск та завантажувати на іншому комп'ютері. Моє запитання: що саме мені потрібно для створення цієї ОС? Будь-які коментарі чи підручники будуть корисними.


1
Ви можете налаштувати grub для завантаження ядра Linux. Є багато місць, щоб дізнатися, як це зробити; найавторитетнішим з яких був би офіційний посібник ( gnu.org/software/grub/manual/grub.html ). Як тільки ядро ​​завантажиться, воно спробує запустити програму, розташовану за адресою /sbin/init(якщо не налаштовано інше). Ця програма може робити все, що завгодно. Існує декілька загальних варіантів використання /sbin/init, таких як Upstart, sysvinit, systemd або просто bash. Звідти ця програма контролюється. Якщо воно коли-небудь вийде, ядро ​​вийде з ладу, тому воно повинно бути здатне запускати інші програми.
Шон Дж. Гофф

4
На веб-сайті linuxfromscratch.org є багато інформації для створення власного дистрибутива Linux.
daniel kullmann

Відповіді:


15

Ось що ви шукаєте: http://www.linuxfromscratch.org/


2
Я погоджуюсь, що це ТРІБНО робити, і я дав це +1. Я думаю, що він дійсно хоче - це деталі ребрендингу Ubuntu, оскільки він був перенесений з askubuntu.
RobotHumans

Навіть якщо ви намагаєтесь зробити дещо інше, Linux From Scratch - це, безумовно, місце для початку.
Вернон

Якщо нічого іншого, LFS - це чудовий досвід навчання.
tshubitz

@tshubitz Я подивився на LFS, але це не має для мене сенсу. Це попередньо вбудована операційна система? це посібник для створення операційної системи? Що це?
Coder404

LFS - це посібник для створення операційної системи GNU / Linux з нуля. Ця сторінка з сайту LFS в значній мірі
tshubitz

4

Одне з місць для початку - Buildroot .

Що це? Це набір сценаріїв / makefiles, який дозволяє виробляти систему Linux буквально з нуля. Він скидає всі відповідні компоненти, будує перехресний компілятор на хості. - майже все.

Він буде призначений в основному для вбудованої роботи - як така, вона містить uclibc замість Glibc і відсутні етапи складання для багатьох компонентів, наприклад , Gnome і деякі десктопи - однак, якщо ви робите живий компакт - диск є абсолютно блискучим. Звичайно, не обмежуючись живими компакт-дисками. Я це кажу - він входить із вбудованим Qt.

Остання стабільна версія оснащена крупою 0,97, яка може не відповідати вашим вимогам.

Я згадую про це, оскільки в той час як Linux From Scratch чудово підходить до того, що він розповідає про те, як завершити весь процес, він тривалий, трудомісткий і вимагає багато терпіння. Buildroot можна адаптувати так, щоб включати все, що вам потрібно; як досвід навчання, можливість використовувати menuconfigменю стилів та отримати щось, що завантажується та працює, є чудовою. Ви також можете бачити, як це робиться, перш ніж додавати нові функції.

Що стосується налаштування вашого ядра, я не можу настійніше рекомендувати взяти існуючий конфігурацію (як правило, доступний в /boot), скопіювати його в дерево ядра .configпісля запуску make oldconfigта перехід через нові параметри. Параметри за замовчуванням майже гарантовано працюють з вашого розповсюдження; якщо ви почнете абсолютно з нуля, ви цілком можете побудувати щось непридатне.


3

Вам необхідний мінімум - це ядро ​​та певний процес, який ви можете запустити як init, а також будь-які завантажувачі та бібліотеки, необхідні для процесу init. Ви завантажуєте ядро, кажучи йому запустити процес init, і звідки він іде, - це ваш бізнес.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.