словник | перекладачка | факти | тексти | програми
щодо | посилання | новини | гостьова книга | пошук
початок << тексти  << автор  << твір

Цей текст є перекладом статті з ZDnet Help, ориґінал якої знаходиться за адресою: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213052,00.html/
This story was printed from Help , located at http://www.zdnet.com/zdhelp .


Переклад Дмитра Ковальова, 5 березня 1999. kov@tokyo.email.ne.jp
Ориґінал перекладу можна знайти за адресою: http://www.asahi-net.or.jp/~as9d-kvlv/


Ядро сандала
Генрі Кінґман (Henry Kingman), Help Channel
February 19, 1999 4:50 PM PT
URL: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213052,00.html

Ядро Лінакса - серце програманої системи GNU/Linux про яку Ви вже так багато чули. Але що ж воно таке?

Ядро - це нововведення Лінаса Торвальдса (Linus Torvalds), якому належить право торгової марки на назву "Linux." Авторські права на вихідний текст ядра належать багатьом програмістам по всьому світу, і він ліцензований на умовах Загальної Ліцензії GNU (GNU Public License), що робить практично неможливим будь-кому отримувати невиправдані доходи маючи контроль над ядром. Навіть для Лінаса. З цієї причини комерційні розповсюджувачі Лінакса, такі, наприклад як Калдера (Caldera) чи S.U.S.E. можуть будувати свої системи навколо ядра Лінакса, не боючись того, що одного для вони стануть PowerComputing для Apple Лінаса чи Алена Кокса (Alan Cox). Всі власники авторських прав на ядро Лінакса повинні висловити свою згоду, якщо раптом таке малося б трапитися.

Більшість основних комплектів Лінакса -- Дебіан (Debian), RedHat, Slackware, тощо -- користуються одним і тим же ядром, ось чому вони вважаються в основному рівними у відношенні стабільності та надійності. (Одне основне виключення -- це MkLinux фірми Apple, який користується мікроканальною системою Мах (Mach) з "Лінакс серверами", які працюють поверх цієї системи.)

Ядро саме по собі наслідує традиційну філософію Юнікса - спеціалізуватися в деталях. Юніксівські програми спроектовані таким чином, що вони вміють робити одну функцію дуже добре. Таким чином, ядро займається задачами низького рівня, такими, як виділення пам'яті, доступ до файлової системи, спілкування з залізом та доступом до мережі для програм, які працюють на вершині цього ядра. На відміну від MacOS або Windows ядро не включає в себе жодної віконної оболонки чи графічного середовища (GUI) (Навпаки користувачі Лінакса можуть вибрати для себе один з багатьох різноманітних X серверів чи менеджерів вікон (Window Manager), які працюють в користувацькому просторі пам'яті, або ж вони можуть працювати з консоллю).

 


Нульова група, негативний резус
Генрі Кінґман (Henry Kingman), Help Channel
February 19, 1999 4:50 PM PT
URL: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213059,00.html

Після установки Лінакса, Ви отримуєте собі ядро нульової групи, яке спроектоване для простої установки в будь-якій системі з великим вибором апаратних засобів чи методів установки (Люди з нульовою групою крові є "універсальними донорами", кров від них може переливатися будь-кому, незалежно від його групи крові.) Таким чином, ядро має підтримку для PCMCIA, віртуальних RAM дисків, всіх типів апаратури та сітьових плат та протоколів, та файлових систем, та ще таких речей, якими Ви можливо ніколи в житті не будете користуватися. Навіть більше того, при кожній загрузці системи, Ви маєте чекати на те, що всі ці апаратні пристрої будуть шукатися ядром і не будуть знайдені в системі. Мало того, кожен з цих пристроїв займає пам'ять в працюючому ядрі, так само як в Макінтоші загружені системні розширення, які не використовуються.

Добра новина - це те, що Ви, як користувач Лінакса, маєте повний доступ до вихідних текстів однієї з найкращих операційних систем в світі на сьогоднішій день! Ви можете скомпілювати собі власне настроєне ядро, яке саме підходить для Ваших потреб та вимог Вашої системи, і скоротити таким чином час потрібний на загрузку системи та об'єм необхідної пам'яті, і можливо також збільшивши швидкість роботи системи. Як мінімум в одному випадку було помічено збільшення BogoMIPS'ів (Bogus, Meaningless Indication of Performance - тобто фальшиве, позбавлене сенсу вимірювання виробничої потужності) з 267 до 327 після компілювання настроєного ядра, хоча в більшості випадків цей показник залишається незмінним. Гммм...

Крім цього є ще одна дуже важлива причина, щоб компілювати собі нове ядро. Якщо та, яка вже в печінках Вам сидить питається про зустіч десь на природі чи деінде, Ви просто відповідаєте: "Ні, ні, прошу пані, я ще мушу скомпілювати свій кернел!" Це її напевне поставить на місце!

