arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
117 lines (79 loc) • 10.8 kB
Markdown
Загрузчик **LILO** (*анг.* *LI*nux *LO*ader) устаревший мульти-загрузчик для Linux-подобных систем. Не смотря на то, что он являлся стандартом в течение многих лет, постепенно его использование сошло на нет, благодаря появлению и развитию [GRUB](/index.php/GRUB "GRUB"), альтернативного загрузчика, предоставляющего более простую конфигурацию и снижающего вероятность получить незагружаемую систему. Однако, не смотря на это, многие пользователи до сих пор предпочитают простоту LILO и поэтому он до сих пор продолжает активно развиваться.
## Contents
* [1 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0)
* [2 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0)
* [3 Пример настройки](#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8)
* [3.1 Установка фонового изображения](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D1.84.D0.BE.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.B8.D0.B7.D0.BE.D0.B1.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F)
* [4 Решение проблем](#.D0.A0.D0.B5.D1.88.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC)
* [4.1 Ошибка чтения-записи во время загрузки (Read write error)](#.D0.9E.D1.88.D0.B8.D0.B1.D0.BA.D0.B0_.D1.87.D1.82.D0.B5.D0.BD.D0.B8.D1.8F-.D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B8_.D0.B2.D0.BE_.D0.B2.D1.80.D0.B5.D0.BC.D1.8F_.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B8_.28Read_write_error.29)
* [4.2 Не найден Devmapper после обновления ядра](#.D0.9D.D0.B5_.D0.BD.D0.B0.D0.B9.D0.B4.D0.B5.D0.BD_Devmapper_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D1.8F.D0.B4.D1.80.D0.B0)
* [5 Смотрите также](#.D0.A1.D0.BC.D0.BE.D1.82.D1.80.D0.B8.D1.82.D0.B5_.D1.82.D0.B0.D0.BA.D0.B6.D0.B5)
## Установка
LILO доступен в AUR как [lilo](https://aur.archlinux.org/packages/lilo/) и в виде [lilo-git](https://aur.archlinux.org/packages/lilo-git/) (git-версия). Стоит отметить, что LILO работает только на BIOS-системах. Если Вам необходима поддержка UEFI, то тогда можно использовать пакет ELILO [elilo-efi](https://aur.archlinux.org/packages/elilo-efi/), который также доступен в AUR
Для установки LILO в MBR, запустите команду `lilo` (как root). **Внимание!** Перед тем, как запускать установку LILO, не забудьте отредактировать `/etc/lilo.conf`. Убедитесь, что в параметре *root=* правильно указан HDD с root-разделом. Например, если root'овый раздел находится на /dev/sda1, тогда в файле конфигурации LILO должно быть указано: `root=/dev/sda1`. Не забудьте сменить root-параметр для обеих записей 'arch' и 'arch-fallback'.
## Настройка
LILO можно конфигурировать путем редактирования файла `/etc/lilo.conf` и последующего запуска команды `lilo` для применения изменений.
Напоминаем, что *необходимо* запускать LILO после каждого обновления ядра, иначе можно получить незагружаемую систему при следующем включении компьютера.
Больше информации по настройке LILO можно найти на сайте [LILO-mini-HOWTO](http://www.tldp.org/HOWTO/LILO.html).
## Пример настройки
Типичная конфигурация LILO:
**Tip:** Если LILO как следует тормозит при загрузке bzImage, попробуйте добавить `compact` в файл `/etc/lilo.conf` в раздел перед указанием image, как показано в примере ниже.
`/etc/lilo.conf`
```
#
# /etc/lilo.conf
#
boot=/dev/hda
# This line often fixes L40 errors on bootup
# disk=/dev/hda bios=0x80
default=Arch
timeout=100
lba32
prompt
**compact**
image=/boot/vmlinuz-linux
label=Arch
append="devfs=nomount"
vga=788
root=/dev/hda2
read-only
image=/boot/vmlinuz-linux
label=ArchRescue
root=/dev/hda8
read-only
other=/dev/hda1
label=Windows
# End of file
```
Для определения возможных VGA-режимов, запустите *hwinfo --framebuffer*.
### Установка фонового изображения
Изначально, подготовим фоновую картинку:
* Откройте необходимый файл в GIMP'е.
* Сожмите её до размеров 640x480.
* Переведите изображение в индексированный режим (Image-->Mode-->indexed).
* Выберите "Создать оптимальную палитру" (Create optimal palette) и установите 16-цветовой режим. Используйте наиболее подходящий для Вас метод сглаживания (dithering method).
* Откройте диалог "Цветовая карта" (Индексированная палитра). Задумайтесь, какие цвета Вы будете использовать в дальнейшем для отображения пунктов, часов и т.д. В файле `lilo.conf` необходимо ссылаться на цвета по индексу.
* Экспортируйте изображение в формате *.bmp в папку `/boot`. В диалоге экспорта установите параметр "Do not write color space information"
Теперь приступим к редактированию файла `lilo.conf`. Ниже перечислены некоторые параметры, которыми можно настроить графическое меню. За дополнительной информацией обращайтесь в `man lilo.conf`.
* bitmap=<bitmap-file> Пропишите здесь имя файла, который Вы подготовили (см. выше).
* bmp-colors=<fg>,<bg>,<sh>,<hfg>,<hbg>,<hsh>
Данный параметр задает цвета в меню. Каждый параметр влияет на свой объект: передний план (foreground), фон (background) и тени текста (shadow) соответственно. Остальные 3 параметра означают то же самое, но для выделенного текста. При перечислении не используйте пробелы. Значения параметров - индексы палитры, которые были определены на предыдущем шаге. Если Вы не выбрали цвет, то можно оставить пустое значение (но не забудьте запятую). По умолчанию, фон прозрачный, и тени отсутствуют.
* bmp-table=<x>,<y>,<ncol>,<nrow>,<xsep>,<spill> В данном параметре указывается место, где будет расположено меню. X и Y - числовые координаты, также можно указывать единицу измерения (англ. p) для использования пиксельных координат.
* bmp-timer=<x>,<y>,<fg>,<bg>,<sh> В данном параметре описывается местоположение и цвет таймера, который отсчитывает время до загрузки выбранного по умолчанию пункта. Как и в предыдущем случае, цвета - индексы палитры, X и Y - координаты.
Пример:
```
bitmap=/boot/arch-lilo.bmp
bmp-colors=1,0,8,3,8,1
bmp-table=250p,150p,1,18
bmp-timer=250p,350p,3,8,1
```
Сохраните файл `lilo.conf`, после чего запустите `lilo.conf` от root'а, перезагрузитесь и наслаждайтесь красотой!
## Решение проблем
### Ошибка чтения-записи во время загрузки (Read write error)
Эта проблема была вызвана недавним [изменением](https://projects.archlinux.org/mkinitcpio.git/commit/?id=449b3e543c) в mkinitcpio, на что ответили [Systemd](/index.php/Systemd "Systemd") [исправлением.](http://cgit.freedesktop.org/systemd/systemd/commit/?id=956eaf2b8d6c999) Причина - двойная проверка fsck'ом разделов при монтировании в режиме "только чтение" (read only). Для исправления ошибки отредактируйте `/etc/lilo.conf` и замените 'read only' на 'read write' для обеих arch-записей.
Дополнительно - смотрите [this forum thread](https://bbs.archlinux.org/viewtopic.php?pid=1303683#p1303683).
### Не найден Devmapper после обновления ядра
Вполне возможно, что после обновления ядра проявится данная ошибка. Для решения, после обновления ядра запустите `modprobe dm-mod`, и далее, как обычно, `lilo`.
## Смотрите также
* [Список параметров ядра, используемые во время загрузки](http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt)
* [Список параметров ядра с подробным объяснением и группировкой по опциям ('Консольные загрузочные команды ядра', *Linux-ядро в двух словах*)](http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch09.pdf))