Дистрибутив ASPLinux: использование boot-менеджеров.
9. Авторские права и товарные знаки
9.1. Авторские права
9.2. Товарные знаки
10. Ведение
11. ASPLoader
11.1. ASPLDR(8 )
11.2 ASPLDR.CONF(5)
11.2.1 Общий раздел SEPARATOR файла ASPLDR.CONF(5)
11.2.2 Команды разделов файла ASPLDR.CONF(5)
11.2.3 Команды общего раздела BOOTMGR файла ASPLDR.CONF(5)
11.2.3.1 align [string]
11.2.3.2 default [ string ]
11.2.3.3 automatic [on | off]
11.2.3.4 Clock [12 | 24]
11.2.3.5 delay [number]
11.2.3.6 timeout [number]
11.2.3.7 icons [on|off]
11.2.3.8 logo [on|off]
11.2.3.9 numbers [on|off]
11.2.3.10 video [ string ]
11.2.3.11 savelast [on|off]
11.2.4 Команды общего раздела ACTIVATOR файла ASPLDR.CONF(5)
11.2.4.1 language [string]
11.2.4.2 mbrdev [string]
11.2.4.3 path [path]
11.2.4.4 biosnum [number]
11.2.4.5 bootfile [filename]
11.2.4.6 writeboot [bool]
11.2.4.7 writembr [on|off]
11.2.5. Команды раздела операционных систем файла ASPLDR.CONF(5)
11.2.5.1 kernel [filename] [arguments]
11.2.5.2 initrd [filename]
11.2.5.3 sysboot [arguments]
11.2.5.4 icon [arguments]
11.2.5.5 lilo [arguments]
11.2.5.6 vga [ arguments | number ]
11.3. Пример конфигурации ASPLoader
11.3.1 Что есть
11.3.2 Что хочется?
11.3.3 Что будем делать?
11.4 ASPLoader: Действия после обновления через YUM
Авторские права принадлежат Ржавскову Андрею Юрьевичу © 2005.
Этот документ может распространяться и изменяться в соответствии с требованиями GNU General Public License (Общественной публичной лицензий), редакций 1,2. Копия GPL доступна по адресу http://www.gnu.org/licenses/gpl.html .За лицензиями на упомянутые в статье продукты и товарные марки обращаться к авторам или их владельцам.
GNU/Linux является зарегистрированной торговой маркой Линуса Торвальдса.
UNIX является зарегистрированной торговой маркой фирмы The Open Group.
ASPLinux является зарегистрированной торговой маркой фирмы SWsoft Pte. Ltd
Red Hat является зарегистрированной торговой маркой Red Hat, Inc.
Windows и MS-DOS являются зарегистрированными торговыми марками Microsoft Corp.
Вторая часть является логическим продолжением первой, в которой был сделан обзор самозагрузки IBM PC/IA32 совместимых вычислительных машин. В данной части дается практическое применение штатного boot-менеджера ASPLoader.
Обновление и установка начального загрузчика и boot-менеджера ASPLoader производится утилитой ASPLDR(8 ). Утилита является консольным приложением с правами выполнения суперпользователя root. Полный путь к приложению: /sbin/aspldr .
Выполнение /sbin/aspldr без каких-либо опций и аргументов к ним производится обновление начального загрузчика и boot-менаджера в MBR по файлу_конфигурции /etc/aspldr.conf , в обратном случае , по имени файлу, указанному в аргументе к опции -c .
[rjaan@home /] /bin/aspldr -c ~/aspldr_variants/ myaspldr.conf
В домашнем каталоге пользователя root находится директория ~/aspldr_variants, где хранится файл конфигурации myaspldr.conf . Указав этот файл как аргумент к опции -с мы завершаем выполнением нажатия клавиши Enter.
В результате чего, в процессе лексического разбора и формирование команд для boot-манеджера будет производится по файлу ~/aspldr_variants/ myaspldr.conf , а не по /etc/aspldr.conf, определяемым по умолчанию , при этом начальный загрузчик будет записан в MBR жесткого диска, а boot-менеджер в последующие за ним сектора.
Потом оказалось, что Вашего начальника раздражает, установленный чуждый boot-менеджер в MBR, и всякие объяснения, что это не влияет работу операционной системы MS-Windows, например XP, ну никак не может его в этом разубедить.
[rjaan@home /] /bin/aspldr -m -d /dev/hda2 -c ~/aspldr_variants/myaspldr.conf [rjaan@home /] mount / dev/hda1 on /mnt/win dowsXP type ntfs (rw,iocharset=1251, codepage=866) /dev/hda2 on /boot type ext3 (rw,errors=remount-ro) proc on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) usbdevfs on /proc/bus/usb type usbdevfs (rw) [rjaan@home /]# dd if=/dev/hda2 of=/mnt/windowsXP/bootsect.lnx bs=512 count=1 1+0 входных записей 1+0 выходных записей [rjaan@home /]#
Поэтому, нам необходимо будет записать начальный загрузчик и boot-менеджер в раздел диска, где находится директория /boot , в раздел жесткого диска /dev/hda2 . С помощью опции -d указываем куда писать начальный загрузчик, а опции -m обновляет в ней начальный загрузчик. Далее делаем срез первых 512 байт раздела диска /dev/hda2, где находится записанный нами начальный загрузчик boot-менеджера . Пользуемся тем, что ядро собрано с поддержкой записи в раздел NTFS, сразу переопределяем наш файл на диск С, который смонтирован устройством /dev/hda1 в точке /mnt/windowsXP. Такой трюк с boot-загрузчиком для MS-Windows возможен, потому что тот вызовет начальный загрузчик, который находится в файле С:\\bootsect.lnx, а тот в свою очередь произведет переход по физическому адресу диска на наш boot-менеджер, а последний в свою очередь осуществит загрузку ядра GNU/Linux.
После перегрузки системы открываем Boot.ini и добавляем следующую запись:
[boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(1)WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINNT=Windows NT Workstation Version 4.00 multi(0)disk(0)rdisk(0)partition(1)WINNT=Windows NT Workstation Version 4.00 [VGA mode] basevideo sos C:=MS-DOS C:bootsect.lnx= ASPLinux 10(Karelia)
После увольнения глупого начальника восстанавливаем запись загрузчика boot-менаджера в MBR диска /dev/hda.
[rjaan@home /] /bin/aspldr -m -d /dev/hda -c ~/aspldr_variants/myaspldr.conf
Для этого, нам необходимо выполнить /bin/aspldr с теми же аргументами, но указать не раздел диска /dev/hda2, а сам диск /dev/hda, что будет означать запись начального загрузчика в MBR.
Другие опции не часто используются, но тоже бывают нужными
Опция -n [номер_в_bios] - если номер диска BIOS и ядром GNU/Linux видятся по разному. Номера указываются от 1 до 128.
-p [путь] – указывает путь к директории, где находятся альтернативный файл конфигурации.
[rjaan@home /] cp ~/aspldr_variants/myaspldr.conf ~/aspldr_variants/myaspldr.conf [rjaan@home /] /bin/aspldr -m -p /root/aspldr_variants
Производим копирование файла ~/aspldr_variants/myaspldr.conf в ~/aspldr_variants/myaspldr.conf и производим обновление загрузочной записи в MBR из директории , указанной в аргументе к опции -p.
ASPLDR.CONF(5) является конфигурационным файлом для определения команд загрузки операционных систем с помощью boot-менеджера ASPLoader , который устанавливается в первые разделы загрузочного диска утилитой ASPLDR(8 ) вместе с начальным загрузчиком и boot-менеджером.
Структуру конфигурационного файла составляют разделы, которые делятся на два типа :
Разделы операционных систем.
Общие разделы.
Команды разделов.
Разделом считается область конфигурационного файла, которая находится между своим заголовком и заголовком следующего раздела или символом конца файла. Это область называется телом раздела, который содержит команды, приписываемые внутрь его.
0 # myaspldr.conf 1 # Пример создания два варианта загрузки операционной системы ASPLinux 2 # версий 9.2 и 10 . 3 # 4 # © 2005, Ржавсков Андрей 5 6 [case1 @ ASPLinux v9.2 (2.4.22-1.2154.nptl.asp)] . . . 10[SEPARATOR] 11 12[case1 @ ASPLinux v10 (2.6.9-1.667.asp)] . . . 16 17[BOOTMGR] . . . 21 22 [ACTIVATOR] 23 . . . 27 28 #eof symbol
На одном жестком диске установлены два дистрибутива ASPLinux 9.2 и ASPLinux 10 для использования на одной машине, необходимо создать два раздела для загрузки операционных систем в файле myaspldr.conf.
Строчки 6, 11, 12, 17, 22 содержат в себе имена разделов, которые заключены в квадратные скобки, а внутри квадратных скобок находятся, непосредственно, их имена. Строка 28 содержит символ конца файла. Поэтому, телом первого разделаcase1 @ ASPLinux v9.2 (2.4.22-1.2154.nptl.asp) будет находится начиная с 6 по 11 строчки, так как 12 строчка открывает следующий раздел. Телом второго case2 @ ASPLinux v10 (2.6.9-1.667.asp) раздела будет находится с 12 по 16 строчку, так как 17 строчка содержит имя другого раздела BOOTMGR, а этот раздел заканчивается в 21 строчке, так как в 22 строчке начинается раздел ACTIVATOR , который заканчивается в 28 строчке символом конца файла.
Чем отличаются разделы общие от операционных систем?
Общими считаются разделы с именами: SEPARATOR, BOOTMGR и ACTIVATOR – которые содержат общие команды управления поведением и внешнего вида для boot-менеджера. А Операционных систем считаются разделы, которые описывают процесс загрузки операционной системы , который может складываться из нескольких команд.
При лексическом разборе первыми формируются пункты меню boot-менеджера по разделам операционных систем. Поэтому, они указываются первыми вместе с общим разделом SEPARATOR .
Раздел не имеет своего тела и, соответственно, команд. Он служит для разделения пунктов загрузки операционных систем в меню boot-менеджера линией.
0 #myaspldr.conf 1 # Пример создания два варианта загрузки операционной системы ASPLinux 2 # версий 9.2 и 10 . 3 # 4 # © 2005, Ржавсков Андрей 5 6 [case2 @ ASPLinux v9.2 (2.4.22-1.2154.nptl.asp)] . . . 10 [SEPARATOR] 11 12 [case2 @ ASPLinux v9.2 (2.4.22-1.2154.nptl.asp)] . . . 30 31 #eof symbol
Для разделения линией пунктов загрузки операционных систем [case1 @ ASPLinux v9.2 (2.4.22-1.2154.nptl.asp)] и [case2 @ ASPLinux v9.2 (2.4.22-1.2154.nptl.asp)] в меню boot-менджеров, в строчке 12 добавим раздел SEPARATOR. В результате между двумя этими пунктами меню появится линия.
Команды разделов определяют набор действий разделов boot-менеджера. Формат команды состоит из двух частей уникального имя и его значения. Команда занимает целую строчку. При чтении слева на право, первое слово является уникальным именем команды, а последующие слова являются значением команды или ее аргументами . Так же, словами считаются отдельно стоящие друг от друга символы, разделенные пробелами. Существуют несколько основных типов значений команды:
arguments значение состоит из нескольких аргументов.
bool значение состоит из одного противоположного “Истина” или “Ложь”(on | off | yes | no).
dosname значением является имя DOS файла(формат путей – обратной слешь).
dospath значением является имя DOS директории (формат путей - обратной слешь).
filename значением является имя Unix файла(формат путей - прямой слешь).
number целочисленные значение.
partition значением является формат загрузочной записи [[leter: | number- ] portition ], где later: или number- являются номером DOS-диска, portition - номером раздела этого диска. Нумерация, в обеих случаях, начинается с единицы.
path значением является имя Unix директории(формат путей - прямой слешь).
section значением является метка или имя раздела самого файла конфигурации.
string значением является строка состоящая из символов и целых чисел.
Команда может быть комментирована, путем вставки в первую позицию строки в файле, символом решетка #и активирована с удалением этого символа, так же он может быть использован для создания пояснительных комментариев.
Раздел определяет команды управления поведения и внешнего вида boot-менеджера.
11.2.3.1 align [string]
Команда align принимает значение, типа string, одного из трех аргументов, которые устанавливают выравнивание текста в пунктах меню по правому краю(right), относительно центра(center), по левому краю(left). По умолчанию left.
11.2.3.2 default [ string ]
Команда default имеет значения, типа string, устанавливает к выполнению , по умолчанию, раздел операционной системы, указанный меткой в своем аргументе.
11.2.3.3 automatic [on | off][ string ]
Команда automatic принимает значение, типа bool, и устанавливает автоматическую загрузку, без вызова меню boot-менеджера, по разделу операционной системы, указанной в команде default. По умолчанию off.
11.2.3.4 Clock [12 | 24]
Команда устанавливает, одно из двух целочисленных значений 12 и 24, которые являются обозначением формата отображения часов на панели boot-менеджера. Значение 12 – это двенадцати часовой формат отображает значение часа в двух диапазонах: 0...12 AM и 1...11PM, где AM – до полу-дни и PM – после полу-дни. Значение 24 – это двадцати четырех часовой формат отображает значение часа с 0...23 часов. Значение по умолчанию 24.
11.2.3.5 delay [number]
Команда принимает, целочисленное значение number , время ожидания нажатия клавиши Esc, в 0.1 секундах .
11.2.3.6 timeout [number]
Команда принимает, целочисленное значение number , времени в секундах задержки до нажатия клавиши оператором, для выбора загрузки операционной системы. В случае, истечения времени загрузка производится операционной системы, указанной в команде default. По умолчанию, 15 секунд.
11.2.3.7 icons [on|off]
Команда принимает значение типа bool, которое разрешает(on) или запрещает(off) отображение иконок в меню boot-менеджера. По умолчанию, on.
11.2.3.8 logo [on|off]
Команда принимает значение типа bool, которое разрешает(on) или запрещает(off) отображение логотипа и авторских прав. По умолчанию, on.
11.2.3.9 numbers [on|off]
Команда принимает значение типа bool, которое разрешает(on) или запрещает(off) отображение нумерации в пунктах меню boot-менеджера. По умолчанию, on.
11.2.3.10 video [ string ]
Команда принимает значение типа string, которая устанавливает видео режим графической оболочки boot-менеджера. string – принимает одно из трех значений pseudographics, graphics, text. По умолчанию, graphics.
graphics графический режим, требует поддержку VESA режимов видеоадаптером.
pseudographics псевдографический режим. Эмуляция графического на видеосистеме VGA.
text текстовый режим на видеосистеме VGA.
11.2.3.11 savelast [on|off]
Команда принимает значение типа[b] bool, которая разрешает(on) или запрещает(off) запоминать последний пункт загрузки операционной системы в меню boot-менеджера. По умолчанию, off.
0 # myaspldr.conf 1 # Пример создания два варианта загрузки операционной системы ASPLinux 2 # версий 9.2 и 10 . 3 # 4 # © 2005, Ржавсков Андрей 5 6 [case1 @ ASPlinux v9.2(2.4.22-1.2154.nptl.asp)] . . . 10 [SEPARATOR ] 11 12 [case1 @ ASPLinux v10 (2.6.9-1.667.asp)] . . . 20 [BOOTMGR] 21 timeout 20 22 default case2 23 clock 24 24 video graphics 25 . . . 31 #eof symbol
Добавляем к нашему файлу конфигурации раздел BOOTMGR , который будет занимать с 20-й по 25-ю строчку. Согласно нашей конфигурации, меню boot-менеджера будет отображаться с значениями по умолчанию: будет включена нумерация пунктов меню, выравнивание в названии пунктов будет по левому краю, в начале каждого пункта будет отображена иконка, определенная в разделе операционные системы.
После загрузки boot-менеджера в графическом режиме будет организована задержка в 20 секунд. Часы будут отображать ход времени в 24-х часовом формате. После истечения значения тайм аута будет произведена загрузка дистрибутива ASPLinux v10.
11.2.4.1 language [string]
Команда принимает значение типа string, которое определяет язык локализации интерфейса boot-менеджера. Для того, чтобы узнать какие языки установленный у Вас ASPLoader поддерживает, выведите на консоль листниг директории /boot/aspldr .
[rjaan@home root]# ls -lU /boot/aspldr итого 84 drwxr-xr-x 2 root root 4096 Окт 10 19:34 EN drwxr-xr-x 2 root root 4096 Окт 10 19:34 JP drwxr-xr-x 2 root root 4096 Окт 10 19:34 KO drwxr-xr-x 2 root root 4096 Окт 10 19:34 PL drwxr-xr-x 2 root root 4096 Окт 10 19:34 RU -rw-r--r-- 1 root root 22528 Дек 9 2003 aspldrcd.sys -rw-r--r-- 1 root root 21192 Дек 9 2003 aspldr.sys -rw-r--r-- 1 root root 512 Дек 9 2003 bootsect.sys -rw-r--r-- 1 root root 512 Дек 9 2003 mbr.sys -rw-r--r-- 1 root root 4814 Дек 9 2003 mouse.com [rjaan@home root]#
В директории /boot , согласно листингу команды LS(1), находятся пять директорий с именами в верхнем регистре: EN, JP, KO, PL, RU. Эти директории являются поддержкой языков: английского(en), японского(jp), корейского(ko), польского(pl), русского(ru) . Соответственно, для указания языка, в нижнем регистре, интерфейса достаточно прописать его сокращение, как значение команды language .
11.2.4.2 mbrdev [string]
Команда принимает значение типа string, которая указывает на устройство куда будет записан начальный загрузчик boot-менеджера в MBR или в другой раздел жесткого диска. Значение типа string, описывает блочным устройством из каталога /dev
Распространенные устройства IDE:
/dev/hda Primary master,
/dev/hdb Primary slave,
/dev/hdc Secondary master,
/dev/hdd Secondary slave .
Распространенные устройства SCSI:
/dev/sda нулевое устройство SCSI,
/dev/sdb первое устройство SCSI,
/dev/sdc второе устройство SCSI,
/dev/sdd третье устройство SCSI,
/dev/sde четвертое устройство SCSI,
/dev/sdf пятое устройство SCSI.
Распространенные CD-R(RW) устройства SCSI: /dev/scd0...7 .
11.2.4.3 path [path]
Команда принимает значение типа path, которое указывает на полный путь к директории, где находятся дополнительные файлы расширений boot-менеджера. По умолчанию, определена директория /boot/aspldr .
11.2.4.4 biosnum [number]
Команда принимает значение типа number, которое указывает номер жесткого диска в BIOS Setup, где находится начальный загрузчик boot-менеджера. Значения диска с 1...128.
11.2.4.5 bootfile [filename]
Команда принимает значение типа filename, которое указывает на полный путь к файлу загрузки. По умолчанию это /boot/aspldr.map.
11.2.4.6 writeboot [bool]
Команда принимает значение типа bool, которое состоит из двух противоположных значений off/on. Определяет, переписывать(on) загрузочный сектор при работе, или нет(off).
11.2.4.7 writembr [on|off]
Команда принимает значение типа bool, которое состоит из двух противоположных значений off/on. Определяет, переписывать запись начальной загрузки(on) при работе, или нет(off). По умолчанию - не переписывать (off).
0 # myaspldr.conf 1 # Пример создания два варианта загрузки операционной системы ASPLinux 2 # версий 9.2 и 10 . 3 # 4 # © 2005, Ржавсков Андрей 5 6 [case1@ASPlinux v9.2 (2.4.22-1.2154.nptl.asp)] . . . 10 [SEPARATOR ] 11 12 [case2@ASPlinux v10 (2.6.9-1.667.asp)] . . . 20 [BOOTMGR] 21 timeout 20 22 default case2 23 clock 24 24 video graphics 25 26 [ACTIVATOR] 27 writembr on 28 writeboot off 29 biosnum 1 30 mbrdev /dev/hda 31 language ru 32 33 #eof symbol
Добавляем к нашему файлу конфигурации раздел ACTIVATOR с 26 по 32 строчки.
В 27-й и 28-й строчках объявляется, что нельзя переписывать загрузочный сектор , а только начальный загрузчик boot-менеджера. Строка 28 говорит, что загрузочным диском будет устройство под номером 1 в BIOS Setup. Строка 29 декларирует запись начального загрузчика будет осуществляться в MBR жесткого диска /dev/hda. В строчке 30, локализацией интерфейса меню boot-менеджера выбран Русский язык.
0 # myaspldr.conf 1 # Пример создания два варианта загрузки операционной системы ASPLinux 2 # версий 9.2 и 10 . 3 # 4 # © 2005, Ржавсков Андрей . . . 25 [ACTIVATOR] 26 writembr on 27 writeboot off 28 biosnum 1 29 mbrdev /dev/hda2 30 language ru 31 32 #eof symbol
В главе ASPLDR(8 ) мы обсуждали загрузку нашего boot-менеджера через Boot.ini и файла bootsect.lnx, так вот там говорилось, что нет необходимости вносить изменения в файл конфигурации myaspldr.conf. Все это так, если вы изначально установили начальный загрузчик не в MBR, а в раздел диска директории /boot, утилитой ASPLDR(8 ) c ключами -m -d
[rjaan@home /] aspldr -m -d /dev/hda2 -c ~/aspldr_variants/ myaspldr.conf
В другом случае, если эти опции ASPLDR(8 ) не используются, необходимо внести в изменение в команде mbrdev нашего файла конфигурации, строчка 29.
. . .
29 mbrdev /dev/hda2
. . .
Раздел операционные системы определяют набор команд, которые необходимо выполнить для ее загрузки. Имя раздела является составным из двух частей: первая – метка операционной системы, а вторая часть – имя, которое будет отображаться в пункте меню boot-менеджера. Разделителем обеих частей будет символ @.
[<Метка раздела> @ <Имя раздела>]
Следующие команды: initrd, kernel – используются для загрузки операционной системы GNU/Linux.
11.2.5.1 kernel [filename] [arguments]
Команда принимает значения типа filename и arguments, которое указывает на полное имя файла образа ядра GNU/Linux и строка параметров к нему. В полном имени вместе указываются полный путь от корневой директории / к образу файла и его имя.
kernel /boot/vmlinux-2.4.22-1.2154.nptl.asp root=/dev/hda2 ro panic= 30 mem=512m
Обычно образ ядра находится в директории /boot. Вместе с дистрибутивом поставляется два варианта сборки ядра. Первый c поддержкой SMP vmlinuz-2.4.22-1.2154.nptl.aspsmp и без vmlinuz-2.4.22-1.2154.nptl.asp.
Vmlinuz принято обозначать образ ядра, 2.4.22-1.2154.nptl.asp версия ядра в поставке ASPLinux. Добавлять версию ядра может аббревиатура smp, что означает поддержку SMP (Symmetric Multi-Processor), которую рекомендуется использовать для двух- , четерех- ядерных процессоров.
Параметры ядра указываются через пробел после полного имени файла образа, которые представляют собой набор группу аргументов, выборка которых осуществляется по мере надобности:
1-я группа Передаваемые ядру “root=”, “ro”, “rw”, “debug”;
2-я группа Передаваемые модулям ядрo foo=3,4,5,6,bar , для bootsetups list .
3-я группа Передаваемые как переменные окружения(например, term=vt100).
4-я группа Оставшееся группа передается демону init.
Первая группа составляет параметры связаны с инициализацией внутренних переменных ядра, такими как управление памятью, ram-диском, корневой системой , поэтому эти параметры выбираются первыми. Следом выбирается вторая группа аргументов модулей bootsetups lists, третья для переменных окружения , четвертая, последняя, для демона INIT(8 ).
Ниже приводятся наиболее распространенные параметры к ядру, а для получения информации о других параметрах можно почитать документ [url=http://www.ostrov.nth.ru/doc/howto/Linux-BootPrompt-HowTo/BootPrompt-HOWTO.html#toc2 ]The Linux BootPrompt-HowTo [/url].
Параметр root=
Указывает на логический раздел жесткого диска, который будет использоваться в качестве корневой файловой системы(ФС).
Параметр ro
Монтирование на момент загрузки файловой системы в режиме readonly. Этот режим нужен для того чтобы исключить возникновение не полностью записанных данных во время загрузки, так как это может быть интерпретировано как фатальная ошибка.
Параметр panic=
Этот параметр можно указывать для перегрузки машины по тайм ауту в случае паники ядра, когда была обнаружена ошибка загрузки ядра, обычно система остается в этом состоянии до принудительной перегрузки. Время указывается в секундах.
Параметр mem=
С помощью этого параметра можно передать ядру сколько в системе установлено памяти. Существует две записи шестнадцатеричная система счисления и символьно-цифровая.
Для шестнадцатеричной записи:
kernel /boot/ vmlinux-2.4.22-1.2154.nptl.asp root=/dev/hda2 ro panic= 30 mem=0x20000000
kernel /boot/ vmlinux-2.4.22-1.2154.nptl.asp root=/dev/hda2 ro mem=512m panic= 30
kernel /boot/ vmlinux-2.4.22-1.2154.nptl.asp root=/dev/hda2 ro hdc=ide-scsi rhgb
initrd /boot/initrd-2.4.22-1.2154.nptl.asp.img
Само имя файла состоит из общего имени initrd, версии 2.4.22-1.2154.nptl.asp и заканчивается расширением .img. Версия vmlinuz и initrd должны совпадать, иначе не будут загружены некоторые блочные драйверы, в этом случае загрузка может завершится с kernal panic.
11.2.5.3 sysboot [arguments]
Команда принимает значение типа arguments, которые формирует команду перехода на загрузочный сектор диска и исполнение загрузчика, находящегося в этом секторе.
Существует две записи arguments:
[a: | b:] – загрузка производится с первого или второго флоппи диска.
[# – ##] – загрузка производится по номеру диска # и его партиции ## .
Для обозначение номера диска и его раздела используются цифры
начиная с 1.
IDE Диски нумеруются согласно BIOS Setup, следующим образом:
1 IDE Primary Master, /dev/hda
2 IDE Primary Slave, /dev/hdb
3 IDE Secondary Master, /dev/hdc
4 IDE Secondary Slave, /dev/hdc
У SCSI дисков необходимо будет прибавить 1, так как отсчет диска и разделов к нему начинается с 0.
. . .
12 sysboot 1-1
. . .
Разделы IDE дисков, соответствуют их номеру в имени файлов, так для первой партицииIDE Primary Master будет соответствовать /dev/hda1, в значении команды 1-1.
. . .
12 sysboot 3-2
. . .
Для второй партиции IDE Secondary Master будет соответствовать /dev/hdc2, в значении команды 3-2.
. . . 10 [windows1@MS-WindowsXP] 11 icon windows 12 sysboot 1-1 . . .
Написание раздела для загрузки операционной системы MS-Windows XP не составляет большого труда. Название раздела состоит из метки windows1 и названия пункта MS-WindowsXP в меню boot-менеджера . Метку потом можно будет использовать для установки по умолчанию загрузки MS-Windows в команде default общего раздела ACTIVATOR Строка 11 устанавливает иконку в пункте меню логотип MS-Windows. Строка 12 указывает, где находится загрузочный сектор MS-Windows .
11.2.5.4 icon [arguments]
Команда принимает значение типа arguments, которое устанавливает иконку и ее цвет в пункте меню boot-менеджера. Установлен следующий формат записи arguments:
[floppy | dos | windows | os2 | unix | linux]
или
[floppy | dos | windows | os2 | unix | linux] [number]
формат состоит из типа иконки и ее цвета number, если цвет не указан используется установленный по умолчанию.
Поддерживаются следующие иконки:
floppy иконка флоппи диска.
dos иконка MS-DOS.
windows иконка MS-Windows .
os2 иконка OS/2 .
unix иконка unix.
linux[/b ]иконка Linux.
[b]number указывает на цвет в диапазоне 0...3:
0 черный цвет
1,2 зеленый цвет, установлен по умолчанию.
3 коричневый цвет.
Выделение цветом можно использовать для повышения читабельности пунктов меню в случае их большого количества.
11.2.5.5 lilo [arguments]
Команда принимает значение типа arguments, которая указывает на метку секции boot-менеджера LILO(8 ) , установленного на другом разделе или диске, по которой будет производится загрузка ядра GNU/Linux или другой операционной системы. Эта команда используется совместно с sysboot, которая должна указываться первой.
. . . 10[linux3@ASPLinux 7.3(load via LILO)] 11 icon linux 12 sysboot 3-1 13 lilo linux-up . . .
Раздел операционный системы ASPLinux7.3(load via LILO) описывает в строке 12, что осуществить переход на загрузчик диска 3 партиции 1, где находится начальный загрузчик LILO(8 ). После перехода выполняется переход по метки linux-up и производится действия указанные в этой секции.
Например, если начальный загрузчик boot-менеджера LILO(8 ) на 3-ем жестком диске записан в MBR, а не в начало первого своего раздела , он будет игнорирован, а boot-менеджер ASPLoader сообщит об ошибке поиска загрузчика LILO с секцией linux-up.
11 # Файл /etc/lilo.conf для загрузки в ASPLoader 22 # по метке секции linux-up. 3 boot=/dev/hdc1 4 map=/boot/map 5 install=/boot/boot.b 6 #vga=normal 7 lba32 8 image=/boot/vmlinuz-up 9 label=linux-up 10 root=/dev/hdc2 11 append=”mem=240m vga=771” 12 read-only 13 other=/dev/fd0 14 label=floppy 15 unsafe 16 #eof
Во избежании таких проблем необходимо поправить конфигурацию LILO(8 ), а именно файл /etc/lilo.conf . В команде boot, строки 3, указать, что начальный загрузчик записывается в /dev/hdc1, а не в главную загрузочную запись. В строчке 11 в команде append указываются параметры к ядру одной строкой, заключенной в кавычках. В этом примере, передаются количество используемой памяти 240 Мб и VESA-режим.
11.2.5.6 vga [ arguments | number ]
Команда принимает значения тип arguments или number , которые устанавливают видеорежимы отображения консоли для VGA или VESA. По сути своей, эта команда является синонимом параметра ядра vga= . Значения типа arguments устанавливают текстовые режимы VGA, которые позволяют установить n количество строк по вертикали от 25 до 60 строк через изменения размера символа. По умолчанию, установлен режим 80х25, который можно указать normal или числовыми значениями 0. Если указать в качестве аргумента ask, при загрузке ядра будет вызван VGA promt , которая позволит путем ввода чисел с клавиатуры установить один из семи возможных текстовых режимов. Так же можно установить в качестве числового значения number:
0 устанавливает текстовый режим 80х25
1 устанавливает текстовый режим 80х50
2 устанавливает текстовый режим 80х43
3 устанавливает текстовый режим 80х28
4 устанавливает текстовый режим 80х30
5 устанавливает текстовый режим 80х34
6 устанавливает текстовый режим 80х60
6 [case1@ASPlinux v9.2 (2.4.22-1.2154.nptl.asp)] 7 icon linux 0 8 kernel /boot/vmlinux-2.4.22-1.2154.nptl.asp root=/dev/hda2 ro hdc=ide-scsi 9 initrd /boot/initrd-2.4.22-1.2154.nptl.asp.img 10 # Устанавливаем стандартный текстовый режим 80х43 11 vga 2
В строке 11 раздела операционной системы ASPlinux v9.2 (2.4.22-1.2154.nptl.asp) в аргументе к команде vga, установлена 2, что будет соответствовать текстовому режиму 80x43. Этот текстовый режим будет установлен на время загрузки ядра до инициализации по runlevel демона INIT(8 ), который загрузит шрифты в другом текстовом режиме, если не совпадет с выбранным в vga. Избежать это позволяет использование графических режимов VESA , который поддерживают почти все видеоадаптеры.
С стороны ядра требуется, чтобы при компиляции ядра была включена поддержка для консоли(console drivers) Video text console и Video selection support. В дистрибутивах ASPLinuх 7.x, 9.x , 10.x она предусмотрена.
Графические режимы VESA оперируют понятиями разрешением в пикселах(точеках) по горизонтали и вертикали, глубиной цвета, что позволяет не только повышать разрешение консоли, но использовать большее количество цветов.
Стандартом VESA поддерживается следующие расширения: 640x400, 640x480, 800x600, 1024x768, 1152x864, 1280x1024, 1600x1200 – из них реально используются, в основном, 640x480, 800x600, 1024x768, 1280x1024, редко 1600x1200.
Глубина цвета точки формируется за счет использования RGB(Red Green Blue), который имеет размерность 4 байта. Младшие 3 байта – определены под цвета Red-Green-Blue, а четвертый является зарезервированным и не используется, обычно всегда равен нулю. Таким образом, глубина цвета может иметь 8, 15, 16 и 24 бита. 8-бит соответствует 256 цветам, 15-бит равно 32.8 тысяч бит, 16-бит равно 65.5 тысяч цветам и 24 бита будет 16.8 млн. цветов.
Для записи режима на бумаги принята запись : число точек по горизонтали X точек по вертикали @ глубина в битах в bits или bpp, что означает bits per pixel.
Команда vga принимает значения типа number в десятичной системе счисления, что будет соответствовать графическим режимам:
Для режимов 640x480 @ 8,15,16,24 bits:
640x480 @ 8 bpp number 769
640x480 @ 15 bpp number 784
640x480 @ 16 bpp number 785
640x480 @ 24 bpp number 786
Для режимов 600x800 @ 8,15,16,24 bits.
600x800 @ 8 bpp number 771
600x800 @ 15 bpp number 787
600x800 @ 16 bpp number 788
600x800 @ 24 bpp number 789
Для режимов 1024x768 @ 8,15,16,24 bits.
1024x768 @ 8 bpp number 773
1024x768 @ 15 bpp number 790
1024x768 @ 16 bpp number 791
1024x768 @ 24 bpp number 792
Для режимов 1280x1024 @ 8,15,16,24 bits.
1280x1024 @ 8 bpp number 775
1280x1024 @ 15 bpp number 793
1280x1024 @ 16 bpp number 794
1280x1024 @ 24 bpp number 795
Для режимов 1600x1200 @ 8,15,16,24 bits.
1600x1200 @ 8 bpp number 796
1600x1200 @ 15 bpp number 797
1600x1200 @ 16 bpp number 798
1600x1200 @ 24 bpp number 799
. . . 6 [case1@ASPlinux v9.2 (2.4.22-1.2154.nptl.asp)] 7 icon linux 0 8 kernel /boot/vmlinux-2.4.22-1.2154.nptl.asp root=/dev/hda2 ro hdc=ide-scsi 9 initrd /boot/initrd-2.4.22-1.2154.nptl.asp.img 10 # Устанавливаем графический режим 1280x1024 11 # с глубиной цвета в 65.5 тысяч цвет. 12 vga 792 . . .
В строке 11 раздела операционной системы ASPlinux v9.2 (2.4.22-1.2154.nptl.asp) значение команды vga равняется 792, что будет соответствовать графическому режиму VESA c 1280x1024 с глубиной цвета в 65.5 тысяч цвет.
11.3.1 Что есть...
На рабочей станции IBM PC/IA32 установлен двух ядерный процессор Pentium P4, 1GB оперативной памяти, интегрирован видеоадаптер, два IDE жестких диска, комбинированный привод CD-R(W) c поддержкой чтения DVD на IDE Primary Slave .
Первый жесткий диск, IDE Primary Master, разбит на три раздела: в первом разделе была пред установлена операционная система Windows XP, на втором разделе нами был установлен ASPLinux 9.2, а на третьем ASPLinux 10.
Второй диск, IDE Secondary Slave, установлен ASPLinux 7.3 с загрузкой через LILO. Задача: обеспечить разные варианты загрузки на одной машине с использованием boot-менеджера ASPLoader.
11.3.2 Что хочется?
На основании перечисленных выше аппаратных средств произведем обследование нашей рабочей станции.
В MBR жесткого диска IDE Primary Master(в BIOS Setup #1) находится начальный загрузчик boot-менеджера ASPLoader, который был установлен после инсталляции на вторую партицию ASPLinux v9.2. На третьей партиции диска #1 установлен дистрибутив ASPLinux v10.
В MBR жесткого диска IDE Secondary Slave(в BIOS Setup #3) находится начальный загрузчик boot-менеджера LILO в MBR, так как этот жесткий диск был взят с другой машины .
Привод CD-RW IDE Primary Slave (в BIOS Setup #2) эмуляция была включена для образа ядра, входящий в дистрибутив ASPLinux v9.2, при установке ASPLoader.
Делаем сводную таблицу партиций для дисков, что на чем и где находится.
/dev/hda , MBR, начальный загрузчика ASPLoader;
/dev/hda1 , sysboot 1-1, с пред установленым OC MS-Windows XP;
/dev/hda2 , sysboot 1-2, образа ядер и initrd GNU/Linux из дистрибутивов ASPLinux v9.2 (с корневой директорией ), v10.
/dev/hda3 , sysboot 1-3, корневая директория дистрибутива ASPLinux v10;
/dev/hdc, MBR, начального загрузчик LILO.
/dev/hdc1, sysboot 3-1, директория /boot с образам ядер и initrd GNU/Linux из дистрибутива ASPLinux v7.3.
/dev/hdc2, sysboot 3-2, корневая директория / дистрибутива ASPLinux v7.3.
/dev/hdb1, привод CD-R(W) с поддержкой DVD, эмуляция ide-scsi включена только для загрузки ядра в дистрибутиве ASPLinux v9.2.
На обоих жестких дисках имеется еще по одной партиции 1-4, 1-5 и 3-3 для организации swap дисков для дистрибутивов ASPLinux, но так как они не участвуют в процессе инициализации ядер GNU/Linux, то их существование нами не будет рассматриваться. Дистрибутив ASPLinux v10 был установлен без инициализации какого-либо загрузчика, с расчетом совместного использования ранее установленного ASPLoader.
Ниже приводится файл /etc/aspldr.conf(/dev/hda2):
000 # Файл /etc/aspldr.conf был создан во время инсталляции 001# дистрибутива ASPLinux v9.2 002 [linux1128965210@ Linux(2.4.22-1.2199.5.legacy.nptl.aspsmp)] 003 icon linux 004kernel /boot/vmlinuz-2.4.22-1.2154.nptl.aspsmp root=/dev/hda2 ro hdc=ide-scsi rhgb 005 initrd /boot/initrd.2.4.22-1.2154.nptl.asp.img 006 007 [SEPARATOR] 008 009 [linux1128965131@ Linux(2.4.22-1.2199.5.legacy.nptl.asp)] 010 icon linux 011 #kernel /boot/vmlinuz-2.4.22-1.2154.nptl.aspsmp root=/dev/hda2 ro hdc=ide-scsi rhgb 012 #initrd /boot/initrd.2.4.22-1.2154.nptl.asp.img 013 014 [SEPARATOR] 015 016 #[asplinux1128965132@MS-Windows XP] 017 icon windows 018 sysboot 1-1 019 020 [SEPARATOR] 021 [floppy@Boot from floppy] 022 icon floppy 023 sysboot a: 024 025 [BOOTMGR] 026 video graphics 027 default linux1128965210 028 timeout 15 029 clock 24 030 031 [ACTIVATOR] 032 writembr on 033 writeboot off 034 biosnum 1 035 mbrdev /dev/hda 036 language en 037 038 #eof
11.3.3 Что будем делать?
Первое что сделаем: напишем для LILO дистрибутива ASPLinux v7.3 новый конфигурационый файл /etc/lilo.conf. Вернее возьмем ранее приводившийся нами пример в 5.2.5.5 и отредактируем по нашим требованиям. Из всего файла остается только рассчитать количество ОЗУ с учетом использования интегрированного видеоадаптера. Что и делаем:
mem= 1024*1024*1024 – 128*(1024*1024) = 1073741824 – 134217728 = 939524096 байт = 0x38000000 .
Тут надо отметить, что запись в символьно-цифровом виде должна рассчитываться не как
mem = 1000m – 128m = 872m ,
а как
mem = 1024m – 128m = 896m .
000 # Файл /etc/lilo.conf для загрузки в ASPLoader 001 # по метке секции linux-up. 002 boot=/dev/hdc1 003 map=/boot/map 004 install=/boot/boot.b 005 vga=normal 006 lba32 007 image=/boot/vmlinuz-up 008 label=linux-up 009 root=/dev/hdc2 010 append=”mem=896m ” 012 read-only 013 other=/dev/fd0 014 label=floppy 015 unsafe 016 #eof
000 # Файл /etc/aspldr.conf был создан во время инсталляции 001 # дистрибутива ASPLinux v9.2 002 # Сделаны изменения: 003 # -- Добавлен раздел операционный ASPLinux v7.3(load via LILO) 004 # -- Удален раздел Linux(2.4.22-1.2199.5.legacy.nptl.asp) 005 # -- Добавлен раздел Linux(2.6.9-1.667.5aspsmp) 006 # -- Добавлен к каждому ядру параметр mem = 896m взамен rhgb 007 # -- Установлен VESA режим 1024x768 @ 24 ppb 008 # -- Русифицирован интерфейс boot-менеджера. 009 # -- Установлено чередование цветов иконок черный/зеленый 010 # -- Установлен цвет иконки флоппи диска коричневым. 011 # 012 [linux1128965210@ Linux(2.4.22-1.2154.nptl.aspsmp)] 013 icon linux 0 014 kernel /boot/vmlinuz-2.4.22-1.2154.nptl.aspsmp root=/dev/hda2 ro hdc=ide-scsi mem=896m 015 initrd /boot/initrd. 2.4.22-1.2154.nptl.aspsmp 016 vga 792 017 018 [SEPARATOR] 019 020 [linux1128965211@ Linux(2.6.9-1.667aspsmp)] 021 icon linux 022 kernel /boot/vmlinuz-2.6.9-1.667aspsmp root=/dev/hda3 ro hdc=ide-scsi mem=896m 023 initrd /boot/initrd.2.6.9-1.667aspsmp 024 vga 792 025 026 [SEPARATOR] 027 028 [linux1128965212@ Linux( load via LILO)] 029 icon linux 0 030 sysboot 3-1 031 lilo linux-up 032 033 [SEPARATOR] 034 035 [linux1128965213@MS-Windows XP] 036 icon windows 037 sysboot 1-1 038 039 [SEPARATOR] 040 [floppy@Boot from floppy] 041 icon floppy 3 042 sysboot a: 043 044 [BOOTMGR] 045 video graphics 046 default linux1128965210 047 timeout 15 048 clock 24 049 050 [ACTIVATOR] 051 writembr on 052 writeboot off 053 biosnum 1 054 mbrdev /dev/hda 055 language ru 056 057 #eof
Москва, Октябрь-Ноябрь 2005 года