Або ще - новий випуск Тисячолітнього Пінгвіна буде мати підтримку тої апаратури, яку Ви маєте, чи буде мати нові можливості, що їх Вам би хотілося попробувати або можливо всього-навсього щоб досягти кращої виробничої потужності. Версія 2.2 ядра має цілу купу нових можливостей, найкраще джерело для набуття нових знань, що я можу порекомендувати це ця чудова стаття Джозефа Праневича (Joseph Pranevich). Переглядаючи цей вражаючий список, навіть не віриться що *все це* зроблено добровільцями.

І ще остання причина, яка може спонукати Вас компілювати нове ядро - це використання звуку. Для встановлення системи, як зрозуміло, звук не потрібен, і тому стандартне ядро його не підтримує. Але, через те, що Ви, звичайно-ж хочете перетворити свою портативну машину в програвача 'mp3', і через це від Вас вимагається мати звукову підтримку в ядрі!

 


Давай, компаль!
Генрі Кінґман (Henry Kingman), Help Channel
February 19, 1999 5:06 PM PT
URL: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213066,00.html

Отож, бачу, що я Вас вмовив, і Ви маєте бажання хоч разок спробувати це саме "компілювання". Добре! Що саме головне при цьому -- будьте певними, що Ваша система від цього не постраждає в тому випадку, якщо щось піде не так. Ви будете компілювати нове ядро в області пам'яті, яка повністю відділена від Вашої робочої версії ядра. Нове ядро не перехопить керування машиною до того часу, поки Ви не додасте нове ядро до Вашого системного загрузчика (boot loader), перегрузитесь і явно не вкажете назву нового ядра при загрузці. Далі - про це з більшими подробицями.

До того, як почати, можливо Вам би варто було пролистати кілька перших сторінок чудовогоKernel HOW-TO. Цей документ - офіційне слово від Проекту Документації Лінакса (Linux Documentation Project). Він пояснить, як Вам встановити вихідні тексти ядра, які Ви зняли з Інтернету та купу інших речей про ядро Лінакса, таких як, що таке модулі ядра та що з ними робити.

