aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/rosa/busybox.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/internal/rosa/busybox.go b/internal/rosa/busybox.go
index 7e87a122..0f9210f6 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/