@@ -518,6 +518,7 @@ F: package/delve/
F: package/docker-cli/
F: package/docker-engine/
F: package/docker-proxy/
+F: package/embiggen-disk/
F: package/fuse-overlayfs/
F: package/go/
F: package/mbpfan/
@@ -2516,6 +2516,7 @@ menu "System tools"
source "package/earlyoom/Config.in"
source "package/efibootmgr/Config.in"
source "package/efivar/Config.in"
+ source "package/embiggen-disk/Config.in"
source "package/emlog/Config.in"
source "package/ftop/Config.in"
source "package/getent/Config.in"
new file mode 100644
@@ -0,0 +1,45 @@
+From b628e4c561cb4d3ffc92a5d7aac8f4967e44977e Mon Sep 17 00:00:00 2001
+From: Christian Stewart <christian@paral.in>
+Date: Thu, 27 May 2021 20:07:07 -0700
+Subject: [PATCH] Fix resizing of /dev/mmcblk0pN paths
+
+Signed-off-by: Christian Stewart <christian@paral.in>
+---
+ fs.go | 4 +++-
+ part.go | 5 +++++
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/fs.go b/fs.go
+index 0b83e24..8ab3690 100644
+--- a/fs.go
++++ b/fs.go
+@@ -67,7 +67,9 @@ func (e fsResizer) DepResizer() (Resizer, error) {
+ if dev == "/dev/root" {
+ return nil, errors.New("unexpected device /dev/root from statFS")
+ }
+- if (strings.HasPrefix(dev, "/dev/sd") || strings.HasPrefix(dev, "/dev/nvme")) &&
++ if (strings.HasPrefix(dev, "/dev/sd") ||
++ strings.HasPrefix(dev, "/dev/mmcblk") ||
++ strings.HasPrefix(dev, "/dev/nvme")) &&
+ devEndsInNumber(dev) {
+ vlogf("fsResizer.DepResizer: returning partitionResizer(%q)", dev)
+ return partitionResizer(dev), nil
+diff --git a/part.go b/part.go
+index 0315a6e..f3e280f 100644
+--- a/part.go
++++ b/part.go
+@@ -51,6 +51,11 @@ func diskDev(partDev string) string {
+ if strings.HasPrefix(partDev, "/dev/sd") {
+ return strings.TrimRight(partDev, "0123456789")
+ }
++ if strings.HasPrefix(partDev, "/dev/mmcblk") {
++ v := strings.TrimRight(partDev, "0123456789")
++ v = strings.TrimSuffix(v, "p")
++ return v
++ }
+ if strings.HasPrefix(partDev, "/dev/nvme") {
+ chopP := regexp.MustCompile(`p\d+$`)
+ if !chopP.MatchString(partDev) {
+--
+2.31.1
+
new file mode 100644
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_EMBIGGEN_DISK
+ bool "embiggen-disk"
+ depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
+ depends on BR2_USE_MMU # util-linux
+ select BR2_PACKAGE_UTIL_LINUX # sfdisk
+ select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk
+ help
+ embiggen-disk is a tool to resize disk partitions at runtime.
+
+ https://github.com/bradfitz/embiggen-disk
+
+comment "embiggen-disk needs a glibc or musl toolchain w/ threads"
+ depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \
+ BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC
new file mode 100644
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 5ef943b1f6468cf0eaf9d7e6ca22d8b5692cbb5b80f19d95468fb41b675b986c embiggen-disk-c554fc1c93a4004ce0b6a3f69b0dabe0481a2308.tar.gz
+sha256 063aedec1652c5a05c2d04c40e032b932453142ee8ef7fd53c04a9acc127fc95 LICENSE
new file mode 100644
@@ -0,0 +1,12 @@
+################################################################################
+#
+# embiggen-disk
+#
+################################################################################
+
+EMBIGGEN_DISK_VERSION = c554fc1c93a4004ce0b6a3f69b0dabe0481a2308
+EMBIGGEN_DISK_SITE = $(call github,bradfitz,embiggen-disk,$(EMBIGGEN_DISK_VERSION))
+EMBIGGEN_DISK_LICENSE = Apache-2.0
+EMBIGGEN_DISK_LICENSE_FILES = LICENSE
+
+$(eval $(golang-package))