Skip to content

Commit 240fac3

Browse files
committed
fix the issue about booting failed after OTA
1 parent 667d3be commit 240fac3

10 files changed

Lines changed: 90 additions & 177 deletions

File tree

chromeos-base/chromeos-installer/chromeos-installer.bashrc

Lines changed: 0 additions & 14 deletions
This file was deleted.

chromeos-base/chromeos-installer/files/copy_kernel.sh

Lines changed: 0 additions & 52 deletions
This file was deleted.

chromeos-base/chromeos-installer/files/flash_spi.sh

Lines changed: 0 additions & 22 deletions
This file was deleted.

chromeos-base/chromeos-installer/files/mark_clean_overlay.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

chromeos-base/chromeos-installer/files/rock5b.patch

Lines changed: 0 additions & 68 deletions
This file was deleted.

scripts/board_specific_setup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ install_boot_scr() {
3131

3232
info "Copying /boot/boot.scr.uimg"
3333
[ -d "${efi_dir}/boot" ] || sudo mkdir "${efi_dir}/boot"
34-
sudo cp "${ROOT}/boot/boot.scr.uimg" "${efi_dir}/boot/"
34+
sudo cp "${ROOT}/boot/boot-A.scr.uimg" "${efi_dir}/boot/boot.scr.uimg"
3535
sudo umount "${efi_dir}"
3636
rmdir "${efi_dir}"
3737

sys-boot/rk3588-uboot-script/files/boot.cmd renamed to sys-boot/rk3588-uboot-script/files/boot-A.cmd

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ setenv earlycon "on"
1919
setenv user_overlay "/fyde/overlay"
2020
setenv stateful_part "1"
2121

22-
if test -e ${devtype} ${devnum}:${distro_bootpart} /boot/first-b.txt; then
23-
setenv rootpart 5
24-
fi
25-
2622
echo "Boot script loaded from ${devtype} ${devnum}:${rootpart}"
2723
echo "distro_bootpart: ${distro_bootpart}"
2824

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
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}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rk3588-uboot-script-0.0.1.ebuild

sys-boot/rk3588-uboot-script/rk3588-uboot-script-0.0.1.ebuild

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ src_compile() {
2323
if [ -z "${ROCKCHIP_DTS}" ]; then
2424
die "Need set ROCKCHIP_DTS in make.conf"
2525
fi
26-
cat ${FILESDIR}/boot.cmd | sed -e "s/#ROCKCHIP_DTS#/${ROCKCHIP_DTS}/g" > boot.cmd
27-
${FILESDIR}/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
28-
-n "boot" -d boot.cmd boot.scr.uimg || die
26+
for slot in A B; do
27+
cat ${FILESDIR}/boot-${slot}.cmd | sed -e "s/#ROCKCHIP_DTS#/${ROCKCHIP_DTS}/g" > boot-${slot}.cmd
28+
${FILESDIR}/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
29+
-n "boot" -d boot-${slot}.cmd boot-${slot}.scr.uimg || die
30+
done
2931
}
3032

3133
src_install() {
3234
insinto /boot
33-
doins boot.scr.uimg
35+
doins *.scr.uimg
3436
}

0 commit comments

Comments
 (0)