Глава 4. Linux SDK - инструкция по сборке OrangePi
4.3. Как скомпилировать u-boot
1) Запустите скрипт build.sh, не забудьте добавить разрешение sudo
test@test:~/orangepi-build$ sudo ./build.sh
2) Выберите U-boot package, затем нажмите Enter
Img
4.3
3) Затем выберите модель платы
Img
4.4
4) Затем выберите тип ветки U-Boot
a. Текущая ветка скомпилирует код u-boot v2018.05, который необходимо
использовать в образе linux5.4.
b. В следующей ветке будет собран код версии u-boot v2021.07, который
необходимо использовать в образе linux6.1.
Img
4.5
5) Затем он начнет компилировать u-boot, и часть информации, запрашиваемой
при компиляции следующей ветки, выглядит следующим образом:
[ o.k. ] Compiling u-boot [ v2021.07 ]
b. Версия набора инструментов для кросс-компиляции
[ o.k. ] Compiler version [ aarch64-linux-gnu-gcc 11 ]
c. Путь к сгенерированному deb-пакету u-boot
[ o.k. ] Target directory [ orangepi-build/output/debs/u-boot ]
d. Имя сгенерированного пакета u-boot deb
[ o.k. ] File name [ linux-u-boot-next-orangepizero3_x.x.x_arm64.deb ]
e. Время компиляции
[ o.k. ] Runtime [ 1 min ]
f. Повторите команду для компиляции u-boot, используйте следующую
команду, чтобы начать компиляцию u-boot напрямую без выбора через
графический интерфейс
[ o.k. ] Repeat Build Options [ sudo ./build.sh BOARD=orangepizero3 BRANCH=next BUILD_OPT=u-boot ]
6) Просмотрите deb-пакет u-boot, сгенерированный компиляцией
test@test:~/orangepi-build$ ls output/debs/u-boot/
linux-u-boot-next-orangepizero3_x.x.x_arm64.deb
7) Когда система компиляции Orangepi-bulid компилирует исходный код
u-boot, она сначала синхронизирует исходный код u-boot с исходным кодом
u-boot сервера github, поэтому, если вы хотите изменить исходный код
u-boot code, сначала нужно отключить функцию загрузки и обновления исходного кода.
Эта функция должна быть полностью скомпилирована после
u-boot, в противном случае будет указано, что исходный код u-boot не найден.
В противном случае внесенные изменения будут восстановлены, метод следующий:
Установите для переменной IGNORE_UPDATES в userpatches/config-default.conf значение "yes"
test@test:~/orangepi-build$ vim userpatches/config-default.conf
......
IGNORE_UPDATES="yes"
......
8) При отладке кода u-boot вы можете использовать следующий метод для обновления u-boot
в образе linux для тестирования
a. Сначала загрузите скомпилированный deb-пакет u-boot в систему Linux
платы .
test@test:~/orangepi-build$ cd output/debs/u-boot
test@test:~/orangepi_build/output/debs/u-boot$ scp \
linux-u-boot-next-orangepizero3_x.x.x_arm64.deb root@192.168.1.xxx:/root
b. Установите только что загруженный новый пакет u-boot deb
orangepi@orangepi:~$ sudo dpkg -i linux-u-boot-next-orangepizero3_x.x.x_arm64.deb
c. Затем запустите скрипт nand-sata-install
orangepi@orangepi:~$ sudo nand-sata-install
d. Затем выберите 5 Установить/обновить загрузчик на SD/eMMC
Img
4.6
e. После нажатия клавиши Enter сначала появится предупреждение
Img
4.7
f. Нажмите клавишу Enter еще раз, чтобы начать обновление u-boot, и после
обновления отобразится следующая информация
Img
4.8
g. Затем вы можете перезапустить плату, чтобы проверить, вступит
ли в силу модификация u-boot.