Конфигурирование ASPLoader

Автор: Алексей Федорчук
2001 г

Штатный мультисистемный заргузчик дистрибутива ASPLinux — ASPLoader, как я уже говорил, обладает весьма большими возможностями. Так, помимо собственной системы, он в состоянии грузить Windows, а также иные варианты Linux. Однако для второго варианта его следует некоторым образом настроить.

Конечно, некоторые настройки можно выполнить и из меню при начальной загрузке (рис. 1). Однако здесь доступны только смена системы, загружаемой по умолчанию (через меню Configuration — Set as defaults&boot, рис. 2), определение параметров командной строки загружаемого ядра (меню Options, рис. 3, 4), а также безопасное выключение питания или перезагрузка (меню Configuration — Turn off power). Все прочее требует редактирования конфигурационного файла.

ris01_loaderРис. 1.Главное меню загрузчика ASPLoader

ris02_loaderРис. 2. Меню Configuration

ris03_loaderРис. 3. Меню Options

ris04_loaderРис. 4. Панель для ввода параметров ядра

Файл этот — /etc/aspldr.conf, подробную информацию о нем можно получить из экранной документации (правда, не очень понятно, почему, переведя ее на английский язык, разработчики не привели русского оригинала):

man (5) aspldr.conf

а о самом по себе загрузчике — из

man (8) aspldr

Я же попробую описать процесс конфигурирования на собственном опыте. По умолчанию aspldr.conf имеет примерно следующий вид (в случае установки ядра 2.4 наряду с 2.2):

[asplinux1@ASPLinux(2.2.19-3.asp)]

icon linux

kernel /boot/vmlinuz-2.2.19-3.asp root=/dev/hda1 ro

initrd /boot/initrd.2.2.19-3.asp.img[SEPARATOR]

[asplinux2@ASPLinux(2.4.2-0.1.49)]

icon linux

kernel /boot/vmlinuz-2.4.2-0.1.49 root=/dev/hda1 ro

initrd /boot/initrd.2.4.2-0.1.49.img

[SEPARATOR]

[floppy@Boot from floppy]

icon floppy

sysboot a:

[BOOTMGR]

video graphics

default asplinux1

timeout 15

clock 24

[ACTIVATOR]

writembr on

writeboot off

biosnum 1

mbrdev /dev/hda

language en

Две последние секции (BOOTMGR и ACTIVATOR) содержат глобальные настройки загрузчика, как то:

  • видеорежим загрузчика: кроме графического (graphics) режима по умолчанию, его можно запустить в текстовом (text) или псевдографическом (pseudographics) режимах;
  • операционная система, загружаемая по умолчанию, и время ожидания выбора (timeout, в секундах);
  • формат времени — 12- или 24-часовой;
  • условия записи в MBR изи загрузочный сектор раздела, устройство с главной загрузочной записью: ASPLinux может запускаться не только с первого физического диска, как LILO, но и с любого другого (по крайней мере со второго на первой линии — точно, проверено на собственном опыте);
  • язык меню загрузчика; кроме английского (по умолчанию), можно выбрать и еще несколько из поддерживаемых ASPLinux — русский (ru), корейский (ko), польский (po) и японский (ja); доступные варианты можно посмотреть, открыв каталог /boot/aspldr.

В первых же секциях описываются операционные системы, доступные для загрузки. Формат описания достаточно прозрачный, хотя и отличается от принятого в LILO или, например, в GRUB.

