Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

hiby: r1_patcher: fix possible boot hang and flash failures

- Sort image parts for deterministic results.
- Ensure bootloader.r1 is correctly named and has +x permissions.

Change-Id: I391c935d75e5079010fc91d3614d9221d34e4c6b

+17 -16
+17 -16
tools/r1_patcher/r1_patcher.sh
··· 1 1 #!/bin/bash 2 2 3 + #Prerequisites: 4 + #sudo apt update && sudo apt install -y p7zip-full squashfs-tools genisoimage coreutils 5 + 3 6 if [[ $# -ne 2 ]]; then 4 7 echo 'usage: ./r1_patcher.sh r1.upt bootloader.r1' >&2 5 8 exit 1 ··· 48 51 ################################################################################ 49 52 50 53 # copy 'bootloader' 51 - cp $2 $workingdir_in/rootfs/extracted/usr/bin/ 54 + cp "$2" "$workingdir_in/rootfs/extracted/usr/bin/bootloader.r1" 55 + chmod 0755 "$workingdir_in/rootfs/extracted/usr/bin/bootloader.r1" 52 56 53 57 # copy modified 'hibyplayer.sh' script 54 58 cp hiby_player.sh $workingdir_in/rootfs/extracted/usr/bin/ ··· 58 62 ### rebuild 59 63 ################################################################################ 60 64 61 - mkdir "$workingdir_out/image_contents" 62 - mkdir "$workingdir_out/image_contents/ota_v0" 65 + mkdir -p "$workingdir_out/image_contents/ota_v0" 63 66 64 - mksquashfs $workingdir_in/rootfs/extracted $workingdir_out/rootfs.squashfs -comp lzo 67 + mksquashfs $workingdir_in/rootfs/extracted $workingdir_out/rootfs.squashfs -comp lzo -all-root 65 68 66 69 cd "$workingdir_out/image_contents/ota_v0" 67 70 ··· 74 77 75 78 ota_md5_rootfs="ota_md5_rootfs.squashfs.$md5" 76 79 77 - parts=`find . -name 'rootfs.squashfs.*'` 78 - for part in $parts; do 79 - md5next=($(md5sum $part)) 80 - echo $md5next >> $ota_md5_rootfs 81 - mv $part "$part.$md5" 82 - md5=$md5next 80 + for part in $(ls rootfs.squashfs.[0-9]* | sort); do 81 + md5next=($(md5sum $part)) 82 + echo $md5next >> $ota_md5_rootfs 83 + mv $part "$part.$md5" 84 + md5=$md5next 83 85 done 84 86 85 87 # xImage ··· 91 93 92 94 ota_md5_xImage="ota_md5_xImage.$md5" 93 95 94 - parts=`find . -name 'xImage.*'` 95 - for part in $parts; do 96 - md5next=($(md5sum $part)) 97 - echo $md5next >> $ota_md5_xImage 98 - mv $part "$part.$md5" 99 - md5=$md5next 96 + for part in $(ls xImage.[0-9]* | sort); do 97 + md5next=($(md5sum $part)) 98 + echo $md5next >> $ota_md5_xImage 99 + mv $part "$part.$md5" 100 + md5=$md5next 100 101 done 101 102 102 103 # ota_update.in