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