НАИМЕНОВАНИЕ
installboot - создание загрузочного устройства
СИНТАКСИС
installboot -i(mage) image [label:]kernel mm fs ... init
installboot -(e)x(tract) image
installboot -d(evice) device bootblock boot [[label:]image
...]
installboot -b(oot) device bootblock boot [label:]image ...
installboot -m(aster) device masterboot [keys [logical]]
ОПИСАНИЕ
Installboot может быть использована для того, чтобы сделать
устройство загрузочным, создавая при этом образ ядра и устанав-
ливая загрузочную полосу в загрузочный блок файловой системы
MINIX3. Чтобы понять как это выглядит, первое что нужно знать
это то, как происходит загрузка PC.
При включении питания типичный PC будет пытаться прочитать пер-
вый сектор первого гибкого диска или первого жесткого диска в
память и выполнить загрузку. Код, полученный с жесткого диска
(с так называемого главного загрузочного сектора) немедленно
заменит себя кодом, найденным в первом секторе активного разде-
ла. Таким образом PC теперь выполнит код начальной загрузки,
найденный в первом секторе /dev/fd0,/dev/c0d0p0,/dev/c0d0p1,
/dev/c0d0p2, или/dev/c0d0p3 (предполагая, что загрузочный диск
присоединен к контроллеру 0). Начальная загрузка определит
местонахождение операционной системы на устройстве, с которого
она непосредственно была загружена и выполнит её запуск.
Для того чтобы сделать файловую систему MINIX3 /dev/fd0
установленную в /mnt загрузочной, введите следующее:
cp /usr/mdec/boot /mnt/boot
installboot -i /mnt/minix kernel mm fs init
installboot -d /dev/fd0 /usr/mdec/bootblock boot
Программу "Загрузки" в примере называют "Монитором Загрузки".
Загрузка происходит благодаря коду загрузочного блока, помещен-
ному в загрузочном секторе /dev/fd0, который и обеспечивает
по сути загрузку образа ядра "minix" из корневого каталога
файловой системы. См. monitor(8), где дано описание "Монито-
ра Загрузки".
Обратите внимание, что boot - это имя в файловой системе на
/dev/fd0 в этом примере, тот же самый файл /mnt/boot.
Создание /mnt/minix не является необходимостью, так как обычно
есть образ ядра, расположенный в директории tools.
ОПЦИИ
-i(mage) image [label:]kernel mm fs ... init
Опция -image (или -i сокращенно) объединяет исполняемые
файлы необходимые для запуска MINIX 3 в один общий
файл. Образ составляют только имена и несколько нулевых
байтов. Имя необходимо для идентификации, а ноли исполь-
зуются для того, чтобы доставить отдельные части к
границам сектора для быстрой загрузки.
Исполняемая программа может иметь метку. Монитор может
быть оповещен о загрузке процессов с меткой. Таким образом,
в образ может быть включен более чем один ядерный процесс,
каждый из которых будет с различным внчестерным драйвером
например. Так, если вы компилировали два различных ядра с
AT или XT драйвером, тогда
installboot -i image AT:at_kernel XT:xt_kernel mm
fs init
создаст образ с двумя различными метками ядер и одним без
метки с другим двоичным кодом.
-(e)x(tract) image
Извлекает двоичный код из image образа под именами сохра-
ненными в нём. (Имя включает дополнительную метку).
-d(evice) device bootblock boot [[label:]image ...]
Устанавливает bootblock в загрузочный сектор устройства
вместе с диском адресатом начальной загрузки. Эти дисковые
адреса необходимы, чтобы произвести загрузку из файло-
вой системы во время начальной загрузки.
Параметр boot сначала ищется в файловой системе на
устройстве. Если он не найден, то будет прочитан как обычный
файл и добавлен в конце файловой системы. Файловая система
должна быть меньшей чем устройство, позволяющее это.
Любые дополнительные образы также добавлены в конец описания,
ниже boot. Важно понимать весь ход этой операции.
Устройство не должно быть установлено (примонтировано), когда
installboot запущен, и при этом не имеет значения, есть ли оно.
Installboot необходимо будет запустить снова, в случае если
загрузчик переписан, поскольку тогда им будет занято новое
место надиске.
Старые загрузочные параметры будут сохранены, если при этом
не будет никаких добавленных образов.
-b(oot) device bootblock boot [label:]image ...
Этот параметр создает на дискете загрузочную запись и образ ядра.
У этого "загрузочного диска" нет корневого раздела файловой
системы (root), есть только Boot Monitor и ядро MINIX 3.
Параметры загрузочного сектора включают код, разрешающий меню
выбора образа. После загрузки образа, Monitor попросит, чтобы
Вы вставили дискету с корневой файловой системой root прежде,
чем запустится MINIX 3.
Метки, используемые на образах, должны соответствовать тем исполнителям,
которые используются в самом образе. Вы можете поместить метки в отделенный
список, в котором они будут отделены друг от друга и принадлежать
соответствующему образу.
Для образа, созданного ранее, будет создан загрузочный диск например:
installboot -b /dev/fd0 bootblock boot AT,XT:image
Если список меток будет пропущен и не указан на образе, то образ
будет выбран по умолчанию. Обычно образ метки не имеет.
Следует также отметить, что device и boot вместе, позволяют создать
загрузочную дискету с корневой файлойловой системой root или без нее.
С загрузочным кодом в файловой системе, присоединяют в конце, или
после блока начальной загрузки. С одним или более образов
ядра - в файловой системе или в конце устройства. Несколько запутанно.
-m(aster) device masterboot [keys [logical]]
Этот параметр устанавливает masterboot программу в загрузочный сектор
данного устройства device. Если вместо masterboot задано другое устройство,
тогда его bootstrap код будет скопирован на устройство. Мастер bootstrap,
расположенный на жестком диске, загрузит активный раздел на этом диске во
время загрузки. Команда MS-DOS fdisk, обычно помещает основной загрузчик
на жесткий диск. В MINIX 3 есть имеется два загрузчика, которые могут
использоваться как основные, masterboot и jumpboot.
Masterboot - довольно неплохой мастер загрузки, который
работает следующим образом:
Если он установлен на жестком диске, тогда загрузка
и управление будет происходить из активного раздела.
Masterbootможет быть помещен в первый сектор жесткого
диска, чтобы загрузить активный раздел или в первый
сектор раздела MINIX 3, чтобы загрузить активный
раздел от туда.
Если MINIX 3 устанавливается с дискеты, то сначала
осуществляется попытка загрузиться с дискеты или
первого жесткого диска. Это идеально для дискет,
содержащих только данные, они будут не так долго
загружаться. Также очень полезная уловка, загрузиться
с дискеты 1.
Другим загрузчиком является jumpboot, но он используется
в крайне редких случаях:
Если Ваша операционная система по умолчанию установлена
на другом диске, тогда jumpboot, может быть установлен на
первом диске и проинструктирован загрузить диск, раздел
или подраздел, который должен быть загружен по умолчанию.
Если, одна из ваших операционных систем, настаивает на том,
чтобы быть активной при загрузке, главной, в этом случае
используйте jumpboot, чтобы проигнорировать активный флаг
и загрузить предпочетаемую ОС. Монитор Загрузки "boot *"
удобен для активации раздела при загрузке.
Загрузка логического раздела происходит в пределах
расширенного (дополнительного) раздела. Заметьте, Вы можете
поместить jumpboot в первый сектор расширенного раздела
только в том случае, если расширенный раздел помечен как
активный.
Если Вы нажмете и будете удерживать клавишу ALT, в то время
как jumpboot выполняется, то сможете выбрать диск, раздел
или подраздел, который Вы хотите загрузить, поскольку
набраные Вами цифры будут исполняемыми.
Jumpboot может быть запрограммирован на загрузку с определенного раздела с
аргументом keys и произвольно также с аргументом logical. Keys могут быть
как одно, так трехзначными, обозначая диск, раздел или подраздел. Если это
устройство, то загружается /dev/c0d1p3s0, с keys 130. Это теже самые цифры,
которые Вы можете ввести при загрузке, удерживая нажатой клавишу ALT.
В программе jumpboot, загрузка логического раздела происходит в пределах
дополнительного раздела. Лучше всего сделать так, чтобы параметр keys был
только номером диска и определялся бы как логический logical раздел на том
диске, который должен быть загружен. (Фактически, логическим разделом может
быть любое название устройства, но этой формы нужно избегать, поскольку это
предполагает меньшее проверки и трудно увидеть, расположено ли устройство
все еще там, после дисковой перестановки).
Резервная копия текущего мастера загрузки (включая таблицу раздела)
может быть создана так:
dd if=device of=backup-file count=1
Простое устройство резервного копирования файла 'cp backup-file device'
отменит действие. Вы можете также использовать fdisk /mbr под MS-DOS 5.0
(или более новую версию), для восстановления основного мастера загрузки.
ФАЙЛЫ
/usr/mdec/bootblock MINIX 3 загрузчик в качестве Minix root устройства.
Расположен в загрузочном секторе.
/usr/mdec/boot MINIX 3 Boot Monitor ("Монитор начальной загрузки").
Можно обнаружить в корневом каталоге загрузочного
устройства.
/usr/mdec/masterboot Master bootstrap.("Мастер загрузки"). Может быть размещен
в первом секторе диска, для выбора активного раздела.
В MINIX 3, помимо первичного раздела, выбирается еще и
активный подравздел.
/usr/mdec/jumpboot Специальный "загрузчик".
СМ. ТАКЖЕ
part(8), monitor(8).
ДИАГНОСТИКА
File is not an executable
(Файл не является исполяемым)
Файл не является файлом начальной загрузки или частью
ядра.
Program will crash, text/data segment larger then 64K
(Программа совершила сбой, сегмент данных больше чем 64K)
Одна из 16-битовых программ, добавленных в образ содержит
текст или сегмент данных, который больше чем 64K. Вероятно,
задействовано слишком много драйверов или сконфигурирован
слишком боьшой буфер.
File can't be attached to device
(Файл не может быть присоединён к устройству)
Вы пытаетесь разместить загрузочную запись или образ вне
раздела файловой системы, возможно недостаточно свободного
места. Указан ли полный путь до монитора загрузчика или же
только "boot"?
Device is not a MINIX 3 file system
(Устройство отличимое от файловой системы MINIX 3)
Вы используете устройство device на устройстве, которое не
содержит файловую систему. Возможно Вы неправильно определили
устройство, необходимо создать файловую систему или нужно использовать
загрузчик boot.
Device contains a file system
(Устройство содержит файловую систему)
Устройство с файловой системой, содержащей boot.
Возможно Вы захотите использовать или удалить устройство device?
В вашем распоряжении в этом случае есть 10 секунд...
File is too big
(Файл слишком большой)
Некоторые сообщения такого плана будут сообщать вам о невозможности
установки файла file в загрузочном секторе или о том, что нет
такой части, в которую можно бы было добавить некоторые параметры
и т.д. Действительно ли file - bootstrap?
Bootstrap errors (Ошибки возникающие при начальной загрузке)
Read error
(Ошибка чтения)
Ошибка чтения, попытка получения следуещего бита данных
начальной загрузки. Вы можете получить код ошибки
базовой системы ввода-вывода в шестнадцатеричном формате.
Или устройство имеет плохой блок, или невозможно считать
несуществующий диск.
No active partition (Активный раздел не найден)
Не найдено ни одного активного раздела в таблице
разделов.
Not bootable
(Загрузка невозможна)
Раздел не существует и дальнейшая загрузка невозможна.
ПРИМЕЧАНИЕ
BOOTP (англ. сокращение от Bootstrap Protocol) MINIX 3 может
быть загружен вне диска с размером 8G, но в том случае, если BIOS
поддерживает IBM/MS INT 13 расширения.
Увы, но только Minix-vmd имеет такую возможность, стандарт
MINIX 3 имеет предел дискового пространства в 4Г.
ОШИБКИ
Имееется более четырех параметров, отличимых от загрузчика SunOS,
смоделированных позднее.
Исходный код bootblock был очень сильно урезан.