uConsole R-01 Custom OS Megathread

Hello all,

I’m looking for this to be a giant thread filled with information people have learned from the stock uConsole images as well has any information people find as more people get their hands on the uConsole.

So from my initial work in attempting to learn more about the uConsole in order to get a custom distro loaded on the device I’ve come across a few code repos of interest that have lead me down a rabbit hole.

[1] u-boot code:

Some revision history from 3 months ago, reviewing some of the changes leads me to believe this is code that shipped on the provided SD card from the factory.

Trying to boot the uConsole in FEL mode (no SD card inserted) shows that there is no embedded onboard ROM to point to for booting the core. The Sunxi board First Program Loader will cycle through a few different methods of trying to boot the core, first by looking towards the sdcard, usb, and it looks like it would also support sending an image to the core directly over FEL (serial) but I have not attempted to do this yet.

[2] U-Boot - linux-sunxi.org

The sunxi project documentation for the D1 shows that it’s possible it may support booting from the sdcard (mmc), usb, network, or even over the serial (FEL).

We know the D1 riscv processor is the same as the one shipped in the DevTerm so I also used the information referenced here to get information about how the uConsole initializes the core and the process involved in going from Cold Start to actually booting Linux.

[3] DevTerm u-boot build instructions

Using the code from [1] I’m successfully able to build the u-boot-dtb.bin, u-boot.bin, and u-boot.dtb. Then using the documentation from [3] I was able to build the SPL.

Attempting to build opensbi however results in me hitting a wall in my cross compilation with the following error:

user@box ~/uConsole/u-boot_modded/stock/opensbi $ CROSS_COMPILE=riscv64-linux-gnu- PLATFORM=generic FW_PIC=y BUILD_INFO=y make
grep: warning: stray \ before -
CC lib/sbi/sbi_init.o
CC lib/sbi/sbi_tlb.o
/home/user/uConsole/u-boot_modded/stock/opensbi/lib/sbi/sbi_tlb.c: Assembler messages:
/home/user/uConsole/u-boot_modded/stock/opensbi/lib/sbi/sbi_tlb.c:190: Error: unrecognized opcode fence.i', extension zifencei’ required
make: *** [Makefile:431: /home/user/uConsole/u-boot_modded/stock/opensbi/build/lib/sbi/sbi_tlb.o] Error 1

I’m going to continue poking around, anyone else who is experimenting around with their uConsole please feel free to contribute any useful information you have found and if I’m going in the completely wrong direction in trying to get this working please let me know!

If you’ve got it working please also let us know the steps and what code you used.

That’s greate! I’m still waitting for my uConsole with R-01 core. This thread will be very helpful for me by the time when it received. And a good way to share my experience.