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