litex-hub / linux-on-litex-vexriscv

Linux on LiteX-VexRiscv
BSD 2-Clause "Simplified" License
573 stars 174 forks source link

Buildroot with x11 / doom / dhrystone config #290

Open Dolu1990 opened 2 years ago

Dolu1990 commented 2 years ago

Here is an achive with the buildroot config for x11 + chocolate-doom + dhrystone-opt

buildroot_x11_doom.zip

Note you need to get buildroot with the git hash 9ef54b7d, and be sure the dts ramfs is configured with enough space to eat the whole cpio ^^

enjoy-digital commented 2 years ago

Thanks @Dolu1990!

pdlloyd commented 2 years ago

@Dolu1990 this is really cool and something I've been trying to get working on my ULX3S. Unfortunately, I'm a bit inexperienced with these tools and was wondering if you could provide some clarification about why buildroot needs to be at that git hash, and how to be sure the dts ramfs is configured with enough space to eat the whole cpio. Thanks!

Dolu1990 commented 2 years ago

No worries :)

if you could provide some clarification about why buildroot needs to be at that git hash

So, if i remember well, it was because they removed SDL2 support for 32 bits risc-v, something in that kind, or compilation issue.

Also in general, there is so many thing which could break in the whole process, i personnaly always try to stay on a functionnal version of the things, to keep my sanity at a managable level XD

and how to be sure the dts ramfs is configured with enough space to eat the whole cpio. Thanks!

So by default the dts ramfs is configured to 8 GB, which is too low for x11 stuff. So, either you need to manualy check the dts in the build/xxx folder, check that the range between : linux,initrd-start = ; linux,initrd-end = ; is bigger than the cpio file size, and then generate the DTB manuals out of the DTS.

Either you try to switch to using the sdcard to host a second partition with the buildroot file system, this quite better for low memory systems, as ULX3s.

smosanu commented 1 year ago

Particularly useful is the BR2_TOOLCHAIN_BUILDROOT_CXX=y line which enables the generation of the riscv-buildroot-linux-g++ compiler