Выбор источников загрузки Linux
Данное руководство применимо к отладочным модулям Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ2.
Начиная с Buildroot 2025.06 необходимо использовать режим distro. Режим legacy - удален.
Подробнее – далее.
MCom-02 Buildroot 2025.06
Алгоритм загрузки:
- U-Boot сканирует устройства, перечисленные в переменной окружения
boot_targets. - U-Boot считывает конфигурационный файл
/boot/extlinux/extlinux.confна первом устройстве, где этот файл доступен. - U-Boot загружает ядро из того источника, который указан в конфигурации.
Для выбора источника загрузки нужно указать опцию root в файле /boot/extlinux/extlinux.conf.
Утилита tar2dev умеет задавать эту опцию с помощью переменной ROOT при
прошивке uSD карты
.
Выбор источника с которого будет считываться файл extlinux.conf задается переменной boot_targets:
- для загрузки с SD-карты установить
boot_targets = mmc1; - для загрузки с eMMC установить
boot_targets = mmc0; - для загрузки с USB установить
boot_targets = usb; - для загрузки по Ethernet (TFTP+NFS) установить
boot_targets = pxe.
Значение переменной boot_targets = mmc1 mmc0 usb pxe говорит о следующем:
Сначала U-Boot попытается найти и прочитать файл /boot/extlinux/extlinux.conf на uSD.
Если uSD не установлена или не прошита U-Boot будет искать файл на eMMC, при неудаче будет опрошено
USB-устройство, и затем, произойдет попытка загрузиться по TFTP.
Как настраивать boot_targets и переключатель SD/Wi-Fi на плате в зависимости от режима загрузки описано в документации:
- прошивка и загрузка с eMMC - https://dist.elvees.com/mcom02/docs/buildroot/2025.06/buildroot.html#emmc-242;
- описание переменных U-Boot -
- https://dist.elvees.com/mcom02/docs/buildroot/2025.06/components/u-boot.html#envvar-bootcmd;
Неподдерживаемые релизы
Для загрузки через порт SDMMC1 (то есть, с SD-карты), а также выбора другого дистрибутива необходимо выполнить следующие действия:
- Установить джампер XP4 в положение SD-card.
- Установить переключатели BOOT (SA1) в положение «011» (загрузка из SPI-флеш).
- Подключить разъем XS13 к ПЭВМ с помощью кабеля MiniUSB-USB.
- Запустить терминал COM-порта (например PuTTY, minicom).
- Подать питание на отладочный модуль.
- При появлении сообщения
Hit any key to stop autoboot- остановить автозагрузку U-Boot отправкой любого символа в терминал COM-порта. - Установить переменные окружения (командой
setenv boot_targets legacy_mmc1, см. таблицу). - Сохранить
saveenv. - Запустить загрузку
boot.
Переменные окружения для различных дистрибутивов
| Дистрибутив | SD | eMMC |
|---|---|---|
| buildroot 3.1.4 | boot_targets legacy_mmc1bootpartnum 1rootfstype ext4rootpartnum 1 bootfile /boot/zImage | boot_targets legacy_mmc0bootpartnum 1 rootfstype ext4rootpartnum 1bootfile /boot/zImage |
| buildroot 3.1.0 | boot_targets legacy_mmc1bootpartnum 1rootpartnum 2 bootfile zImage | boot_targets legacy_mmc0bootpartnum 1 rootpartnum 2bootfile zImage |
| buildroot 2.9 | mmcdev 1bootpartnum 1rootpartnum 2 bootfile zImage | mmcdev 0bootpartnum 1 rootpartnum 2bootfile zImage |
| AltLinux 2.9 | mmcdev 1rootpartnum 1bootfile /boot/vmlinuz-4.4.111.8-mcom02-alt1 cmdline video=HDMI-A-1:1920x1080 | mmcdev 0rootpartnum 1 bootfile /boot/vmlinuz-4.4.111.8-mcom02-alt1cmdline video=HDMI-A-1:1920x1080 |