January 16, 2023

Kyu networking -- H3 network PHY, Build U-boot from mainstream source

I screwed this up. I did a checkout of 2020.10 when I meant to do 2022.10. A stupid typo and a lot of subsequent wasted time. Here is the story, just for the record.

Getting source is all handled by git on github. They tell you to clone the repository, then checkout the branch you want.

cd /u1/Projects/U-boot
git clone https://github.com/u-boot/u-boot
mv u-boot u-boot.Git
cd u-boot.Git
git checkout v2020.10
The checkout gives me a big warning that I am in "detached HEAD" state, but I don't think this much matters since this is a read-only situation for me.

I look in the "configs" directory and find orangepi_pc_plus_defconfig. This is good. Ultimately I will do "make orangepi_pc_plus_defconfig".

The cross compiler needs to be specified, what you could do is:

CROSS_COMPILE=arm-linux-gnu-
export CROSS_COMPILE
What I actually do is to edit this setting right into the start of the Makefile since I will get annoyed at having to type it every time I run make for U-boot.
Here we go:
make distclean
make orangepi_pc_plus_defconfig
make all
This gets more compiler warnings than I might expect, but runs to completion. Here is the log of what I see: The final product is:
-rw-r--r--   1 tom tom  499366 Jan 16 12:00 u-boot-sunxi-with-spl.bin
I write this to my SD card via:
su
dd if=u-boot-sunxi-with-spl.bin of=/dev/sdg bs=1k seek=8 conv=sync
487+1 records in
488+0 records out
499712 bytes (500 kB, 488 KiB) copied, 0.0875019 s, 5.7 MB/s
sync
And it works! It even boots NetBSD. I get messages as follows:
U-Boot 2020.10-dirty (Jan 16 2023 - 11:59:08 -0700) Allwinner Technology
CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi PC Plus
DRAM:  1 GiB
MMC:   mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Out:   serial
Err:   serial
Net:   phy interface0
eth0: ethernet@1c30000
I don't know what "dirty" is all about, other than an indication that it was built by someone like myself and could have been modified.

Interestingly, NetBSD runs now -- no UVM fault.


Have any comments? Questions? Drop me a line!

Kyu / [email protected]