Add safeties
-/etc/rc.local wont be overwritten if the hash matches what the script will write -If resize2fs fails the script is aborted
This commit is contained in:
parent
28ce07ba0c
commit
2c6f069c2f
21
pishrink.sh
21
pishrink.sh
|
@ -26,20 +26,33 @@ loopback=`losetup -f --show -o $partstart $img`
|
||||||
#Make pi expand rootfs on next boot
|
#Make pi expand rootfs on next boot
|
||||||
mountdir=`mktemp -d`
|
mountdir=`mktemp -d`
|
||||||
mount $loopback $mountdir
|
mount $loopback $mountdir
|
||||||
mv $mountdir/etc/rc.local $mountdir/etc/rc.expand.tmp
|
|
||||||
|
if [ `md5sum $mountdir/etc/rc.local | cut -d ' ' -f 1` != "a27a4d8192ea6ba713d2ddd15a55b1df" ]; then
|
||||||
|
echo Creating new /etc/rc.local
|
||||||
|
mv $mountdir/etc/rc.local $mountdir/etc/rc.local.bak
|
||||||
cat <<\EOF > $mountdir/etc/rc.local
|
cat <<\EOF > $mountdir/etc/rc.local
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
/usr/bin/raspi-config --expand-rootfs; mv -f /etc/rc.expand.tmp /etc/rc.local; reboot
|
/usr/bin/raspi-config --expand-rootfs
|
||||||
|
rm -f /etc/rc.local; cp -f /etc/rc.local.bak /etc/rc.local; reboot
|
||||||
exit 0
|
exit 0
|
||||||
EOF
|
EOF
|
||||||
chmod +x $mountdir/etc/rc.local
|
chmod +x $mountdir/etc/rc.local
|
||||||
umount $loopback
|
fi
|
||||||
|
umount $mountdir
|
||||||
|
|
||||||
#Shrink filesystem
|
#Shrink filesystem
|
||||||
e2fsck -f $loopback
|
e2fsck -f $loopback
|
||||||
minsize=`resize2fs -P $loopback | awk -F': ' ' { print $2 } '`
|
minsize=`resize2fs -P $loopback | awk -F': ' ' { print $2 } '`
|
||||||
minsize=`echo $minsize+20000 | bc`
|
minsize=`echo $minsize+20000 | bc`
|
||||||
resize2fs -p $loopback $minsize
|
resize2fs -p $loopback $minsize
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo ERROR: resize2fs failed...
|
||||||
|
mount $loopback $mountdir
|
||||||
|
mv $mountdir/etc/rc.local.bak $mountdir/etc/rc.local
|
||||||
|
umount $mountdir
|
||||||
|
losetup -d $loopback
|
||||||
|
exit $rc
|
||||||
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
#Shrink partition
|
#Shrink partition
|
||||||
|
|
Loading…
Reference in New Issue