|
| 1 | +# Recompile with: |
| 2 | +# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr |
| 3 | + |
| 4 | +setenv fdtfile #ROCKCHIP_DTS#.dtb |
| 5 | +setenv rootpart 5 |
| 6 | + |
| 7 | +setenv load_addr "0x9000000" |
| 8 | +setenv overlay_error "false" |
| 9 | + |
| 10 | +# setenv overlay_prefix rk3588- |
| 11 | +# default values |
| 12 | +setenv rootdev "/dev/mmcblk0p1" |
| 13 | +setenv verbosity "1" |
| 14 | +setenv console "both" |
| 15 | +setenv bootlogo "false" |
| 16 | +setenv rootfstype "ext2" |
| 17 | +setenv docker_optimizations "on" |
| 18 | +setenv earlycon "on" |
| 19 | +setenv user_overlay "/fyde/overlay" |
| 20 | +setenv stateful_part "1" |
| 21 | + |
| 22 | +echo "Boot script loaded from ${devtype} ${devnum}:${rootpart}" |
| 23 | +echo "distro_bootpart: ${distro_bootpart}" |
| 24 | + |
| 25 | +part uuid ${devtype} ${devnum}:${rootpart} root_uuid |
| 26 | + |
| 27 | +if test -e ${devtype} ${devnum}:${stateful_part} /fyde/Env.txt; then |
| 28 | + load ${devtype} ${devnum}:${stateful_part} ${load_addr} /fyde/Env.txt |
| 29 | + env import -t ${load_addr} ${filesize} |
| 30 | +fi |
| 31 | + |
| 32 | +echo "prefix: ${prefix}" |
| 33 | + |
| 34 | +if test "${logo}" = "disabled"; then setenv logo "logo.nologo"; fi |
| 35 | + |
| 36 | +if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi |
| 37 | +if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttyS2,1500000 ${consoleargs}"; fi |
| 38 | +if test "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi |
| 39 | + |
| 40 | +# get PARTUUID of first partition on SD/eMMC the boot script was loaded from |
| 41 | +if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:${rootpart} partuuid; fi |
| 42 | + |
| 43 | +setenv bootargs rootwait ro cros_debug cros_secure console=ttyS2,1500000n8 root=PARTUUID=${root_uuid} usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u |
| 44 | + |
| 45 | +#if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"; fi |
| 46 | + |
| 47 | +#load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd |
| 48 | +load ${devtype} ${devnum}:${rootpart} ${kernel_addr_r} ${prefix}Image |
| 49 | + |
| 50 | +load ${devtype} ${devnum}:${rootpart} ${fdt_addr_r} ${prefix}/rockchip/${fdtfile} |
| 51 | +fdt addr ${fdt_addr_r} |
| 52 | +fdt resize 65536 |
| 53 | +for overlay_file in ${overlays}; do |
| 54 | + if load ${devtype} ${devnum}:${rootpart} ${load_addr} ${prefix}/rockchip/overlay/${overlay_prefix}${overlay_file}.dtbo; then |
| 55 | + echo "Applying kernel provided DT overlay ${overlay_prefix}${overlay_file}.dtbo" |
| 56 | + fdt apply ${load_addr} || setenv overlay_error "true" |
| 57 | + fi |
| 58 | +done |
| 59 | + |
| 60 | +for overlay_file in ${user_overlays}; do |
| 61 | + if load ${devtype} ${devnum}:${stateful_part} ${load_addr} ${user_overlay}/${overlay_file}.dtbo; then |
| 62 | + echo "Applying user provided DT overlay ${overlay_file}.dtbo" |
| 63 | + fdt apply ${load_addr} || setenv overlay_error "true" |
| 64 | + fi |
| 65 | +done |
| 66 | + |
| 67 | +if test "${overlay_error}" = "true"; then |
| 68 | + echo "Error applying DT overlays, restoring original DT" |
| 69 | + load ${devtype} ${devnum}:${rootpart} ${fdt_addr_r} ${prefix}/rockchip/${fdtfile} |
| 70 | +else |
| 71 | + if load ${devtype} ${devnum}:${rootpart} ${load_addr} ${prefix}/rockchip/overlay/${overlay_prefix}fixup.scr; then |
| 72 | + echo "Applying kernel provided DT fixup script (${overlay_prefix}fixup.scr)" |
| 73 | + source ${load_addr} |
| 74 | + fi |
| 75 | + if test -e ${devtype} ${devnum}:${rootpart} ${prefix}fixup.scr; then |
| 76 | + load ${devtype} ${devnum}:${rootpart} ${load_addr} ${prefix}fixup.scr |
| 77 | + echo "Applying user provided fixup script (fixup.scr)" |
| 78 | + source ${load_addr} |
| 79 | + fi |
| 80 | +fi |
| 81 | + |
| 82 | +booti ${kernel_addr_r} - ${fdt_addr_r} |
0 commit comments