Прискорюємо завантаження QNX на вбудованій системі, КБ13
Процес завантаження QNX ділиться на два етапи, під час яких відпрацьовують, відповідно, первинний завантажувач (який пропонує вибрати розділ) і вторинний, який пропонує вибрати варіант завантаження (Hit Esc for .altboot) - з файлу /.boot, або /. altboot. Обидва завантажувачі досить примітивні і не дозволяють себе налаштувати, зокрема, наприклад, налаштувати моментальне завантаження, без очікування будь-яких дій користувача.
Після створення завантажувальної флешки логічно було б спробувати звести час її запуску до мінімуму, тим більше, що в робочій вбудованій системі навряд чи комусь доведеться вибирати з якого розділу завантажуватися або використовувати образ.
Власне, нам потрібно зробити дві речі:
- Модифікувати або замінити первинний завантажувач, щоб він не чекав на вибір розділу для завантаження.
- Модифікувати вторинний завантажувач, щоб він не чекав на реакцію користувача на запрошення до вибору альтернативного завантажувача «Hit Esc for .altboot»
Первинний завантажувач
Роб Кертен у статті рекомендує зайнятися HEX-відносинами з первинним завантажувачем, тобто. редагувати час очікування користувача. Однак, там же написано, що цей варіант не є найкращим, тому як паузи не вийде виставити в 0. Іншим варіантом, який вибрав я, стала установка альтернативного первинного завантажувача, наприклад GRUB, архів скомпільованих під QNX6 бінарників якого давно є в Інтернет.
Установка GRUB проходить легко та невимушено.
Завантажуємо архів у кореневу, наприклад, папку системи та вводимо кілька команд:
Запускаємо оболонку GRUB командою:
І встановлюємо завантажувач у МБР:
Далі потрібно налаштувати завантажувальне менюGRUB'а, що описано у файлі /boot/grub/menu.lst
За замовчуванням там написано наступне:
Нам не потрібні ні варіанти завантаження, ні очікування, ні виведення самого меню, тому наводимо файл у такий вигляд:
Що все це означає, можна прочитати в онлайн-документації.
Тепер можна спробувати завантажити систему та переконатися, що кілька секунд часу заощаджено. Переходимо до другої частини.
Вторинний завантажувач


Зберігаємо файл і переносимо дамп назад на флешку:
Перевіряємо цілісність файлової системи:
І дивимося, як QNX вантажиться без будь-яких затримок та пауз. У моєму випадку старт системи зайняв приблизно 5 секунд.