diff --git a/internal/rosa/busybox.go b/internal/rosa/busybox.go index 7e87a12..0f9210f 100644 --- a/internal/rosa/busybox.go +++ b/internal/rosa/busybox.go @@ -124,7 +124,8 @@ func (t Toolchain) newBusybox() pkg.Artifact { var env []string if t == toolchainStage3 { - env = append(env, "EXTRA_LDFLAGS=-static") + env = append(env, + "EXTRA_LDFLAGS=-Wl,--dynamic-linker=/system/bin/linker") } return t.New("busybox-"+version, false, stage3Concat(t, []pkg.Artifact{}, @@ -136,6 +137,8 @@ func (t Toolchain) newBusybox() pkg.Artifact { "PIE", }, " "), "ROSA_BUSYBOX_DISABLE=" + strings.Join([]string{ + "SHA1_HWACCEL", + "FEATURE_IPV6", "FEATURE_PREFER_IPV4_ADDRESS", "FEATURE_HWIB", @@ -307,6 +310,7 @@ config_disable() { cat > /bin/gcc << EOF exec clang \ + -Qunused-arguments \ -Wno-ignored-optimization-argument \ ${LDFLAGS} \ \$@ @@ -325,8 +329,12 @@ make \ config_enable $ROSA_BUSYBOX_ENABLE config_disable $ROSA_BUSYBOX_DISABLE +mkdir -p /system/bin +ln -s ../../usr/lib/libc.so /system/bin/linker || true ln -s ../system/bin/pwd /bin/pwd || true -make CFLAGS_busybox="${LDFLAGS} ${EXTRA_LDFLAGS}" "-j$(nproc)" +make \ + CFLAGS_busybox="${LDFLAGS} ${EXTRA_LDFLAGS}" \ + "-j$(nproc)" mkdir -p /system/bin/ /work/bin/ cp busybox /system/bin/