mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-05-12 11:43:16 -04:00
Compare commits
2 commits
7bc856046b
...
da5d6f8bf3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da5d6f8bf3 | ||
|
|
b25f59a98a |
1 changed files with 56 additions and 16 deletions
|
|
@ -1,5 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Prerequisites:
|
||||||
|
#sudo apt update && sudo apt install -y p7zip-full squashfs-tools genisoimage coreutils
|
||||||
|
|
||||||
if [[ $# -ne 2 ]]; then
|
if [[ $# -ne 2 ]]; then
|
||||||
echo 'usage: ./r1_patcher.sh r1.upt bootloader.r1' >&2
|
echo 'usage: ./r1_patcher.sh r1.upt bootloader.r1' >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -48,20 +51,59 @@ unsquashfs -f -d $workingdir_in/rootfs/extracted $workingdir_in/rootfs/rootfs.sq
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# copy 'bootloader'
|
# copy 'bootloader'
|
||||||
cp $2 $workingdir_in/rootfs/extracted/usr/bin/
|
cp "$2" "$workingdir_in/rootfs/extracted/usr/bin/bootloader.r1"
|
||||||
|
chmod 0755 "$workingdir_in/rootfs/extracted/usr/bin/bootloader.r1"
|
||||||
|
|
||||||
# copy modified 'hibyplayer.sh' script
|
# copy modified 'hibyplayer.sh' script
|
||||||
cp hiby_player.sh $workingdir_in/rootfs/extracted/usr/bin/
|
cp hiby_player.sh $workingdir_in/rootfs/extracted/usr/bin/
|
||||||
chmod 0755 $workingdir_in/rootfs/extracted/usr/bin/hiby_player.sh
|
chmod 0755 $workingdir_in/rootfs/extracted/usr/bin/hiby_player.sh
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
### Rockbox Hotplug Logic
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# 1. Create hotplug helper script
|
||||||
|
cat << 'EOF' > $workingdir_in/rootfs/extracted/usr/bin/rb_hotplug.sh
|
||||||
|
#!/bin/sh
|
||||||
|
MNT_SD="/data/mnt/sd_0"
|
||||||
|
MNT_USB="/data/mnt/usb"
|
||||||
|
|
||||||
|
case "$MDEV" in
|
||||||
|
mmcblk*) MNT="$MNT_SD" ;;
|
||||||
|
sd*) MNT="$MNT_USB" ;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$ACTION" in
|
||||||
|
add|"")
|
||||||
|
mkdir -p "$MNT"
|
||||||
|
mount -t auto -o flush,noatime "/dev/$MDEV" "$MNT"
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
umount -l "$MNT"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
EOF
|
||||||
|
chmod 0755 $workingdir_in/rootfs/extracted/usr/bin/rb_hotplug.sh
|
||||||
|
|
||||||
|
# 2. Check mdev.conf and append rules only if missing
|
||||||
|
MDEV_CONF="$workingdir_in/rootfs/extracted/etc/mdev.conf"
|
||||||
|
|
||||||
|
if ! grep -q "mmcblk" "$MDEV_CONF"; then
|
||||||
|
echo "mmcblk[0-9]p[0-9] 0:0 660 */usr/bin/rb_hotplug.sh" >> "$MDEV_CONF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! grep -q "sd\[a-z\]" "$MDEV_CONF"; then
|
||||||
|
echo "sd[a-z][0-9] 0:0 660 */usr/bin/rb_hotplug.sh" >> "$MDEV_CONF"
|
||||||
|
fi
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
### rebuild
|
### rebuild
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
mkdir "$workingdir_out/image_contents"
|
mkdir -p "$workingdir_out/image_contents/ota_v0"
|
||||||
mkdir "$workingdir_out/image_contents/ota_v0"
|
|
||||||
|
|
||||||
mksquashfs $workingdir_in/rootfs/extracted $workingdir_out/rootfs.squashfs -comp lzo
|
mksquashfs $workingdir_in/rootfs/extracted $workingdir_out/rootfs.squashfs -comp lzo -all-root
|
||||||
|
|
||||||
cd "$workingdir_out/image_contents/ota_v0"
|
cd "$workingdir_out/image_contents/ota_v0"
|
||||||
|
|
||||||
|
|
@ -74,12 +116,11 @@ md5=$rootfs_md5
|
||||||
|
|
||||||
ota_md5_rootfs="ota_md5_rootfs.squashfs.$md5"
|
ota_md5_rootfs="ota_md5_rootfs.squashfs.$md5"
|
||||||
|
|
||||||
parts=`find . -name 'rootfs.squashfs.*'`
|
for part in $(ls rootfs.squashfs.[0-9]* | sort); do
|
||||||
for part in $parts; do
|
md5next=($(md5sum $part))
|
||||||
md5next=($(md5sum $part))
|
echo $md5next >> $ota_md5_rootfs
|
||||||
echo $md5next >> $ota_md5_rootfs
|
mv $part "$part.$md5"
|
||||||
mv $part "$part.$md5"
|
md5=$md5next
|
||||||
md5=$md5next
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# xImage
|
# xImage
|
||||||
|
|
@ -91,12 +132,11 @@ md5=$ximage_md5
|
||||||
|
|
||||||
ota_md5_xImage="ota_md5_xImage.$md5"
|
ota_md5_xImage="ota_md5_xImage.$md5"
|
||||||
|
|
||||||
parts=`find . -name 'xImage.*'`
|
for part in $(ls xImage.[0-9]* | sort); do
|
||||||
for part in $parts; do
|
md5next=($(md5sum $part))
|
||||||
md5next=($(md5sum $part))
|
echo $md5next >> $ota_md5_xImage
|
||||||
echo $md5next >> $ota_md5_xImage
|
mv $part "$part.$md5"
|
||||||
mv $part "$part.$md5"
|
md5=$md5next
|
||||||
md5=$md5next
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# ota_update.in
|
# ota_update.in
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue