Поставянето на своя собствена операционна система, базирана на Linux

Създайте своя собствена операционна система, базирана на Linux

За огромния брой различни дистрибуции продължение на много години, работещи с Linux който използвах, беше: Mandriva, Fedora, Slackware, Debian, Ubuntu, и много други. Проект като повече, някои - по-малко. Но всички дистрибуции неизбежно трябваше да се справят със сериозни недостатъци, които значително усложнява работата. Един от тях е прекалено взискателен към ресурси в друга не поддържа всички необходими съоръжения, в третата липсва различен софтуер. Това е, когато си спомних известния ориенталска мъдрост: ако искате нещо да бъде направено добре, да го направите сами.

Linux от нулата

Аз не съм единственият, който решава да се заеме с изграждането на своя собствена версия на Linux - операционната система, която ще бъде взета като база, основната част от системата и ядрото, но където не е единичен излишни килобайта от възложителя, че е до вас. Голяма част от Linux-дистрибуции, които не отговарят на изискванията на потребителите, избута Bikmensa Джерард (Gerard Beekmans) за създаване на разпределение, което ще даде възможност на всеки да се съберат система, в която той ще бъде само най-необходимите компоненти и характеристики.

В стремежа си талантлив програмист превърна в Linux от нулата проект (www.linuxfromscratch.org), съкратено - НРС. Този проект дава възможност да се изгради "от нулата", от източник, неговата операционна система, базирана на Linux. Съставяне на НРС работи на компютър с вече инсталиран Linux-система, обаче, ще се обърне и "напреднали» на живо-CD, например, Knoppix [6].

В този случай, на Linux-система, използвана за монтаж може да бъде всеки - задължително само присъствието на компилатор и системни библиотеки. Linux от нулата е трудно да се назоват разпределението по обичайния смисъл на думата - това е един вид помощен софтуер, който заедно с основната част на операционната система ще ви позволи да създадете свой собствен, уникален версия на операционната система.

Както е известно, Линус Торвалдс, разработен си операционна система под мотото «Просто за забавление!» - това е, просто за забавление. Трябва да се признае, че НРС не често се срещат на сървъри, които използват тази система, като правило, компютърни ентусиасти. Монтаж и експлоатация на Linux от нулата ще ви помогне да разберете връзката компонентите на операционната система, които идват на помощ, когато вашият собствен дизайн Linux-дистрибуция, не само въз основа на наблюдението на работната сила. Поради това, проучванията на работната сила до голяма степен е предназначена за онези, за които процесът на сглобяване на собствената си дистрибуция е забавно и интересно - и има хора, повярвайте ми, много.

Disk разделяне и създаване на едно дърво директория

За по-добро разбиране на материала ще опише целия курс на процеса като цяло (вж. Фиг. 1).

Фигура 1. Схема монтаж LFS

Като първа стъпка, като се използват вече инсталиран разпространение или LiveCD, дискови паузи. На дяла на твърдия диск е предназначена за новата система. След това този раздел ще трябва да статична всички необходими софтуерни и системни ядро. Следваща има промяна в главната директория на дяла на твърдия диск, разпределен за нов нашата OS. Компилация се наложи да повторите, но този път на софтуера трябва да бъде събрана динамично (за разлика от динамичната компилация от статично ще бъдат описани по-долу). Последният етап включва монтаж на най-важната от НЬс и конфигуриране на инсталираната операционна система. Както можете да видите, няма нищо особено труден, не да се направи.

Изберете файловата система по ваша преценка: и Ext3, ReiserFS, и без проблеми под наблюдението на работната сила не е било. Феновете обаче ще трябва да се разстрои XFS - се опитва да направи Linux от нулата да се работи с тази провалена файлова система.

Сега монтирате дял разпределени за новата операционна система.

$ Mount / сътрудничество / hda5 / MNT / mylin

За удобство, ние се дефинира променлива MYLIN:

Отличен за по-нататъшна работа по-добре да се създаде отделен потребител mylin, а сега е собственик на монтираната част.

$ Chown -R mylin $ MYLIN

Ние трябва да се създаде директория дърво до корена на новия дял:

$ MKDIR -p бин обувка Дев др дома ИЪ MNT неучастие корен sbin ЮЕсАр / Var

