Существует свободно распространяемая утилита, называемая '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