Hi David,
I managed to get buildroot to build a riscv32 image but I can’t remember how. I remember that I got ENOEXEC from the kernel. I used a simpler root image build script (requires minor modification to build for riscv32) to build a riscv32 busybox:
I remember my first buildroot builds came out as x86 but I may have added or modified a platform default config file with help from Palmer. Search for platform configuration files i.e. find buildroot -name ‘*riscv32*’ -o -name ‘*riscv64*’
Your Makefile was really helpful btw.
In any case I am pretty certain I got ENOEXEC with a riscv32 binary and I began looking at the kernel code to see where the issue might be.
It might be worth trying busybear (busybox plus dropbear) as it’s a lot simpler to modify compared to buildroot. It’s just two scripts, a conf directory and a skeleton etc directory. It’s dynamically linked by default. I changed it to static linking by editing conf/busybox.conf to eliminate ld-linux.so while trying to debug the ENOEXEC.
Michael