директория ЮЕсАр, ЮЕсАр / X11R6, ЮЕсАр / местни създаде необходимата структура. поддиректории бин, и т.н., да включва, Иб sbin, акции, SRC.

После направи същото за директорията / реактивна и / изберат бъдещата система:

Защо ние използваме статичен монтаж? С статично компилация изходния код библиотека е приложен към кода на приложението, което води до увеличаване на неговия размер, но при запазване на целостта. Когато динамичното съставяне на библиотеката е отделен файл, който, както се изисква достъп до тях чрез приложения. В резултат на това всички програми се изпълняват на една версия на библиотеката

Но когато ние сме чрез командата Chroot да зададете основната директория за сплотяване на системата, на "майки" библиотечни инсталирани системи, разположени в / ИЪ, / ЮЕсАр / ИЪ, и други, вече няма да е на разположение, така че е динамично компилирани програми отказват да работят, освен това, всеки, който версия съвместимост Това не е гарантирано.

За да се избегне объркване по-късно статично компилиран програми с "динамичен", създаде за тях специален каталог:

При монтажа и инсталирането на пакетите, не забравяйте да добавите параметър «--prefix = $ MYLIN / стат» за преместване на файлове в тази директория е. I. накрая. сложи Баш:

$ ./configure --enable-статично връзка --prefix = $ MYLIN / Stat

Същият модел се съберат други необходими пакети. Binutils, bzip2, textutils, Texinfo, катран, SH-Utils, ССЗ, Впиши, GZIP, стеснителен човек, diffutils, fileutils, марка, кръпка, СЕД и. себе си. Linux-ядрото.

Да, не забравяйте да компилирате ядрото, че за по-старите версии на ядрото (2.2.x-2.4.x) трябва да използвате ССЗ 2.95, а за текущата версия 2.6.x се препоръчва използването на ССЗ 3.x, така че няма проблеми.

Не забравяйте да погледнете в съответните секции на ПРС-книгата, тя казва за този и много други нюанси. Като цяло, за съставяне на ядрото в НРС не се различава от подобни процедури, извършвани с помощта на твърдия диск, монтиран на разпределението. Разопаковайте източниците на ядрото в $ MYLIN / ЮЕсАр / SRC / Linux-2.6.xx, а след това се конфигурира чрез провеждане на:

Процесът по конфигуриране на параметри на ядрото е описано многократно в Интернет (6), едва ли има нужда да се спирам на това по-подробно. На следващо място, дава следната команда в директорията с изходния Linux-ядрото:

На следващо място, създадете файл $ MYLIN / и т.н. / ако съществува и $ MYLIN / и т.н. / група. В първата се регистрираме, докато един и същи потребител - корен с всяка парола, и втората група от потребители (за започване на корен група ще е достатъчно също).

С това приключва нашата подготовка за следващата стъпка свърши, и да отидем на по-фини динамичен монтаж.

Сега ние трябва да се промени в главната директория на / MNT / mylin, където ние използваме само статично, събрани от комунални услуги - с използването на инструменти от "майка" операционна система, вече не можем да се прибегне. Дайте команда в конзолата:

$ Chroot $ MYLIN / ЮЕсАр / хамбар / Околна среда -i

> HOME = / корен СРОК = $ СРОК PS1 = 'ф: w $'

> PATH = / BIN: / ЮЕсАр / хамбар: / sbin: / ЮЕсАр / sbin: / стат / sbin

Тази команда сме обособили пътя към изпълнимите файлове, вида крайни, черупката и въведете командния ред.

За да се гарантира функционирането на някои програми, трябва да инсталирате ргос файлова система към новата система.

$ Mount Proc / Proc -t Proc

Дойде решаващият момент. Монтаж на НЬс. Това е най-критично, тъй като по-голямата част от работата, без необходимите програми няма, както и в използването на Linux без основното значение на библиотеката там. Монтаж НЬс също често води до много проблеми.

Когато се посочи възможността за монтаж «--prefix = $ MYLIN / стат», така че ако промените в основата на всички статично-компилирани пакети ще бъде в директорията / статистиката в рамките на новата операционна система.

Така разопаковате архива НЬс-2.x.x.tar.gz (например директорията / ЮЕсАр / SRC /) и отидете в директорията на glibclinuxthreads. Ще трябва малко ощипвам на изходния код, поради факта, че на този етап не може да бъде за идентификация на потребителя система, наречена (само поради липсата на НЬс и други библиотеки), както и че е необходимо да инсталирате НЬс Perl преводач, който не го правим.