Після того, як вихідні тексти вірно встановлені (або символічно прив'язані до /usr/src/linux), ідіть і читайте README, який Ви знайдете в /usr/src/linux/README. Цей документ пояснить конкретні деталі того ядра, яке Ви маєте. Слідкуйте за рекомендаціями цього документу дуже уважно.

Крім цього непогано якби Ви переглянули /usr/src/linux/Documentation. В цій директорії Ви також знайдете багато конкретних рекомендацій щодо таких речей, як звукова плата та її конфіґурація. Тут також знаходиться документ Changes в якому є інформація про мінімальний компілятор необхідний для цього ядра, разом з рекомендаціями про те, де знайти поновлення до тих чи інших пакетів, коли вони застаріли.

Як тільки все здається приведеним до ладу, Вам треба створити файл /usr/src/linux/.config, який буде керувати процесом компіляції. Цей файл створюється одним з чотирьох способів.

Найбільш фундаментальний з чотирьох - це, мабуть make oldconfig. Він просто візьме старі параметри від Вашого працюючого ядра і поновить їх щоб вони підходили до нового. Можете спробувати скористуватися цим способом, якщо Ви вже раніше компілювали собі ядро для системи.

Другий спосіб - це команда make config. Після цього Ви попадаєте в сесію запитань та відповідей на командному рядку. Але цей процес найбільш болючіший, бо якщо Ви помилитесь із відповіддю на бодай одне запитання, Вам треба буде починати спочатку.

По-третє, можете скористуватися командою make menuconfig. Цей спосіб запропонує класичний текстовий інтерфейс з меню, дуже схожий на той, що Ви бачили при установці Лінакса. Може він і не забезпечує достатньо підказок однак при користуванні ним Ви можете консультуватися з документом Kernel HOW-TO для пошуку відповідей на запитання.

І нарешті, якщо Ваш X працює нормально і Ви встановили в системі Tcl/Tk, з працюючої сесії X можете виконати команду make xconfig. Ця команда приведе в дію дуже чіткий і інформативний інтерфейс для конфігурації ядра, який має довжелезні ряди кнопок, які дозволять Вам вмикнути чи вимкнути ті чи інші опції в ядрі, або вказати скомпілювати ці опції як модулі для ядра. Кожна така опція має зв'язану з нею підказку. В підказці Ви знайдете коротке технічне пояснення та пораду щодо вибору, що його Вам треба зробити відносно цієї опції. А ніхто ж і не сумнівався, що компіляція ядра не така вже й проста справа. Що ж Вам потрібні будуть деякі поглиблені знання про Вашу систему, але в наш час таку інформацію досить таки легко відшукати на Інтернеті, якщо навіть у Вас немає керівництва користувача системи.

 


Зроби мені Мартіні
Генрі Кінґман (Henry Kingman), Help Channel
February 19, 1999 4:59 PM PT
URL: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213139,00.html

Нарешті, тепер Ви вже створили файл .config і вже час повернутися знову до /usr/src/linux/README щоб прочитати там що робити далі. Він скаже Вам відредагувати файл /usr/src/linux/Makefile (але скоріше всього Вам цього робити не прийдеться -- читайте коментарі і виконуйте інструкції). Після цього Ви виконуєте команду make dep і от Ви вже готові до компілювання.

Власне компілювання ядра може зайняти від менше, ніж хвилина часу на багатопроцесорній робочій станції з Alfa процесором до півтори години на 386 з 8 МБайтами пам'яті. Моя P-II/266 вимагає на це біля 4 хвилин. Надрукуйте make zImage і дайте йому відірватися!

Коли це зроблено, перевірте все, що видала програма чи не помітите Ви в ньому якихось помилок. Команда make досить явно вказує на помилки, які трапилися при роботі. Наприклад, коли я вперше компілював ядро, команда закінчилася із статусом 1 і видала повідомлення про те, що не може знайти певну утіліту -- думаю що це було bin86. Я встановив необхідну утіліту, попробував знову, і цього разу програма закінчилася з статусом 0. Вйо!

Якщо Ви сконфігурували що-небудь у вигляді модулів, то саме тепер час зробити make modules та make modules_install. І оце і все!

 


Операція "Ы" - резервування
Генрі Кінґман (Henry Kingman), Help Channel
February 19, 1999 5:00 PM PT
URL: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213146,00.html

Тепер Ви вже готові випробувати Ваше нове ядро. Спочатку, скопіюйте образ нового компресованого ядра з директорії /usr/src/linux/arch/i386/boot/zImage (будемо вважати для простоти, що Ви встановлюєте ядро на PC) в те місце, де знаходяться ядра у Вашій системі, або в кореневій файловій системі, або (як у моєму Дебіані - Debian в директорії /boot.

Якщо Ви користуєтесь LILO як своїм системним загрузчиком, зробіть резервну копію Вашого lilo.conf (нехай він буде називатися lilo.conf.0 для прикладу) і потім відредагуйте lilo.conf щоб вставити в нього рядок в якому буде стояти "prompt" і створіть крім того новий розділ "image=" для нового ядра. Наприклад:

boot=/dev/hda1
root=/dev/hda1
install=/boot/boot.b
prompt
map=/boot/map
vga=normal
delay=20
image=/vmlinuz
    label=Linux2.0
    read-only
image=/boot/vmlinuz-2.2.0
    label=Linux2.2
    read-only

Зверніться до "man lilo.conf" якщо Ви маєте запитання щодо цього. Тепер виконайте lilo щось типу ./lilo і він повинен сказати, що він додав новий образ ядра (разом із тими, що були раніше). Тепер Ви вже готові до перегрузки і до того, щоб попробувати ядро. Але стоп! Перед тим, як Ви перегрузите систему впевніться, що Ви записали в lilo.conf (які назви Ви дали тим чи іншим ядрам); система запитає у Вас при загрузці яке ядро треба грузити - хоча деякі версії lilo видають підказку якщо Ви натиснете <tab> і покаже всі ядра, що є в системі.

 


Займися своєю справою, Orville Redenbacher!
Генрі Кінґман (Henry Kingman), Help Channel
February 19, 1999 5:00 PM PT
URL: http://www.zdnet.com/zdhelp/stories/main/0,5594,2213152,00.html

Це практично і все, що треба було зробити. Сподіваюсь, вихідні тексти Вашого нового ядра 2.2 закінчили загружатися, і все пройшло успішно і гладко. Сподіваюсь, що гнучкість та глибина, до якої ядро Лінакса дозволяє керувати собою, вразили Вас. Звичайно, може і не важко скомпілювати ядро для того, щоб став працювати звук або щоб підключити нову плату. Але з іншого боку високо технічний і в той же час якісь простуваті вікна підказок в команді make xconfig приносять певне задоволення, і дають можливість краєм ока зазирнути в дивний але правдивий світ речей, і того, як вони справді працюють. Це -- рідкісні і чудові речі, навіть для тих з нас, хто по справжньому не розуміє всього цього технічного навороту. Все одно Ви можете бути гордим і радим з того, що Ви так близькі до Лінакса.

Тепер, після того, як я освоївся з компіляцією ядра, я збираюся зробити це що-річним чи піврічним ритуалом. Вам же треба відшукати привід для того, щоб хоч інколи перегружати систему, вірно? А ще крім того, це чудова нагода для навчання, блискучий проект для вільного вечора, шанс для того, щоб випробовувати всі ці класні можливості ядра Лінакса, і що саме найраще - це справжнє задоволення - загружатися! (Зрозуміли? "...загружатися" А ладно, чого там!)

Отож, багатьох щасливих ядер для тебе - безстрашний читачу. Спробуйте, і дайте нам знати як воно все пройшло. Удачі!

І нам дайте знати також!


Natalya and Dmytro Kovalev
Пишіть нам за адресою: kov@tokyo.email.ne.jp
Домашня сторінка: http://www.asahi-net.or.jp/~as9d-kvlv
вгору
 
[an error occurred while processing this directive] TopList
© 2000-2003, Київ, Соломко Валентин -- ідея та наповнення, графічне опрацювання -- проєкт дизайн, змiнено -- 08.06.2003 14:30:15