Прискорюємо завантаження 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 секунд.