Сменете корен потребителското име в вход / Makefile подаде своя идентификатор на потребител, т.е. 0, а променливата $ Perl в изчистване / Makefile файл трябва да бъдат заменени с по пътя към преводача - / ЮЕсАр / хамбар / Perl - и в конфигурацията тя просто ще бъде игнориран.

$ /usr/src/glibc-2.x.x/configure --prefix = / ЮЕсАр --enable-добавките --libexecdir = / ЮЕсАр / хамбар

правят инсталиране

Ако направи всичко, на НЬс компилиран, в командния ред най-накрая се появява «корен", и може да бъде динамично прекомпилирате всички програми.

Завършен монтаж ядро.

За да преместите новото ядро ​​на директорията / багажника, изпълнява друга команда:

Практика е инсталирано и някои нови програми, без знамена статично компилация. Ще имаме нужда (на този етап е важно да не се забравя да се съберат всички от изброените) (виж. Таблица 1).

Таблица 1. изискваният брой опаковки за сглобяване

След извършване динамичен прекомпилиране, можете да изтриете директорията с статично компилирани пакети:

Можете да диша една въздишка на облекчение и чаша кафе - най-трудно, рутината не е забравен. Ние се пристъпи към следващия етап - първоначалната конфигурация на нашата система.

Първоначалната конфигурация на системата

Преди да започнете да се създаде, ще отбележа, че всички промени трябва да бъдат извършени от файловете на новата операционна система, а не на системата родител.

За да настроите времето за система създадете файл / и т.н. / sysconfig / часовник, съдържащ само един ред:

Сега, часовникът на компютъра ще се появи по време на вашия часови пояс - при условие, че стойността на време в BIOS е зададен правилно.

Нека дадем име на компютъра:

ехо "HOSTNAME = my_linux"> / и т.н. / sysconfig / мрежа

Сега разделете тази система трябва да се монтира при стартиране, уточни / и т.н. / fstab:

опции планината-точкови FS тип # файловата зареже fsck поръчка

/ Dev / hda5 / ext3 подразбиране 01 януари

/ Dev / hda3 размяна размяна При = 1 0 0

Proc / PROC PROC подразбиране 0 0

Вместо / сътрудничество / hda3 и / сътрудничество / hda5 напишете вашите дялове (корен и суап), допълват файла, ако е необходимо, монтирайте точки за други дялове на твърдия диск и CD-ROM.

Сега нека направим нашата система за първоначално зареждане.

Ако в допълнение наблюдение на работната сила, която използвате други дистрибуции на Linux, но сега трябва да въведете старата система - тя се изпълнява:

Още в ОС-майка във файла /etc/lilo.conf добави следното:

Ясно е, че «/ обувка / bzImage» - е пътят към компилиран вашата система ядрото, а «дял» - дела, на който главната директория.

Ако не възнамерявате да използвате други операционни системи и Linux дистрибуции, а след това преминете към конфигурацията на LILO в НРС.

В този случай, на lilo.conf ще изглежда по следния начин:

Направете необходимите промени в зависимост от конфигурацията. Актуализиране на командата за зареждане:

И ако всички предишни стъпки са изпълнени коректно, ние ще бъдем в новата система. Въпреки това, по-дълга фаза на "глоба" настройка (специално внимание трябва да се обърне на сигурността на новата система, защото по подразбиране НРС изглежда доста уязвими, както и всички новоинсталираните операционни системи), което тепърва предстои. Но лично събран вече имате версия на Linux.

Джерард Bikmens - не единственият, който имаше идея да създадете своя собствена Linux. Друг проект - BYOLinux, ръководителят на която беше Dzhonatan Торп (Джонатан Торп), към днешна дата, развитието им е спряло, макар че се пишат imdokumentatsiya все още е валидно и днес, но това не е толкова подробни, колкото НРС книга и преведен на български език. Основната разлика между метода на Джон, че НЬс библиотеката се прехвърля от родителя към системата за дете без прекомпилиране, това не е толкова ефективен, но и да избягвате много проблеми по време на монтажа. Желанието да се чувства като дизайнер експлоатационния опит и някои потребители на FreeBSD.

Препратки и линкове

Линкове към всички тези програми са представени в статия в НРС книга (част 3 от приложението).