Subject: [PATCH] Drop depending on busybox-initramfs

From: Benjamin Drung <[email-masked]>
Date: Fri, 17 Jul 2026 12:48:12 +0200

Ubuntu patches the busybox package to:

* add a busybox-initramfs binary package
* Prefer busybox cmds over klibc cmds where there is duplication
* Add static-sh alias name for ash (LP: #505887)

The busybox-initramfs package is smaller than the busybox package:

```
# ls -alh /usr/bin/busybox /usr/lib/initramfs-tools/bin/busybox
-rwxr-xr-x 1 root root 827K Jan 14 15:50 /usr/bin/busybox
-rwxr-xr-x 1 root root 323K Jan 14 15:50 /usr/lib/initramfs-tools/bin/busybox
# ldd /usr/bin/busybox
	linux-vdso.so.1 (0x0000769a0daff000)
	libresolv.so.2 => /usr/lib/x86_64-linux-gnu/libresolv.so.2 (0x0000769a0da12000)
	libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x0000769a0d7f1000)
	/lib64/ld-linux-x86-64.so.2 (0x0000769a0db01000)
# ldd /usr/lib/initramfs-tools/bin/busybox
	linux-vdso.so.1 (0x000073e539db4000)
	libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x000073e539b38000)
	/lib64/ld-linux-x86-64.so.2 (0x000073e539db6000)
```

The size of busybox + glibc is a tiny fraction of Debian's initrd. The
main size comes from modules and firmware. These are significantly
larger than busybox. Therefore the busybox Debian maintainer does not
want to add a specific busybox build for initrds (see Debian #1135987).

Carrying this busybox delta in Ubuntu for the neglectable initrd size
difference is not worth the effort in 2026. So drop busybox-initramfs in
Ubuntu and make the initramfs-tools package simpler.

initramfs-tools recommends "busybox | busybox-static" on Debian and
Ubuntu now. So drop depending on busybox-initramfs and use the same
package order in Depends.

LP: #2157328
---
 debian/control        | 2 +-
 debian/control.ubuntu | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/debian/control b/debian/control
index ba9ccd42..6390c615 100644
--- a/debian/control
+++ b/debian/control
@@ -214,7 +214,7 @@ Description: OpenZFS filesystem kernel modules for Linux
 Package: zfs-initramfs
 Architecture: all
 Multi-Arch: foreign
-Depends: busybox-initramfs | busybox-static | busybox,
+Depends: busybox | busybox-static,
          initramfs-tools,
          zfs-modules | zfs-dkms,
          zfsutils-linux (>= ${source:Version}),
diff --git a/debian/control.ubuntu b/debian/control.ubuntu
index 1ec264f1..5064ecac 100644
--- a/debian/control.ubuntu
+++ b/debian/control.ubuntu
@@ -202,11 +202,11 @@ Description: OpenZFS filesystem kernel modules for Linux
 
 Package: zfs-initramfs
 Architecture: amd64 arm64 ppc64el s390x riscv64
-Depends: busybox-initramfs | busybox-static | busybox,
+Depends: busybox | busybox-static,
          initramfs-tools,
          zfsutils-linux (>= ${source:Version}),
          ${misc:Depends}
-Breaks: zfsutils-linux (<= 0.7.11-2), busybox-initramfs (<< 1:1.30.1-7ubuntu3)
+Breaks: zfsutils-linux (<= 0.7.11-2)
 Replaces: zfsutils-linux (<= 0.7.11-2)
 Description: OpenZFS root filesystem capabilities for Linux - initramfs
  OpenZFS is a storage platform that encompasses the functionality of
-- 
2.53.0