mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
fix 0.3.3 OTA update flow for pi (#2048)
* feat: Conver from the copy all bytes over to file-file transer * use pi-beep * fix minor mistakes * recursive rm * add fs resize Co-authored-by: BluJ <mogulslayer@gmail.com>
This commit is contained in:
@@ -2,10 +2,30 @@
|
||||
|
||||
set -e
|
||||
|
||||
(
|
||||
while true; do
|
||||
beep -r 2 -l 80 -d 20
|
||||
sleep 60
|
||||
done
|
||||
) &
|
||||
|
||||
if grep 'cb15ae4d-03' /boot/cmdline.txt; then
|
||||
BLOCK_COUNT=$(tune2fs -l /dev/mmcblk0p3 | grep "^Block count:" | awk '{print $3}')
|
||||
BLOCK_SIZE=$(tune2fs -l /dev/mmcblk0p3 | grep "^Block size:" | awk '{print $3}')
|
||||
cat /dev/mmcblk0p3 | head -c $[$BLOCK_COUNT * $BLOCK_SIZE] > /dev/mmcblk0p4
|
||||
echo Transfer files across
|
||||
e2fsck -f -y /dev/mmcblk0p4
|
||||
while ! resize2fs /dev/mmcblk0p4; do
|
||||
e2fsck -f -y /dev/mmcblk0p4
|
||||
done
|
||||
mkdir -p /media/origin
|
||||
mkdir -p /media/dest
|
||||
mount -r /dev/mmcblk0p3 /media/origin
|
||||
mount -w /dev/mmcblk0p4 /media/dest
|
||||
rsync -acvAXUH --info=progress2 --delete --force /media/origin/ /media/dest/
|
||||
umount /media/origin
|
||||
umount /media/dest
|
||||
rm -rf /media/origin
|
||||
rm -rf /media/dest
|
||||
|
||||
echo Setting up boot to use other partition
|
||||
sed -i 's/PARTUUID=cb15ae4d-03/PARTUUID=cb15ae4d-04/g' /boot/cmdline.txt
|
||||
sync
|
||||
reboot
|
||||
|
||||
@@ -26,9 +26,11 @@ sudo mount $TARGET_NAME $TMPDIR/
|
||||
|
||||
sudo mkdir -p $TMPDIR/update
|
||||
sudo unsquashfs -f -d $TMPDIR/update eos.raspberrypi.squashfs
|
||||
sudo cp ./cargo-deps/aarch64-unknown-linux-gnu/release/pi-beep $TMPDIR/usr/local/bin/beep
|
||||
sudo cp ./build/raspberry-pi/033-upgrade.sh $TMPDIR/usr/local/bin/033-upgrade.sh
|
||||
sudo cp ./build/raspberry-pi/033-upgrade.service $TMPDIR/etc/systemd/system/033-upgrade.service
|
||||
sudo ln -s /etc/systemd/system/033-upgrade.service $TMPDIR/etc/systemd/system/multi-user.target.wants/033-upgrade.service
|
||||
sudo cp ./cargo-deps/aarch64-unknown-linux-gnu/release/nc-broadcast $TMPDIR/usr/local/bin
|
||||
sudo cp ./build/raspberry-pi/nc-broadcast.service $TMPDIR/etc/systemd/system/nc-broadcast.service
|
||||
sudo ln -s /etc/systemd/system/nc-broadcast.service $TMPDIR/etc/systemd/system/multi-user.target.wants/nc-broadcast.service
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ sudo mkdir $TMPDIR/media/embassy/
|
||||
sudo ENVIRONMENT=$ENVIRONMENT make V=1 install ARCH=aarch64 OS_ARCH=raspberrypi DESTDIR=$TMPDIR --debug
|
||||
sudo sed -i 's/raspberrypi/embassy/g' $TMPDIR/etc/hostname
|
||||
sudo sed -i 's/raspberrypi/embassy/g' $TMPDIR/etc/hosts
|
||||
sudo cp ./cargo-deps/aarch64-unknown-linux-gnu/release/pi-beep $TMPDIR/usr/local/bin/beep
|
||||
sudo cp cargo-deps/aarch64-unknown-linux-gnu/release/nc-broadcast $TMPDIR/usr/local/bin
|
||||
sudo cp backend/*.service $TMPDIR/etc/systemd/system/
|
||||
sudo mkdir -p $TMPDIR/etc/embassy
|
||||
|
||||
Reference in New Issue
Block a user