pmaports/device/main/device-pine64-pinephone/uboot-script.cmd
Federico Amedeo Izzo 78ff5e897f
pine64-pinephone: Fix u-boot user script load address (MR 2952)
The package `device-pine64-pinephone-vccq-mod` installs a u-boot user script.
The user script was loaded at address 0x50100000 partially overwriting
the initramfs (0x4FF00000-0x5015facd), and causing a boot loop.

The user script load address was increased to 0x50700000, leaving 8MB
of free space for the initramfs, the current initramfs size is 2.37MB.
2022-02-21 23:25:59 +01:00

45 lines
1.1 KiB
Batchfile

gpio set 98
gpio set 114
if test ${mmc_bootdev} -eq 0 ; then
echo "Booting from SD";
setenv bootdev 0;
else
echo "Booting from eMMC";
setenv bootdev 2;
fi;
setenv bootargs init=/init.sh rw console=tty0 console=ttyS0,115200 earlycon=uart,mmio32,0x01c28000 panic=10 consoleblank=0 loglevel=1 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE pmos_boot=/dev/mmcblk${bootdev}p1 pmos_root=/dev/mmcblk${bootdev}p2
printenv
echo Loading DTB
load mmc ${mmc_bootdev}:1 ${fdt_addr_r} ${fdtfile}
echo Loading Initramfs
load mmc ${mmc_bootdev}:1 ${ramdisk_addr_r} initramfs
setenv ramdisk_size ${filesize}
echo Loading Kernel
load mmc ${mmc_bootdev}:1 ${kernel_addr_r} vmlinuz
gpio set 115
echo Resizing FDT
fdt addr ${fdt_addr_r}
fdt resize
echo Adding FTD RAM clock
fdt mknode / memory
fdt set /memory ram_freq ${ram_freq}
fdt list /memory
echo Loading user script
setenv user_scriptaddr 0x50700000
load mmc ${mmc_bootdev}:1 ${user_scriptaddr} user.scr
if test $? -eq 0; then source ${user_scriptaddr}; else echo No user script found; fi
echo Booting kernel
gpio set 116
gpio clear 98
booti ${kernel_addr_r} ${ramdisk_addr_r}:${ramdisk_size} ${fdt_addr_r}