uboot_scr
Table of Contents
Переменные, передаваемые извне:
| переменная | содержимое | значение для H96 MAX |
|---|---|---|
| prefix | путь к каталогу /boot | |
| devtype | тип загрузочного устройства | mmc |
| devnum | номер загрузочного устройства | 0 |
| distro_bootpart | номер загрузочной партиции | 1 |
Переменные, определяемые в скрипте
| переменная | содержимое | комментарий |
|---|---|---|
| load_addr | “0x9000000” | Адрес для загрузки временных файлов - оверлеев и armbianEnv.txt |
| overlay_error | false | Выставляется в true, если произошла ошибка обработки оверлея |
Для загрузки файла используется команда load ${devtype} ${devnum}:${distro_bootpart} ADDRESS PATH_TO_FILE. Дальше указываем только адрес и путь к файлу.
| Адрес | Файл | Комментарий |
|---|---|---|
| load_addr | ${prefix}armbianEnv.txt | Грузим список актуальных переменных и импортируем с помощью env import -t ${load_addr} ${filesize} |
| ramdisk_addr_r | ${prefix}uInitrd | Загрузка uInitrd |
| kernel_addr_r | ${prefix}Image | Загрузка ядра |
| fdt_addr_r | ${prefix}dtb/${fdtfile} | Загрузка dtb. Дальнейшая дозагрузка описана ниже |
Загрузка dtb
Загрузка dtb - это длительный процесс, включающий добавление оверлеев и обработку ошибок.
- Основной файл загружается по адресу ${fdt_addr_r} из файла ${prefix}dtb/${fdtfile}
- Команда
fdt addr ${fdt_addr_r}осуществляет инициализацию dtb fdt resize 65536увеличивает место под dtb- Переменная ${overlays} рассматривается как список оверлеев, которые подгружаются по адресу
${load_addr}из${prefix}dtb/rockchip/overlay/${overlay_prefix}-${overlay_file}.dtboи вмерживаются по командеfdt apply ${load_addr}. В случае ошибки выставляется переменная overlay_error в true - Аналогично обрабатывается переменная
${user_overlays}, только с файлами по пути${prefix}overlay-user/${overlay_file}.dtbo - Если ${overlay_error}==true, то грузим повторно оригинальный файл dtb
- Если оверлееи загрузились, то применяем фиксапы
- Грузим
${prefix}dtb/rockchip/overlay/${overlay_prefix}-fixup.scrи исполняем поsource ${load_addr} - Аналогично поступаем с пользовательским
${prefix}fixup.scr
uboot_scr.txt · Last modified: by gadmin
