Skip to content

Boot X32 with an i386 busybox and check the busybox against the row - #83

Merged
tamnd merged 1 commit into
mainfrom
x32-busybox
Oct 9, 2026
Merged

tamnd merged 1 commit into
mainfrom
x32-busybox

Conversation

@tamnd

@tamnd tamnd commented Oct 9, 2026

Copy link
Copy Markdown
Owner

The X32 census boots failed after 3 seconds for both gcc-14 and rucc. The rucc 6.12.111 X32 defconfig kernel got through its KUnit suites and freed initmem, then Failed to execute /init (error -8) and "No working init found". The initramfs held the runner's busybox, which is an x86_64 program, and an i386 kernel cannot run it.

  • The census boot step now fetches busybox-static:i386 from the noble archive for the X32 row and passes it with --busybox.
  • rk boot checks the busybox's ELF machine and class against the row's arch before it writes the initramfs. A mismatch now fails with a message that says to pass --busybox, so a wrong init no longer shows up as a kernel panic.

Tested with the new unit test a_busybox_is_checked_against_the_row_it_boots, and cargo test -p rk and clippy are clean.

@tamnd tamnd added kind/bug Something in the harness is wrong area/ci Workflows and release automation row/x32 i686 labels Oct 9, 2026
@tamnd
tamnd merged commit a19045b into main Oct 9, 2026
2 checks passed
@tamnd
tamnd deleted the x32-busybox branch October 9, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci Workflows and release automation kind/bug Something in the harness is wrong row/x32 i686

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant