Lfs - частина 1

У ній буде порушена початкова підготовка до складання LFS.

Для початку трохи нудною теорії:

Linux - загальна назва Unix-подібних операційних систем, заснованих на однойменному ядрі. Ядро Linux створюється і поширюється відповідно до моделі розробки вільного та відкритого програмного забезпечення. Тому загальна назва не має на увазі будь-якої єдиної #xAB; офіційною # xBB; комплектації Linux; вони поширюються в основному безкоштовно у вигляді різних готових дистрибутивів, що мають свій набір прикладних програм і вже налаштованих під конкретні потреби користувача.

Насправді, Вікіпедії досить, щоб зрозуміти що таке Linux - можете почитати у вільний час.

Тепер поговоримо про LFS.

Що це таке? LFS - Linux From Scratch - книга, що описує процес складання свого дистрибутива операційної системи Linux з вихідних кодів. Слід сказати відразу - дистрибутив зібраний по книзі LFS вміє мало що. Хоча правильно сказати було б, що він, найголовніше, може включатися-вимикатися, використовувати Ethernet-з'єднання, і - найважливіше для нас - компілювати все, що захочемо. Це на випадок подальшого перетворення LFS в BLFS.

Для чого ми збираємо LFS? Як мінімум - щоб дізнатися подробиці про кожен пакет у Вашій системі, але найголовніше - дізнатися про їх взаємодію. Так би мовити, невелике вивчення Linux зсередини.

Що для цього потрібно? Для складання LFS необхідний комп'ютер або віртуальна машина зі встановленою на ньому ОС GNU / Linux і достатню кількість місця на диску (мінімальна вимога - 4 Гб, але в ідеалі - беріть від 20Гб). В принципі, підійде будь-який дистрибутив. Особисто я використовую Сentos 7

CentOS Linux release 7.2.1511 (Core)

В якості порівняння наведу #xAB; залізні # xBB; параметри своєї системи

MemTotal: 7942520 kB

model name. Intel (R) Core (TM) i5-4200U CPU @ 1.60GHz

Щоб спростити процес складання, залиште нерозмічену область на диску від 20Гб (про всяк випадок). Трохи пізніше ми створимо з цієї області необхідний нам розділ і візьмемо в користування.

У хостовой Linux-системі повинні бути встановлені пакети, перераховані в офіційних системних вимогах. Швидше за все вони все є, але в будь-якому випадку вони легко встановлюються з репозиторіїв. Одним з варіантів є використання будь-якого LiveCd з Linux - в такому випадку збирати LFS можна на машину, що не містить ніякої ОС. Загалом, вибирати вам.

Настійно не рекомендую копіпаст в термінал з цієї статті, або з самої книги LFS - адже ми будемо збирати систему для того, щоб розібратися з принципом побудови працездатною операційної системи, розуміти що і як пов'язане одне з одним. До кожного етапу, вказівкою, команді треба підходити осмислено і не поспішаючи.

Для коректної збірки системи нам необхідні:

У нас же є тільки їх вихідні коди і компілятор в хостовой системі. Збирати необхідне ПО ми почнемо саме їм, однак є нюанс - компіляція деяких частин системи не буде працездатна на початковому етапі її побудови - деякі компоненти використовують динамічну компоновку бібліотек, а нам необхідно скомпонувати статично - тобто включити весь необхідний код для роботи в виконуваний файл явним чином.

Хостової система повинна відповідати таким вимогам до встановленого на машині ПО:

Bash-3.2 (/ bin / sh повинен бути сімлімнком або посиланням на bash)

Binutils-2.17 (версії новіше, ніж 2.27 не рекомендовані, тому що не протестовані)

Bison-2.3 (/ usr / bin / yacc має бути посиланням на bison або скриптом, який запускає bison)

Gawk-4.0.1 (/ usr / bin / awk повинен бути посиланням на gawk)

GCC-4.7 including the C ++ compiler, g ++ (версії новіше 6.2.0 не рекомендовані, тому що не протестовані)

Glibc-2.11 (версії новіше 2.24 не рекомендовані, тому що не протестовані)