uboot_scr
This is an old revision of the document!
Table of Contents
Переменные, передаваемые извне:
| переменная | содержимое |
|---|---|
| prefix | путь к каталогу /boot |
| devtype | тип загрузочного устройства |
| devnum | номер загрузочного устройства |
| distro_bootpart | номер загрузочной партиции |
Для загрузки файла используется команда 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
- Иначе
load $(DEV_PART) ${load_addr} ${prefix}fixup.scr
uboot_scr.1778071875.txt.gz · Last modified: by gadmin