Первой строкой каждой секции идет название системы (его можно редактировать произвольным образом и имя выводимой при этом иконки (правда, местоположение отвечающего за это изображения мне обнаружить не удалось).

Далее для загружаемых с винчестера Linux-систем приводится имя ядра и путь к нему, устройство, на котором расположен корневой каталог (то есть /, а не /root) и файл образа, с которого создается RAM-диск. Все эти файлы должны находиться в каталоге /boot.

Для варианта загрузки с флоппи-диска вместо имени ядра указывается только загружаемое устройство — sysboot a: (в виде, принятом скорее в DOS, чем в Linux. То же относится и к записям, отвечающим за загрузку не-Linux систем. Так, если ASPLinux устанавливался на диск с уже инсталлированной Windows9x, будет автоматически создана секция вида:

[SEPARATOR]

[win@Windows 98]

icon windows

sysboot 1-1

Здесь в качестве параметров sysboot указываются номер диска и раздела на нем: обращаю внимание, что нумерация и тех, и других начинается с единицы, как в приведенном примере (вряд ли кому удавалось загрузить Windows9x с какого либо раздела, кроме первого на первом же диске).

Если в системе имеется, например, два физических диска, на втором (или, напротив, на первом) из которых установлен иной Linux или что-нибудь вроде *BSD, для этой системы также будет создана отдельная секция с меткой вроде OS from disk#, а строка загрузки примет вид типа

sysboot #-#

Как я уже говорил, ASPloader способен работать, будучи установленным на диск и раздел, отличный от первых. Однако загрузить что-либо кроме него самого и Windows при автоматическом конфигурировании не удастся. Однако для Linux-системы могу предложить следующий, хотя и несколько странный, вариант.

Для начала, загрузив ASPLinux, следует подмонтировать устройство, на котором находится каталог с ядром другой Linux-системы (скорее всего, это будут /boot или /), например,

mount /dev/hdb1 /mnt/linux2

(точка монтирования, конечно, должна существовать). Затем в файл /etc/aspldr.conf вносится строка вроде:

[SEPARATOR][SuSE]

icon linux

kernel /mnt/linux2/boot/vmlinuz_24 root=/dev/hdb1 ro

где указывается путь до ядра системы в соответствие с ее точкой монтирования. Вслед за этим ASPLoader перезагружается командой

/sbin/aspldr

что, как и для LILO, обязательно делать после любого изменения конфигурационного файла. Если что-либо было сделано неправильно (например, допущена ошибка в определении пути до ядра, или раздел с ним не был предварительно смонтирован), появится сообщение об ошибке. В противном случае никакого видимого эффекта не воспоследует (что, впрочем, не гарантирует, что вторую систему можно будет загрузить — см. ниже).

Теперь вторую файловую систему можно размонтировать (вносить ее навеки в /etc/fstab отнюдь не обязательно, как ни странно). И — перезагрузить машину. В меню ASPLoader появится соответствующий пункт, выбрав который, можно, если повезет, будет запустить второй вариант Linux. В частности, приведенный пример успешно функционировал у меня при ASPLinux на первом (Master) диске и SuSE Linux — на втором (Slave).

Однако в случае с Free- и OpenBSD я потерпел неудачу. Ни та, ни другая категорически не желали грузиться ни по умолчанию (при строке вроде sysboot 2-1), ни иным образом. Причем даже физическая перемена Master- и Slave-дисков не помогала. Напрашивающееся объяснение — обе *BSD-системы были установлены у меня в т.н. dangerously-режиме, исключающем размещение на том же физическом диске стороннего загрузчика (хотя ASPLoader и стоял у меня на другом диске, но, возможно, желал что-то вписать в загрузочный сектор соседа).

Возможно также, что причина в том, что BSD-разделы монтировались по умолчанию только в режиме read only, и пересборка ядра ASPLinux может исправить дело. Как-нибудь на досуге проверю. Если же кто имеет информацию по этому поводу, буду признателен.

Однако за исключением последнего момента, иных претензий к ASPLoader’у у меня не возникло. Загрузчик этот:

  1. вполне удобен в использовании и конфигурировании;
  2. не требует непременно графического режима (если тот почему-либо не проходит на данной видеокарте);
  3. не привязан ни к MBR первого диска, ни к первым 1023 его секторам (последнее ограничение снято и в LILO, и в GRUB, однако ни тот, ни другой мне не удавалось запустить со второго диска);
  4. позволяет без проблем грузить Windows 9x и, судя по документации, Windows NT/2000, а после несложной настройки — и любую иную Linux-систему.

Все это делает ASPLoader неплохим выбором для своего родного дистрибутива.