build/scripts/resize2fs.old

56 lines
1.6 KiB
Bash

#!/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