mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-05-04 11:01:27 +02:00
Move all initscripts for the system to src/initscripts/system
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
This commit is contained in:
75
src/initscripts/system/partresize
Normal file
75
src/initscripts/system/partresize
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/sh
|
||||
########################################################################
|
||||
# Begin $rc_base/init.d/partresize
|
||||
#
|
||||
# Description : Resize the root partition to the drivesize
|
||||
#
|
||||
# Authors : Arne Fitzenreiter - arne_f@ipfire.org
|
||||
#
|
||||
# Version : 1.04
|
||||
#
|
||||
# Notes :
|
||||
#
|
||||
########################################################################
|
||||
|
||||
. /etc/sysconfig/rc
|
||||
. ${rc_functions}
|
||||
|
||||
case "${1}" in
|
||||
start)
|
||||
if [ -e "/.partresize" ]; then
|
||||
boot_mesg "Mounting root file system in read/write mode ..."
|
||||
mount -o remount,rw / > /dev/null
|
||||
evaluate_retval
|
||||
|
||||
boot_mesg "Create /etc/mtab..."
|
||||
> /etc/mtab
|
||||
mount -f / || failed=1
|
||||
(exit ${failed})
|
||||
evaluate_retval
|
||||
|
||||
# Detect device
|
||||
mount | while read -r dev tmp1 mountpoint tmp2; do
|
||||
[ "${dev}" = "rootfs" ] && continue
|
||||
|
||||
if [ "${mountpoint}" = "/" ]; then
|
||||
# Find root partition number
|
||||
part_num="${dev: -1}"
|
||||
|
||||
# Find path to the root device
|
||||
root_dev="${dev::-1}"
|
||||
if [ ! -b "${dev::-1}" -a "${root_dev: -1}" = "p" ]; then
|
||||
root_dev="${dev::-2}"
|
||||
fi
|
||||
|
||||
boot_mesg "Growing root partition to maximum size..."
|
||||
echo -e ',+' | sfdisk --no-reread -f -N${part_num} "${root_dev}" 2>/dev/null
|
||||
|
||||
# Update c,h,s values of the boot partition...
|
||||
if [ ${part_num} -ne 1 -a -b "${root_dev}1" ]; then
|
||||
echo -e ',' | sfdisk --no-reread -f -N1 ${DRV} &> /dev/null
|
||||
fi
|
||||
|
||||
# The filesystem should be resized after
|
||||
# this operation
|
||||
touch /.resizefs
|
||||
|
||||
# Remove marker
|
||||
rm -f /.partresize
|
||||
|
||||
# Reboot
|
||||
boot_mesg "Rebooting system..."
|
||||
mount -o remount,ro / &>/dev/null
|
||||
sleep 15
|
||||
reboot -f
|
||||
fi
|
||||
done
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ${0} {start}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# End $rc_base/init.d/partresize
|
||||
Reference in New Issue
Block a user