I have a chipyard build running on the Arty100T w/o an FPU. Bare metal code works fine, but I am trying create a firemarshal busybox distro that will boot correctly.
- Modify `<REPO_ROOT/software/firemarshal/boards/prototype/base-workloads/br-base/linux-config` and add `CONFIG_FPU=n`
- Modify `<REPO_ROOT>/software/firemarshal/boards/prototype/base-workloads/br-base/buildroot-config` and add `BR2_RISCV_ISA_RVF=n`
I think the kernel is fine, but busybox is not... and thus causes a kernel panic when init is run.
[ 14.165181] 9pnet: Installing 9P2000 support
[ 14.171350] Key type dns_resolver registered
[ 14.511145] Freeing unused kernel memory: 6352K
[ 14.517356] Run /init as init process
[ 14.591540] init[1]: unhandled signal 4 code 0x1 at 0x0000003ff0bf1a9c in
ld-2.29.so[3ff0be1000+17000]
[ 14.602938] CPU: 0 PID: 1 Comm: init Not tainted 5.7.0-rc3-58539-g5f5fd87b36e2 #3
[ 14.611056] epc: 0000003ff0bf1a9c ra : 0000003ff0bf0be2 sp : 0000003fffa0f480
[ 14.618586] gp : 0000000000000000 tp : 0000000000000000 t0 : 0000000000000003
[ 14.626179] t1 : 0000003ff0be1e6c t2 : 000000006fffffff s0 : 0000000000000000
[ 14.633761] s1 : 0000003fffa0f620 a0 : 0000003fffa0f4b8 a1 : 0000000000000000
[ 14.641320] a2 : 0000003fffa0f6c8 a3 : 0000003fffa0f6b0 a4 : 0000003fffa0f4a8
[ 14.648856] a5 : 0000003ff0bfa0e0 a6 : 7efefefefefefeff a7 : 24160a4b570a5248
[ 14.656749] s2 : 00000000000138a9 s3 : 00000000000e6e10 s4 : 0000000000000000
[ 14.664649] s5 : 0000003ff0bfa160 s6 : 0000000000000000 s7 : 0000003ff0bfa160
[ 14.672515] s8 : 0000000000000000 s9 : 00000000000138a8 s10: 0000003fffa0f6b0
[ 14.680574] s11: 0000003fffa0f6c8 t3 : 0000003ff0bf0bb4 t4 : 0000000000000004
[ 14.688584] t5 : 0000000000000004 t6 : 0000000000000004
[ 14.694185] status: 0000000200000020 badaddr: 000000000000b920 cause: 0000000000000002
[ 14.719250] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
[ 14.726736] CPU: 0 PID: 1 Comm: init Not tainted 5.7.0-rc3-58539-g5f5fd87b36e2 #3
[ 14.734155] Call Trace:
[ 14.736869] [<ffffffe000801ffc>] walk_stackframe+0x0/0xaa
[ 14.742275] [<ffffffe0008021e8>] show_stack+0x2a/0x34
[ 14.747504] [<ffffffe000a7e6cc>] dump_stack+0x6e/0x88
[ 14.752613] [<ffffffe000807bd2>] panic+0xf2/0x278
[ 14.757307] [<ffffffe000809e1e>] do_exit+0x7a0/0x7b2
[ 14.762353] [<ffffffe00080a9f4>] do_group_exit+0x2a/0x7e
[ 14.767758] [<ffffffe000812b54>] get_signal+0xbc/0x54c
[ 14.773066] [<ffffffe000801920>] do_notify_resume+0x54/0x2a4
[ 14.778763] [<ffffffe000801196>] ret_from_exception+0x0/0xc
[ 14.784489] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 ]---
Any advice would be most welcome on how to get busybox to not rely on the FPU.