mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-24 15:52:02 +00:00
57 lines
1.6 KiB
Text
57 lines
1.6 KiB
Text
|
#!/bin/bash
|
||
|
|
||
|
### BEGIN INIT INFO
|
||
|
# Provides: resize2fs
|
||
|
# Required-Start: $local_fs
|
||
|
# Required-Stop:
|
||
|
# Should-Start:
|
||
|
# Default-Start: 2 3 4 5
|
||
|
# Default-Stop: 0 1 6
|
||
|
# Short-Description: Resize the root filesystem to fill partition
|
||
|
# Description:
|
||
|
### END INIT INFO
|
||
|
|
||
|
set -e
|
||
|
device="/dev/"$(lsblk -idn -o NAME | grep mmcblk0)
|
||
|
PARTITIONS=$(($(fdisk -l $device | grep $device | wc -l)-1))
|
||
|
device="/dev/"$(lsblk -idn -o NAME | grep mmcblk0)"p"$PARTITIONS
|
||
|
N=/etc/init.d/resize2fs
|
||
|
root_device=$(mountpoint -d /)
|
||
|
for file in /dev/* ; do
|
||
|
CURRENT_DEVICE=$(printf "%d:%d" $(stat --printf="0x%t 0x%T" $file))
|
||
|
if [ $CURRENT_DEVICE = $root_device ]; then
|
||
|
root_partition=$file
|
||
|
break;
|
||
|
fi
|
||
|
done
|
||
|
rootfstype=$(blkid -s TYPE -o value $root_partition)
|
||
|
|
||
|
case "$1" in
|
||
|
start)
|
||
|
if [[ $rootfstype == ext4 && ! -f "/root/.no_rootfs_resize" ]]; then
|
||
|
echo -e "[\e[0;32m ok \x1B[0m] Resizing SD card file-system"
|
||
|
/sbin/resize2fs $device >/dev/null 2>&1
|
||
|
fi
|
||
|
echo -e "[\e[0;32m ok \x1B[0m] Force password change upon first login"
|
||
|
chage -d 0 root
|
||
|
echo -e "[\e[0;32m ok \x1B[0m] Creating 128Mb emergency swap area"
|
||
|
dd if=/dev/zero of=/var/swap bs=1024 count=131072 status=noxfer >/dev/null 2>&1
|
||
|
chown root:root /var/swap
|
||
|
chmod 0600 /var/swap
|
||
|
mkswap /var/swap >/dev/null 2>&1
|
||
|
swapon /var/swap >/dev/null 2>&1
|
||
|
echo "/var/swap none swap sw 0 0" >> /etc/fstab
|
||
|
echo 'vm.swappiness=0' >> /etc/sysctl.conf
|
||
|
update-rc.d -f resize2fs remove >/dev/null 2>&1
|
||
|
;;
|
||
|
stop)
|
||
|
echo -e "[\e[0;32m ok \x1B[0m] Resizing in next start"
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $N {start}" >&2
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|