Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Vi▒L▒`.j
- -\▒Y▒
- %
- ###########################################
- part start mmc ${devnum} 9 mmc_env
- mmc dev ${devnum}
- setenv loadbootstate " \
- echo 'loading env...'; \
- mmc read ${ramdisk_addr_r} ${mmc_env} 0x10; \
- env import -c ${ramdisk_addr_r} 0x2000;"
- setenv storebootstate " \
- echo 'storing env...'; \
- env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \
- mmc write ${ramdisk_addr_r} ${mmc_env} 0x10;"
- run loadbootstate
- test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B"
- test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3
- test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
- # HassOS bootargs
- setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes"
- # HassOS system A/B
- setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
- setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
- # Load extraargs
- fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline
- if test "${board_rev}" = "c"; then
- fatload mmc ${devnum}:1 ${fdt_addr_r} meson-g12b-odroid-n2-plus.dtb
- else
- fatload mmc ${devnum}:1 ${fdt_addr_r} meson-g12b-odroid-n2.dtb
- fi
- # logical volumes get numbered after physical ones.
- # 1. boot
- # 2. Extended partition
- # 3. Overlay
- # 4. Data
- # 5. KernelA
- # 6. SystemA
- # 7. KernelB
- # 8. SystemB
- # 9. BootInfo
- setenv bootargs
- for BOOT_SLOT in "${BOOT_ORDER}"; do
- if test "x${bootargs}" != "x"; then
- # skip remaining slots
- elif test "x${BOOT_SLOT}" = "xA"; then
- if test ${BOOT_A_LEFT} -gt 0; then
- setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1
- PuTTYPuTTY echo "Trying to boot slot A, ${BOOT_A_LEFT} attempts remaining. Loading kernel ..."
- if ext4load mmc ${devnum}:5 ${kernel_addr_r} Image; then
- setenv bootargs "${bootargs_hassos} ${bootargs_a} rauc.slot=A ${cmdline}"
- fi
- fi
- elif test "x${BOOT_SLOT}" = "xB"; then
- if test ${BOOT_B_LEFT} -gt 0; then
- setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1
- echo "Trying to boot slot B, ${BOOT_B_LEFT} attempts remaining. Loading kernel ..."
- if ext4load mmc ${devnum}:7 ${kernel_addr_r} Image; then
- setenv bootargs "${bootargs_hassos} ${bootargs_b} rauc.slot=B ${cmdline}"
- fi
- fi
- fi
- done
- if test -n "${bootargs}"; then
- run storebootstate
- else
- echo "No valid slot found, resetting tries to 3"
- setenv BOOT_A_LEFT 3
- setenv BOOT_B_LEFT 3
- run storebootstate
- reset
- fi
- printenv bootargs
- echo "Starting kernel"
- booti ${kernel_addr_r} - ${fdt_addr_r}
- echo "Boot failed, resetting..."
- reset
Add Comment
Please, Sign In to add comment