meta-digi: dynamically resize EXT4 filesystem to the partition size
https://jira.digi.com/browse/DEL-935 Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
parent
0a7b0619d0
commit
8e8cafb227
|
|
@ -15,6 +15,7 @@ UBOOT_SUFFIX = "imx"
|
||||||
MACHINE_FIRMWARE ?= ""
|
MACHINE_FIRMWARE ?= ""
|
||||||
MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx6q"
|
MACHINE_FIRMWARE_append = " firmware-imx-vpu-imx6q"
|
||||||
|
|
||||||
|
MACHINE_EXTRA_RDEPENDS += "e2fsprogs e2fsprogs-mke2fs parted"
|
||||||
MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
|
MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
|
||||||
MACHINE_EXTRA_RRECOMMENDS += "fsl-alsa-plugins"
|
MACHINE_EXTRA_RRECOMMENDS += "fsl-alsa-plugins"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Busybox version: 1.21.1
|
# Busybox version: 1.21.1
|
||||||
# Thu Dec 5 12:44:05 2013
|
# Fri Feb 14 15:39:27 2014
|
||||||
#
|
#
|
||||||
CONFIG_HAVE_DOT_CONFIG=y
|
CONFIG_HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
|
|
@ -533,8 +533,8 @@ CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
|
||||||
CONFIG_REV=y
|
CONFIG_REV=y
|
||||||
CONFIG_ACPID=y
|
CONFIG_ACPID=y
|
||||||
CONFIG_FEATURE_ACPID_COMPAT=y
|
CONFIG_FEATURE_ACPID_COMPAT=y
|
||||||
# CONFIG_BLKID is not set
|
CONFIG_BLKID=y
|
||||||
# CONFIG_FEATURE_BLKID_TYPE is not set
|
CONFIG_FEATURE_BLKID_TYPE=y
|
||||||
CONFIG_DMESG=y
|
CONFIG_DMESG=y
|
||||||
CONFIG_FEATURE_DMESG_PRETTY=y
|
CONFIG_FEATURE_DMESG_PRETTY=y
|
||||||
CONFIG_FBSET=y
|
CONFIG_FBSET=y
|
||||||
|
|
@ -605,27 +605,31 @@ CONFIG_FEATURE_UMOUNT_ALL=y
|
||||||
CONFIG_FEATURE_MOUNT_LOOP=y
|
CONFIG_FEATURE_MOUNT_LOOP=y
|
||||||
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
|
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
|
||||||
# CONFIG_FEATURE_MTAB_SUPPORT is not set
|
# CONFIG_FEATURE_MTAB_SUPPORT is not set
|
||||||
# CONFIG_VOLUMEID is not set
|
CONFIG_VOLUMEID=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_EXT is not set
|
|
||||||
# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
|
#
|
||||||
# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
|
# Filesystem/Volume identification
|
||||||
# CONFIG_FEATURE_VOLUMEID_FAT is not set
|
#
|
||||||
# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
|
CONFIG_FEATURE_VOLUMEID_EXT=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_HFS is not set
|
CONFIG_FEATURE_VOLUMEID_BTRFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_JFS is not set
|
CONFIG_FEATURE_VOLUMEID_REISERFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_XFS is not set
|
CONFIG_FEATURE_VOLUMEID_FAT=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
|
CONFIG_FEATURE_VOLUMEID_EXFAT=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
|
CONFIG_FEATURE_VOLUMEID_HFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
|
CONFIG_FEATURE_VOLUMEID_JFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_UDF is not set
|
CONFIG_FEATURE_VOLUMEID_XFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
|
CONFIG_FEATURE_VOLUMEID_NILFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
|
CONFIG_FEATURE_VOLUMEID_NTFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
|
CONFIG_FEATURE_VOLUMEID_ISO9660=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
|
CONFIG_FEATURE_VOLUMEID_UDF=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
|
CONFIG_FEATURE_VOLUMEID_LUKS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_SYSV is not set
|
CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
|
CONFIG_FEATURE_VOLUMEID_CRAMFS=y
|
||||||
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
|
CONFIG_FEATURE_VOLUMEID_ROMFS=y
|
||||||
|
CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
|
||||||
|
CONFIG_FEATURE_VOLUMEID_SYSV=y
|
||||||
|
CONFIG_FEATURE_VOLUMEID_OCFS2=y
|
||||||
|
CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Miscellaneous Utilities
|
# Miscellaneous Utilities
|
||||||
|
|
|
||||||
|
|
@ -14,3 +14,10 @@ do_install_append() {
|
||||||
rm -f ${D}${sysconfdir}/rc5.d/S99stop-bootlogd
|
rm -f ${D}${sysconfdir}/rc5.d/S99stop-bootlogd
|
||||||
rm -f ${D}${sysconfdir}/rcS.d/S07bootlogd
|
rm -f ${D}${sysconfdir}/rcS.d/S07bootlogd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_install_append_ccimx6adpt() {
|
||||||
|
cat >> ${D}${sysconfdir}/default/rcS <<-EOF
|
||||||
|
# Resize EXT4 filesystems to the size of the partition on boot
|
||||||
|
RESIZE_EXT4FS=yes
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#===============================================================================
|
||||||
|
#
|
||||||
|
# resize-ext4fs.sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014 by Digi International Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License version 2 as published by
|
||||||
|
# the Free Software Foundation.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# !Description: Resize EXT4 filesystems to the size of the partition
|
||||||
|
#
|
||||||
|
#===============================================================================
|
||||||
|
|
||||||
|
get_emmc_block_device() {
|
||||||
|
emmc_number="$(sed -ne 's,.*mmcblk\(.\)boot0.*,\1,g;T;p' /proc/partitions)"
|
||||||
|
if [ -b "/dev/mmcblk${emmc_number}" ] &&
|
||||||
|
[ -b "/dev/mmcblk${emmc_number}boot0" ] &&
|
||||||
|
[ -b "/dev/mmcblk${emmc_number}boot1" ] &&
|
||||||
|
[ -b "/dev/mmcblk${emmc_number}rpmb" ]; then
|
||||||
|
echo "/dev/mmcblk${emmc_number}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
EMMC_BLOCK_DEVICE="$(get_emmc_block_device)"
|
||||||
|
if [ "${RESIZE_EXT4FS}" = "yes" -a -n "${EMMC_BLOCK_DEVICE}" ]; then
|
||||||
|
PARTITIONS="$(blkid | sed -ne "{s,\(^${EMMC_BLOCK_DEVICE}[^:]\+\):.*TYPE=\"ext4\".*,\1,g;T;p}" | sort -u)"
|
||||||
|
for i in ${PARTITIONS}; do
|
||||||
|
if ! resize2fs ${i} 2>/dev/null; then
|
||||||
|
echo "ERROR: resize2fs ${i}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Copyright (C) 2014 Digi International.
|
||||||
|
|
||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
|
||||||
|
|
||||||
|
SRC_URI += "file://resize-ext4fs.sh"
|
||||||
|
|
||||||
|
inherit update-rc.d
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
install -d ${D}${sysconfdir}/init.d
|
||||||
|
install -m 0755 ${WORKDIR}/resize-ext4fs.sh ${D}${sysconfdir}/init.d/
|
||||||
|
}
|
||||||
|
|
||||||
|
INITSCRIPT_NAME = "resize-ext4fs.sh"
|
||||||
|
INITSCRIPT_PARAMS = "start 36 S ."
|
||||||
Loading…
Reference in New Issue