Выбор источников загрузки 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_mmc1 bootpartnum 1 rootfstype ext4 rootpartnum 1 bootfile /boot/zImage | boot_targets legacy_mmc0 bootpartnum 1 rootfstype ext4 rootpartnum 1 bootfile /boot/zImage |
buildroot 3.1.0 | boot_targets legacy_mmc1 bootpartnum 1 rootpartnum 2 bootfile zImage | boot_targets legacy_mmc0 bootpartnum 1 rootpartnum 2 bootfile zImage |
buildroot 2.9 | mmcdev 1 bootpartnum 1 rootpartnum 2 bootfile zImage | mmcdev 0 bootpartnum 1 rootpartnum 2 bootfile zImage |
AltLinux 2.9 | mmcdev 1 rootpartnum 1 bootfile /boot/vmlinuz-4.4.111.8-mcom02-alt1 cmdline video=HDMI-A-1:1920x1080 | mmcdev 0 rootpartnum 1 bootfile /boot/vmlinuz-4.4.111.8-mcom02-alt1 cmdline video=HDMI-A-1:1920x1080 |