Загрузочная флешка с QNX4 и syslinux
05 May 2016Инструкция, как сделать загрузочную флешку с ОС QNX4, загружаемой с помощью syslinux
-> memdisk
.
Сделать образ файловой системы QNX4, image.tar.bz2
, куда надо положить то, что должно быть в целевой системе.
Путем долгих усилий удалось заставить загружаться QNX4 с файловой системы FAT, а не с qnx-fs. Это сильно экономит время, не нужно мучаться с этой ФС, писать на которую можно только из самого же QNX, и нет необходимости разбивать флешку на несколько разделов с разными ФС.
- отредактировать сценарий prestart:
В данном случае мы сильно ограничены размером ядра, и если оно превышает 610 кБ (в моем случае критичный размер ядра колебался около этого значения), то ядро не загрузится. Поэтому необходимо уложиться в размер, используя минимальное количество утилит/драйверов для старта системы. Fatfsys
оказался слишком жирным для cram-fs, поэтому использую Dosfsys
, вместе с его ограничением на имя файла, из-за этого файлы/директории у меня называются коротко, до 9 символов (например, image.tar.bz2
стал image.bz2
).
- положить в
ram/
все необходимые для старта ядра файлы:
Итак, как мы видим, система будет загружаться в RAM, т.е. архив с ФС (image.bz2
) будет распаковываться в память, что довольно безопасно.
- собрать ядро, сделать образ дискеты с этим ядром (в
Makefile
есть сценарий, который сделает это сам):
Перед этим примонтируйте пустой файл как образ дискеты (ведь вы делаете всё это в виртальной машине, так? :) ). Тогда в итоге у вас получится готовый образ дискеты, который сразу можно использовать для загрузки. Например, qnx_fat.img
.
- Теперь сделаем загрузочную флешку:
- Осталось положить нужные файлы на флешку:
Содержимое файла syslinux.cfg
:
Архив с cram-fs доступен здесь.