LILO (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи 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.

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