{{TODO}} {{Оновити}}
НАЗВА
lilo.conf - файл настройки lilo
ОПИС
Цей файл, звично /etc/lilo.conf , читає встановник завантажника (boot loader) 'lilo' (дивіться lilo(8) ).
Файл може виглядати так:
#lilo.conf # # ґлобальні опції: boot=/dev/hda prompt timeout=150 lba32 compact vga=normal root=/dev/hda1 read-only menu-title=" Комп'ютер Василя " # # образи ядра для вантаження: image=/boot/zImage-1.5.99 label=try image=/boot/zImage-1.0.9 label=1.0.9 image=/tamu/vmlinuz label=tamu root=/dev/hdb2 vga=ask # # інші операційні системи: other=/dev/hda3 label=dos other=/dev/hdb5 label=os2 loader=/boot/os2_d.b table=E: |
Цей файл настройки задає, що lilo вживає Головний Запис Вантаження (MBR) на /dev/hda. (Для обговорення різних шляхів вжитку lilo, і взаємодії з іншими операційними системами, дивіться user.tex з документації lilo.)
При вантаженні, завантажник видає запрошення boot: і чекає поки ви наберете мітку ядра (і будь-які опції), яке ви хочете завантажити. В будь-який момент натисніть [Tab] для списку міток ядер та інших систем. Або, якщо встановлено завантажник boot-menu.b, ви отримаєте меню для вибору варіантів вантаження. Заголовок цього меню перевизначається в цьому файлі настройки. Якщо ви нічого не введете, звичний образ ядра, перший вказаний, (/boot/zImage-1.5.99) завантажиться після затримки у 15 секунд (150 децисекунд). В lilo.conf можна вказати до 16 образів.
Як ви вже бачили, файл настройки починається з ґлобальний опцій (верхні 9 рядків прикладу), далі йдуть описи різних образів. Опція в описі образу скасовує ґлобальну опцію.
Рядки коментарів починаються символом "#", їх можна писати будь-де.
ҐЛОБАЛЬНІ ОПЦІЇ
Є кілька допустимих ключових слів. Опис нижче майже дослівно з user.tex (лише трохи скорочений).
**backup=** _<файл-резерву>_ | Копіювати початковий завантажник до _файлу-резерву_ (що може бути й пристроєм, наприклад _/dev/null_ ), а не до _/boot/boot.NNNN_ . |
**boot=** _<пристрій-вантаження>_ | Задає назву пристрою (наприклад розділ жорсткого диску) що містить завантажник. Якщо ключове слово опущене, завантажник читається з (і, можливо, пишеться на) пристрій нині змонтований коренем. |
**change-rules** | Визначає зміни номерів розділів при завантаженні ('ховання'). change-rules reset type=DOS12 normal=1 hidden=0x11 type=DOS16_small normal=4 hidden=0x14 type=DOS16_big normal=0x06 hidden=0x16 Цей витяг з файлу настройки вказує, що всі звичні _правила-зміни (change-rules)_ видаляються ("reset"), і задає правила зміни для трьох типів розділів. Без _reset_, ці три типи додалися б до існуючих звичних правил зміни. Переважно, звичних правил досить. Рядки, що задають типи розділів вжиті в секції _change_ (див. далі), мають суфікси "_normal" або "_hidden". Дивіться частину "Partition type change rules" у user.tex для подробиць. |
**compact** | Вказує спробувати об'єднати запити читання суміжних секторів у один запит. Це значно покращує час завантаження і зменшує мапу. Особливо варто вживати 'compact' при завантаженні з дискети. |
**default=** _<назва>_ | Зробити вказаний образ образом для звичного вантаження. Якщо 'default' опущено, використовується перший образ у файлі настройки. |
**delay=** _<дсек>_ | Вказує яку кількість десятих частин секунди завантажник буде чекати перед вантаженням звичного образу. Це важливо на системах, що одразу вантажаться з жорсткого диску. Завантажник не чекає, якщо 'delay' опущено чи виставлено нулем, але на його поведінку може впливати задання опцій _prompt_ і _timeout_. |
**disk=** _<назва-пристрою>_ | Задає нетипові параметри для вказаного диска. Дивіться частину "Disk geometry" в user.tex для подробиць. Особливо корисний параметр 'bios='. BIOS нумерує ваші диски 0x80, 0x81 тощо, і неможливо визначити який диск Linux відповідає якому диску BIOS (оскільки це залежить від типу та настройки BIOS), тому, якщо у вас незвична настройка, ви маєте задати відповідність між дисками Linux та дисками BIOS. Наприклад, disk=/dev/sda bios=0x80 disk=/dev/hda bios=0x81 вказує, що ваш диск SCSI є першим диском BIOS, а ваш (перший головний - primary master) диск IDE є другим диском BIOS. |
**disktab=** __ | Задає таблицю параметрів диску. При опущенні використовується _/etc/disktab_ . Користати цю опцію не радиться. |
**fix-table** | Дозволяє lilo виставляти 3 В(имірні) адреси в таблицях розділів. Кожний запис розділу містить 3В (сектор/голівка/циліндр) та лінійну адреси першого та останнього сектору розділу. Якщо розділ не вирівняний на границю доріжки і якщо деякі інші операційні системи (наприклад PC/MS-DOS чи OS/2) вживають цей диск, вони можуть змінити 3В адресу. lilo може зберігати свій сектор завантаження лише на розділах з відповідністю між обома адресами. lilo виправляє невірні початкові 3В адреси якщо виставлено 'fix-table'. ПОПЕРЕДЖЕННЯ: Це не гарантує, що інша операційна система не пробуватиме знову встановити адресу. Теж, ймовірно, це виправлення може мати іншу, неочікувану, побічну дію. Вірне поладження - перерозділити диск програмою, що вирівнює розділи відносно доріжок. Також, з певними дисками (наприклад, деякими великим дисками EIDE з включеним перетворенням адреси), за певних умов, неминуче мати суперечливі записи таблиці розділів. |
**force-backup=** _<файл-резерву>_ | Як 'backup', але перезаписати існуючий старий файл резерву. |
**ignore-table** | Каже lilo іґнорувати хибні таблиці розділів. |
**install=** _<завантажник>_ | Встановити вказаний файл новим завантажником. Починаючи з версії 21.5, є два завантажника: _boot-text.b_ та _boot-menu.b_, і _boot.b_ є символьним посиланням до останнього. Обидва завантажника однаково дозволяють опції командного рядка ядра. Обидва мають повну підтримку послідовного порту (serial line) (див. **serial=** далі), хоча можливість меню не доступна на послідовному терміналі. Попередній наявний для строгої сумісності з попередніми версіями LILO. При опущенні 'install', _/boot/boot.b_ вибирається за замовчанням. |
**lba32** | Створювати 32-бітні Логічні Адреси Блоку (LBA) замість адрес сектор/голівка/циліндр. Якщо BIOS підтримує пакетне адресування, пакетні виклики можуть бути використані для доступу до диску. Це дозволяє завантаження з будь-якого розділу диску, що має більш ніж 1024 циліндри. Якщо BIOS не підтримує пакетне адресування, адреси 'lba32' перетворюються в C:H:S, як і лінійні ('linear'). Всі посилання на дискету залишаються в формі C:H:S. Радиться вживати 'lba32' на всіх системах після 1998. |
**linear** | Створювати лінійні адреси секторів замість адрес сектор/голівка/циліндр. Лінійні адреси перетворюються під час запуску і не залежать від геометрії диску. Вживаючи 'linear' на великих дисках, _/sbin/lilo_ може створити посилання до недоступних зон диску, оскільки 3В адреси сектора не відомі до завантаження. 'lba32' уникає багатьох таких пасток вживаючи пакетне адресування, але потребує сучасний BIOS. |
**lock** | Вмикає автоматичий запис командних рядків завантаження як звичних для наступних завантажень. Таким чином, lilo "замикає" вибір поки він не буде перевизначений руками. |
**map=** _<файл-мапи>_ | Вказує положення файлу мапи. Якщо 'map' опущено, вживається _/boot/map_. |
**menu-title=** _<рядок-заголовку>_ | Вказує рядок заголовку (до 37 символів) для меню завантаження. Цей заголовок замінює звичний рядок заголовку "LILO Boot Menu" . Якщо _boot-menu.b_ не встановлений завантажником (Див. опцію _install=_) , цей рядок не має дії. |
**menu-scheme=** _<кольоровий-мотив>_ | Звичний кольоровий мотив меню завантаження може бути перевизначений на VGA дисплеях цією опцією. (Кольоровий мотив MDA дисплеїв сталий.) Загалом, рядок _кольоровий-мотив_ має таку форму: <текст>:<підсвітка>:<рамка>:<заголовок> де кожна складова є двома символами що визначають колір тексту і тла. Лише перша складова обов'язкова. Звично підсвітка зворотня до кольору тексту; колір тексту є звичним кольором для рамки та заголовку. Кольори визначаються літерами **kbgcrmyw**, **K** - чорний, **B** - синій, **G** - зелений, **C** - голубий, **R** - червоний, **M** пурпурний, **Y** - жовтий та **W** - білий: великими для яскравого (лише текст), малими для тьмяного. Приклади кольорових мотивів menu-scheme=Wm яскравий білий на пурпурному menu-scheme=wr:bw:wr:Yr звичний мотив LILO menu-scheme=Yk:kw яскраво-жовтий на чорному Якщо _boot-menu.b_ не встановлений завантажником , цей рядок не має дії. |
**message=** _<файл-повідомлення>_ | Задає файл з повідомленням, що відображається перед запрошенням завантаження. Повідомлення не виводиться, при очікуванні натиску shift після виводу "LILO ". У повідомленні, символ FF ([Ctrl L]) очищує локальний екран. Це небажано, коли встановлено завантажник _boot-menu.b_ . Довжина повідомлення обмежена 65535 байтами. Необхідно оновити файл мапи, якщо файл повідомлення змінено чи перенесено. |
**nowarn** | Вимикає попередження про можливі майбутні небезпеки. |
**optional** | Опція для образу 'optional' (див. далі) застосована до всіх образів. |
**password=** __ | Опція для образу 'password=...' (див. далі) застосована до всіх образів. |
**prompt** | Завантажник видасть запрошення _boot:_ і чекатиме дій користувача (див. _timeout_ далі). перевантаження без втручання неможливі при виставленому 'prompt' і не виставленому 'timeout'. |
**restricted** | Опція для образу 'restricted' (див. далі) застосована до всіх образів. |
**serial=** _<параметри>_ | Дозволяє керування через послідовний порт. Заданий послідовний порт ініціалізується і завантажник приймає ввід з нього та з клавіатури ПК. Посилання розриву (break) послідовним портом відповідає натисненню клавіші shift в консолі для отримання уваги завантажника. Всі образи завантаження повинні бути захищені паролем якщо доступ послідовним портом небезпечніший за консоль, наприклад, якщо порт з'эднаний з модемом. Рядок параметра має наступний синтакс: <порт>[,[<парність>[<біти>]]] <порт>: номер послідовного порту, починаючи з нуля. 0 відповідає псевдоніму COM1 - /dev/ttyS0, тощо. Можна вживати всі 4 порти (при наявності). : швидкість в бодах послідовного порту. Підтримуються наступні : 110, 150, 300, 600, 1200, 2400(звична), 4800, 9600, та додаткові 19200, 38400 і 57600(56000). 115200 дозволено, але може не працювати з кожним залізом COM портів. <парність>: Парність вживана для послідовного порту. Завантажник іґнорує парність вводу і відкидає 8-ий біт. Наступні (великі чи малі) літери описують парність: "n" без парності, "e" перевірка на парність і "o" перевірка на непарність. <біти>: Кількість бітів у символі. Підтримується лише 7 та 8. Звично 8 , якщо немає парності, 7, якщо перевіряється парність чи непарність. Якщо задано 'serial', значення 'delay' автоматично збільшується до 20. Приклад: "serial=0,2400n8" ініціалізує COM1 звичними параметрами. |
**timeout=** _<дсек>_ | встановлює затримку (в десятих частинах секунди) очікування вводу у запрошенні _boot:_. "timeout" має смисл лише при вказаному "prompt". Якщо за вказаний час не натиснута клавіша, завантажується звичний образ. Також, ввід паролю обривається, якщо користувач не діє задовго. Звична затримка необмежена. |
**verbose=** _<число>_ | Вмикає багато повідомлень. Більші числа дають докладніший вивід. Якщо -v додатково вказаний в командному рядку lilo, рівень збільшується відповідно. Максимальний рівень докладності 5. |
Також можна вказати такі параметри настойки ядра : append , ramdisk , read-only , read-write , root і vga у секції ґлобальних опцій. Вони вживаються як звичні, якщо не вказані у секціях настройки відповідних образів ядра.
СЕКЦІЇ ДЛЯ КОЖНОГО ОБРАЗУ
Секція образу починається рядком
image=<назва_шляху>
що вказує файл чи пристрій, що містить образ завантаження ядра Linux, або рядком
other=<пристрій>
що вказує завантаження довільної системи.
В першому випадку, якщо рядок image вказує завантаження з пристою, необхідно вказати проміжок секторів для відображення за допомогою
range=<початок>-<кінець>
range=<початок>+<кількість_секторів>
range=<сектор>
в третьому випадку, кількість секторів покладається одиниці.
ІНША СИСТЕМА
У випадку завантаження іншої системи є такі опції:
**loader=** _<ланцюговий-завантажник>_ | Вказує, який вжити ланцюговий завантажник (chain loader). Звично вживається _/boot/chain.b_ . Цей ланцюговий завантажник не передає дані про розділ сектору завантаження. Інший ланцюговий завантажник, _/boot/os2_d.b_ передає дані про диск та розділ у форматі придатному для OS/2 та DOS (див. _table=_ далі). |
**table=** _<пристрій>_ | Вказує пристрій, що містить таблицю розділів. Завантажник передасть звичні дані про розділ завантаженій операційній системі, якщо ця змінна опущена. (Деякі операційні системи не мають інших засобів взнати з якого розділу вони завантажені. Наприклад, MS-DOS звичайно зберігає геометрію диску чи розділу завантаження в своєму секторі завантаження.) Зауважте, що /sbin/lilo треба знов запустити якщо таблиця розділів на яку посилається 'table' змінена. |
**table=** _<буква-диску>_ | Особливий випадок для ланцюгового завантажника _os2_d.b_. Визначає літеру диску DOS для розділу, що буде завантажений. Це _обов'язково_ при завантаженні OS/2, встановленої на розширеному розділі. Букву диску можна вказати як з кінцевою двокрапкою, так і без неї. |
**change** | Це ключове слово починає секцію, що описує, як змінюються ідентифікатори основних розділів, та як основні розділи активуються і деактивуються. Якщо **change** опущено, правила зміни створюються, як при вказаному ключовому слові _automatic_. Наприклад, other=/dev/hda2 label=dos table=/dev/hda change automatic partition=/dev/hda1 set=DOS12_hidden deactivate partition=/dev/hda2 set=DOS16_big_normal activate вказує, що при завантаженні /dev/hda2, будуть задіяні автоматичні правила зміни; додатково, розділ 1, розділ DOS12, буде схований та деактивований. Також, розділ 2, буде зроблено нормальним та активовано. Активація ставить прапорець завантаження в таблиці розділів. Ключове слово _automatic_ може конфліктувати зі звичними правилами зміни, тож рядки _set=_ вище можуть бути зайвими. |
**map-drive=** _<номер>_ | Відображає виклики BIOS для вказаного диску до номера диску вказаного в наступному рядку **to=**<номер>. Це відображення вживане для завантаження операційних систем, таких як DOS, з другого жорсткого диску. Наступне обмінює диски C: і D:, map-drive=0x80 to=0x81 map-drive=0x81 to=0x80 |
**unsafe** | Не звертатись до сектора завантаження при створенні мапи. Це вимикає деякі перевірки правильності, включно з перевіркою таблиці розділів. Якщо сектор завантаження на пристрої гнучких дисків фіксованого формату, UNSAFE дозволяє уникнути потреби класти диск, що читається, до пристрою при встановленні мапи. 'unsafe' і 'table' взаємовиключні. |
СПІЛЬНІ ОПЦІЇ (image= & other=)
В обох випадках, image= та other=, діють наступні опції.
**label=** _<назва>_ | Завантажувач використовує назву файлу (без шляху) кожного опису образу для визначення цього образу. Можна задати іншу назву встановивши змінну 'label'. |
**alias=** _<назва>_ | Друга назва (псевдонім) для того ж елементу задається 'alias'. |
**lock** | (Див. вище) |
**optional** | Пропустити образ, якщо він не доступний при створенні мапи. Корисно для пробних ядер, що не завжди можуть бути присутні. |
**password=** _<пароль>_ | Захистити образ паролем. |
**restricted** | Для образу потрібний пароль тільки коли в командному рядку вказані параметри (наприклад 'single'). |
ОПЦІЇ ЯДРА (image=)
Якщо образ завантаження - ядро Linux, можна передати йому параметри в командному рядку.
**append=** _<рядок>_ | Додає вказані опції до рядку параметрів, що передається ядру. Це звично вживається для вказування параметрів заліза, що не може бути повністю самовизначене, або визначення якого може бути небезпечним. Приклад: append="hd=576,64,32" |
**initrd=** _<назва>_ | Вказує образ початкового диску в оперативній пам'яті (ramdisk) для завантаження з ядром. Образ міститиме модулі, потрібні під час завантаження, такі як драйвери сітки та scsi. Дивіться сторінку допомоги для _mkinitrd(8)_. |
**literal=** _<рядок>_ | Як 'append', але видаляє всі інші опції (наприклад установку кореневого пристрою). Оскільки 'literal' може ненароком видалити важливі опції, її не можна вказувати в секції ґлобальних опцій. |
**ramdisk=** _<розмір>_ | Вказує розмір (наприклад, "4096k") необов'язкового RAM диску. Значення 0 вказує, що RAM диск не треба створювати. Якщо ця змінна опущена, розмір RAM диску настроюється за образом завантаження. |
**read-only** | Вказує під'єднувати кореневу файлову систему лише для читання. Звично, процедура завантаження системи потім перепід'єднує кореневу файлову систему для читання/запису (наприклад, після fsck). |
**read-write** | Вказує під'єднувати кореневу файлову систему для читання/запису. |
**root=** _<кореневий-пристрій>_ | Вказує пристрій для під'єднання кореневим. Якщо вказана спеціальна назва **current**, то кореневий пристрій встановлюється той, що в цей момент під'єднаний кореневим. Якщо корінь був змінений за допомогою -r , вживається відповідний пристрій. Якщо змінна 'root' опущена, використовується настройка кореневого пристрою, що міститься в образі ядра. (І встановлюється під час компіляції змінною ROOT_DEV у Makefile ядра, і може бути змінена потім програмою ?**rdev**(8) ). |
**vga=** _<режим>_ | Вказує який текстовий режим VGA вибирати при завантаженні. Розпізнаються наступні значення (реґістр не має значення): **normal** : звичайний текстовий режим 80x25. **extended** (чи **ext** ): текстовий режим 80x50. **ask** : запитати користувача при завантаженні. <число>: Вибрати відповідний текстовий режим. Список наявних режимів можна отримати завантаживши з _vga=ask_ і натиснувши [Enter]. Якщо ця змінна опущена, використовується настройка VGA режиму, що міститься в образі ядра. (І встановлюється під час компіляції змінною SVGA_MODE у Makefile ядра, і може бути змінена потім програмою ?**rdev**(8) ). |
ДИВИСЬ ТАКОЖ
lilo(8), ?mkinitrd(8), ?rdev(8).
lilo йде з дуже докладною документацією, малу частину якої ви прочитали вище (lilo-21.6.2)
Переклав Ілля Корнійко k_ilya@ukr.net