From 8944472dc440891bf7388889aeb06fca9a38b3f6 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Mon, 27 Dec 2021 23:23:30 +0800 Subject: [PATCH] Add expand_rootfs --- bsp/rootfs/files/expand_rootfs | 31 +++++++++++++++++++++++++++++++ bsp/rootfs/build.sh | 11 +++++++++++ 2 files changed, 42 insertions(+), 0 deletions(-) diff --git a/bsp/rootfs/build.sh b/bsp/rootfs/build.sh index 95a1814..625580d 100755 --- a/bsp/rootfs/build.sh +++ b/bsp/rootfs/build.sh @@ -171,6 +171,14 @@ fi } +function do_common() +{ + if [ -s ${PATCH_PATH}/expand_rootfs ] ; then + cp ${PATCH_PATH}/expand_rootfs ${ROOTFS_DIR}/usr/sbin/ + chmod a+x ${ROOTFS_DIR}/usr/sbin/expand_rootfs + fi +} + function do_buildroot() { if [ $ROOTFS != "buildroot" ] ; then @@ -204,6 +212,9 @@ # modify for buildroot rootfs do_buildroot + # modify for all rootfs + do_common + # update hostnmae and issue echo "Welcome to LingYun IoT Gateway Kit Board GNU/Linux $ROOTFS system, default password '$DEF_PASSWD'." > ${ROOTFS_DIR}/etc/issue echo $DEF_HOSTNAME > ${ROOTFS_DIR}/etc/hostname diff --git a/bsp/rootfs/files/expand_rootfs b/bsp/rootfs/files/expand_rootfs new file mode 100755 index 0000000..1a9da07 --- /dev/null +++ b/bsp/rootfs/files/expand_rootfs @@ -0,0 +1,31 @@ +#!/bin/sh + +set -e +set -u + +# find the root partition information +ROOT_PART="$(mount | sed -n 's|^/dev/\(.*\) on / .*|\1|p')" +ROOT_DEV="/dev/$(lsblk -no pkname /dev/${ROOT_PART})" +PART_DEV="$(lsblk ${ROOT_DEV} | grep -w "\/" | grep mmcblk | awk '{print $1}' | cut -d- -f2)" +PART_NUM="$(echo ${PART_DEV} | cut -dp -f2)" + +# Get the starting offset of the root partition +PART_START=$(fdisk -l $ROOT_DEV | grep $PART_DEV | awk '{print $2}') +[ "$PART_START" ] || return 1 ; + +fdisk "$ROOT_DEV" > /dev/null 2>&1 <<EOF +p +d +$PART_NUM +n +p +$PART_NUM +$PART_START + +p +w +EOF + +resize2fs /dev/$ROOT_PART > /dev/null 2>&1 + +echo "Expand rootfs size successfully, it will be enlarged upon the next reboot." -- Gitblit v1.9.1