Jump to content

# LILO (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи LILO. Дата последней синхронизации: 16 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Загрузчик LILO (анг. LInux LOader) — устаревший мульти-загрузчик для Linux-подобных систем. Несмотря на то, что он являлся стандартом в течение многих лет, постепенно его использование сошло на нет. На данный момент активная разработка LILO прекращена.

## Установка

LILO доступен в пакетах liloAUR и lilo-gitAUR (разрабатываемая версия). LILO работает только на BIOS-системах.

Для установки 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.

## Пример настройки

Типичная конфигурация LILO:

Совет Если 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.
- Переведите изображение в индексированный режим (Изображение > Режим > Индексированный).
- Выберите "Создать оптимальную палитру" (Create optimal palette) и установите 16-цветовой режим. Используйте наиболее подходящий для Вас метод подмешивания шума (dithering method).
- Откройте диалог "Цветовая карта" (Индексированная палитра). Выберите, какие цвета Вы будете использовать в дальнейшем для отображения пунктов, часов и т.д. В файле `lilo.conf` необходимо ссылаться на цвета по индексу.
- Экспортируйте изображение в формате *.bmp в папку `/boot`. В диалоге экспорта установите параметр «Не сохранять данные о цветовом пространстве».

Теперь приступим к редактированию файла `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` от root'а, перезагрузитесь и наслаждайтесь красотой!

## Хук Pacman

Нужно запускать lilo после каждого обновления ядра. Можно использовать хук pacman для автоматизации.

Создайте каталог `/etc/pacman.d/hooks` если он ещё не существует.

    /etc/pacman.d/hooks/lilo.hook

    [Trigger]
    Operation = Install
    Operation = Upgrade
    Operation = Remove
    Type = Package
    Target = linux
    Target = linux-lts

    [Action]
    Description= Run lilo after kernel update
    When = PostTransaction
    Depends = lilo
    Exec = /usr/bin/lilo

## Решение проблем

### Ошибка чтения-записи во время загрузки (Read write error)

Эта проблема была вызвана изменением в mkinitcpio, что было реакцией на это изменение в systemd. Причина - двойная проверка fsck'ом разделов при монтировании в режиме "только чтение" (read only). Для исправления ошибки отредактируйте `/etc/lilo.conf` и замените 'read only' на 'read write' для обеих arch-записей.

Дополнительно - смотрите тему на форуме.

### Не найден Devmapper после обновления ядра

Вполне возможно, что после обновления ядра проявится данная ошибка. Для решения, после обновления ядра запустите `modprobe dm-mod`, и далее, как обычно, `lilo`.

## Смотрите также

- Список параметров ядра, используемые во время загрузки
- Список параметров ядра с подробным объяснением и группировкой по опциям ('Консольные загрузочные команды ядра', Linux-ядро в двух словах)

Category:

- Boot loaders (Русский)

LILO (Русский)
Add topic