Skip to content

Commit c3a3f04

Browse files
committed
Add patches for busybox
Signed-off-by: Alexey Gladkov <[email protected]>
1 parent 9f67322 commit c3a3f04

File tree

8 files changed

+47
-6
lines changed

8 files changed

+47
-6
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
5555
- name: "Indent-c"
5656
run: |
57-
make indent-c && git diff --exit-code
57+
make indent-c && git diff --exit-code --ignore-submodules
5858
5959
- name: "ShellCheck"
6060
run: |

Makefile.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,9 @@ $(BBCFG): $(external_srcdir)/busybox/config
378378

379379
$(dest_data_bindir)/busybox: $(BBCFG)
380380
$(Q)mkdir -p -- "$(OBJDIR)/external/busybox"
381+
$(Q)for patchfile in "$(external_srcdir)/busybox/patches"/*; do \
382+
[ ! -f "$$patchfile" ] || (cd "$(external_srcdir)/busybox/upstream" && patch -p1 --merge < "$$patchfile"); \
383+
done
381384
$(MAKE) -C "$(OBJDIR)/external/busybox" \
382385
-f "$(external_srcdir)/busybox/upstream/Makefile" \
383386
KBUILD_SRC="$(external_srcdir)/busybox/upstream"
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
From 112c9497e53327e7fb6b2dd844bf76d6c488ff0f Mon Sep 17 00:00:00 2001
2+
From: Alexey Gladkov <[email protected]>
3+
Date: Sat, 14 Jun 2025 17:10:12 +0200
4+
Subject: [PATCH] switch_root: Allow to use on overlayfs
5+
6+
Signed-off-by: Alexey Gladkov <[email protected]>
7+
---
8+
util-linux/switch_root.c | 6 +++++-
9+
1 file changed, 5 insertions(+), 1 deletion(-)
10+
11+
diff --git a/util-linux/switch_root.c b/util-linux/switch_root.c
12+
index 14139736e..3ffea5482 100644
13+
--- a/util-linux/switch_root.c
14+
+++ b/util-linux/switch_root.c
15+
@@ -64,6 +64,9 @@ extern int capget(cap_user_header_t header, const cap_user_data_t data);
16+
#ifndef TMPFS_MAGIC
17+
# define TMPFS_MAGIC ((unsigned)0x01021994)
18+
#endif
19+
+#ifndef OVERLAYFS_MAGIC
20+
+#define OVERLAYFS_MAGIC ((unsigned)0x794c7630)
21+
+#endif
22+
#ifndef MS_MOVE
23+
# define MS_MOVE 8192
24+
#endif
25+
@@ -244,8 +247,9 @@ int switch_root_main(int argc UNUSED_PARAM, char **argv)
26+
statfs("/", &stfs); // this never fails
27+
if ((unsigned)stfs.f_type != RAMFS_MAGIC
28+
&& (unsigned)stfs.f_type != TMPFS_MAGIC
29+
+ && (unsigned)stfs.f_type != OVERLAYFS_MAGIC
30+
) {
31+
- bb_simple_error_msg_and_die("root filesystem is not ramfs/tmpfs");
32+
+ bb_simple_error_msg_and_die("root filesystem is not ramfs/tmpfs/overlayfs");
33+
}
34+
35+
if (!dry_run) {
36+
--
37+
2.49.0
38+

testing/packages-altlinux

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ MAKE_INITRD_PACKAGES="make udev libelf libkmod zlib bzlib libzstd liblzma"
55
MAKE_INITRD_PACKAGES+=" libbpf libjson-c5 squashfs-tools"
66

77
MAKE_INITRD_PACKAGES_DEVEL="$MAKE_INITRD_PACKAGES"
8-
MAKE_INITRD_PACKAGES_DEVEL+=" gcc make automake autoconf bison flex"
8+
MAKE_INITRD_PACKAGES_DEVEL+=" gcc make automake autoconf bison flex patch"
99
MAKE_INITRD_PACKAGES_DEVEL+=" libkmod-devel zlib-devel bzlib-devel liblzma-devel"
1010
MAKE_INITRD_PACKAGES_DEVEL+=" libzstd-devel libelf-devel libtirpc-devel libcrypt-devel"
1111
MAKE_INITRD_PACKAGES_DEVEL+=" libjson-c-devel"

testing/packages-fedora

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ MAKE_INITRD_PACKAGES+=" bzip2-libs libzstd xz-libs libxcrypt-compat json-c"
66
MAKE_INITRD_PACKAGES+=" squashfs-tools"
77

88
MAKE_INITRD_PACKAGES_DEVEL="$MAKE_INITRD_PACKAGES"
9-
MAKE_INITRD_PACKAGES_DEVEL+=" gcc make automake autoconf bison flex gawk"
9+
MAKE_INITRD_PACKAGES_DEVEL+=" gcc make automake autoconf bison flex gawk patch"
1010
MAKE_INITRD_PACKAGES_DEVEL+=" kmod-devel zlib-ng-devel bzip2-devel xz-devel libxcrypt-devel"
1111
MAKE_INITRD_PACKAGES_DEVEL+=" libzstd-devel elfutils-libelf-devel libtirpc-devel"
1212
MAKE_INITRD_PACKAGES_DEVEL+=" json-c-devel"

testing/packages-gentoo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ MAKE_INITRD_PACKAGES+=" app-text/scdoc sys-libs/zlib app-arch/zstd dev-libs/json
99
MAKE_INITRD_PACKAGES+=" sys-fs/squashfs-tools"
1010

1111
MAKE_INITRD_PACKAGES_DEVEL="$MAKE_INITRD_PACKAGES dev-build/autoconf dev-build/automake"
12-
MAKE_INITRD_PACKAGES_DEVEL+=" dev-util/intltool sys-devel/bison sys-devel/flex"
12+
MAKE_INITRD_PACKAGES_DEVEL+=" dev-util/intltool sys-devel/bison sys-devel/flex sys-devel/patch"
1313
MAKE_INITRD_PACKAGES_DEVEL+=" virtual/pkgconfig"
1414

1515
KERNEL_PACKAGES="sys-kernel/gentoo-kernel-bin"

testing/packages-gentoo_musl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ MAKE_INITRD_PACKAGES+=" app-text/scdoc sys-libs/zlib app-arch/zstd dev-libs/json
99
MAKE_INITRD_PACKAGES+=" app-arch/lz4 sys-fs/squashfs-tools"
1010

1111
MAKE_INITRD_PACKAGES_DEVEL="$MAKE_INITRD_PACKAGES dev-build/autoconf dev-build/automake"
12-
MAKE_INITRD_PACKAGES_DEVEL+=" dev-util/intltool sys-devel/bison sys-devel/flex"
12+
MAKE_INITRD_PACKAGES_DEVEL+=" dev-util/intltool sys-devel/bison sys-devel/flex sys-devel/patch"
1313
MAKE_INITRD_PACKAGES_DEVEL+=" virtual/pkgconfig"
1414

1515
KERNEL_PACKAGES="sys-kernel/gentoo-kernel-bin"

testing/packages-ubuntu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
MAKE_INITRD_PACKAGES="make udev libelf1 libkmod2 zlib1g libbz2-1.0 libzstd1"
55
MAKE_INITRD_PACKAGES+=" liblzma5 libjson-c5 squashfs-tools"
66

7-
MAKE_INITRD_PACKAGES_DEVEL="$MAKE_INITRD_PACKAGES bison flex bzip2"
7+
MAKE_INITRD_PACKAGES_DEVEL="$MAKE_INITRD_PACKAGES bison flex bzip2 patch"
88
MAKE_INITRD_PACKAGES_DEVEL+=" gcc make automake autoconf pkg-config udev scdoc"
99
MAKE_INITRD_PACKAGES_DEVEL+=" libkmod-dev libz-dev libbz2-dev liblzma-dev"
1010
MAKE_INITRD_PACKAGES_DEVEL+=" libzstd-dev libelf-dev libtirpc-dev libcrypt-dev"

0 commit comments

Comments
 (0)