Создание загрузочного CD с ОС QNX 4.

Существует свободно распространяемая утилита, называемая 'mkisofs'. Ее можно найти на ftp://ftp.qnx.com/usr/free/qnx4/os/utils/misc/mkisofs-1.11.1.tgz. Приведу выдержку из ее описания:

Это дистрибутив mkisofs. Он используется для создания образов файловых систем для CD-ROM стандарта ISO 9660. Теперь он включает в себя поддержку создания загрузочных CD-ROM стандарта "El Torito".

mkisofs - это эффективное средство для подготовки и генерации файловой системы ISO 9660. С его помощью создается список файлов указываемого каталога и генерируется бинарный образ, отвечающий стандарту файловой системы ISO 9660, который впоследствие может быть записан на блочное устройство (CD-ROM).

Вам потребуется файл mkisofs-1.11.1.tgz - в других версиях поддержка "El-torito" отсутствует. Еще одно условие - наличие BIOS с поддержкой стандарта загрузки с CD "El-Torito", иначе Вы не добьетесь желаемого результата. Последовательность Ваших действий должна быть такой:

1. Упорядочьте структуру каталога на Вашем жестком диске в соответствии с тем, как это будет выглядеть потом на CD. Включите в этот каталог образ загрузочной дискеты. Если Вы хотите обеспечить доступ к CD после загрузки, добавьте в образ загрузочной дискеты соответствующие драйверы и сконфигурируйте их корректное включение.

2. Используйте утилиту 'mkisofs' для создания образа файловой системы ISO 9660 на основе подготовленного каталога. Ознакомьтесь с документацией, включенной в дистрибутив mkisofs, чтобы более детально уяснить как это сделать, включив требуемую нам опцию "El-Torito". (Я реально не делал этого сам, но давал рекомендации по телефону, как это сделать, - и это заработало - примечание сотрудника службы технической поддержки QSSL).

3. После того, как Вы получите результирующий образ Вашего будущего CD в файле, поместите его в такое место, где будет возможен к нему доступ со стороны Вашего программного обеспечения для записи CD. например: запустите Dosfsys и скопируйте образ в раздел диска с Win95, перезагрузитесь в Win95 и запишите Ваш новый "El-Torito" загрузочный CD.

Вот в общем-то и все. Почитайте документацию, отработайте и уясните детали. "El-Torito" - это стандарт, который "знает" как распaковать образ загрузочной дискеты с CD и как осуществить его загрузку таким образом, как если бы это была обычная загрузочная дискета.

---------

Комментарии к статье

Комментарий 1:

Основная беда в этом вопросе заключается в том, что qnx4 очень самостоятельная система и практически не использует функции BIOS для работы с дисковыми накопителями. Что из этого следует ? А следует вот-что : При загрузке с CD, содерждащего образ загрузочной дискеты QNX4, будет запущен Fsys.floppy, который в свою очередь полезет не на виртуальный флоппи, подставленный биосом, а на реальный флоппик.

Мораль : при создании CD в образ загрузочной дискеты надо включать драйвер Iso9660fsys и использовать файлы, размещенные на CD. Вроде бы хэппи, но такому подходу мешает другая маленькая неприятность - насколько я понимаю Iso9660 НЕ ПОДДЕРЖИВАЕТ файловые атрибуты в стиле QNX4. То есть загрузиться то он загузится, но после этого ни хрена не заработает :(

Единственный выход, который я вижу - написание Fsys драйвера для виртуального блочного устройства, поддерживающего файловую систему QNX4. При наличии такого драйвера можно будет включить его в .boot флоппика, образ которого будет использоваться для создания bootable CD.

И напоследок немного приятного, похоже таких проблем не будет в QNX NTO 2.1, ибо он изначально ориентирован на использование различных файловых систем, в т.ч. FAT32.

Василий Дмитриев Санкт-Петербург, Россия
12.06.2000

Комментарий 2:

Я хочу разрешить проблему Василия Дмитриева, для нормальной поддержки атрибутов нужно сделать нечто вроде следующего:

1) Создать файловую систему QNX4FS на жестком диске произвольного размера (но так, чтобы на сидюк влезла я сделал 90 Mb), далее устанавливаете туда всю софтину, которая вам необходима для работы.

2) копируете этот раздел в файл, например "cp /dev/hdXt77 /qnxfsimage"

3) этот файл ложите в CD Image.

4) при старте образа просто маунтите ваш qnxfsimage допустим в /usr/local

5) можно сделать вообще много файловых систем для /bin, /usr/bin и т.п.

6) зарезаете CD-R.

Т.о. получается, что в image системы с помощью buildqnx можно зашить Iso9660fsys и маунтить cdrom в /cdrom, а из него уже и /bin, /usr/bin и т.п.

Mike Gorchak
12.06.2000

---------

Я буду рад получить Ваши отзывы, замечания, комментарии, которые обязательно будут отражены на сайте. Пишите.

Engineer
09.06.2000