Hi all i have an update. Ive managed to get it to work. Ive never done anything like this but hopefully this will help someone else. Im not sure the steps are correct but the change to uboot worked and i can now boot from usb1 not just usb0
so when your making your build and it asks about patch files ""Press ENTER to show a preview of your patch, or type 'stop' to stop patching..."" , in another window i ran.
cd build/cache/sources/u-boot-worktree/u-boot/v2026.07
find . -iname "*orangepi-zero3*"
grep -rn "ehci2\|ohci2\|ehci3\|ohci3\|usb@531" dts/upstream/src/arm64/allwinner/sun50i-h616.dtsi
cat > arch/arm/dts/sun50i-h618-orangepi-zero3-u-boot.dtsi << 'EOF'
#include "sunxi-u-boot.dtsi"
&ehci2 {
status = "okay";
};
&ohci2 {
status = "okay";
};
&ehci3 {
status = "okay";
};
&ohci3 {
status = "okay";
};
EOF
then i dropped back and carried on and i got
File: /home/armbian/build/output/patch/u-boot-sunxi64-current.patch
i then did this.
Move the patch into userpatches
mkdir -p /home/armbian/build/userpatches/u-boot/v2026.07-sunxi64
cp /home/armbian/build/output/patch/u-boot-sunxi64-current.patch /home/armbian/build/userpatches/u-boot/v2026.07-sunxi64/
check its there
ls /home/armbian/build/userpatches/u-boot/v2026.07-sunxi64/
Run the real build
export PREFER_DOCKER=no
./compile.sh uboot BOARD=orangepizero3 BRANCH=current RELEASE=trixie BUILD_DESKTOP=no BUILD_MINIMAL=yes KERNEL_CONFIGURE=no ARTIFACT_IGNORE_CACHE=yes
when it finished i ran
find cache/sources/u-boot-worktree -name "u-boot-sunxi-with-spl.bin"
and it returned
cache/sources/u-boot-worktree/u-boot/v2026.07/u-boot-sunxi-with-spl.bin
i tested it by putting it on an sd card and plugging a bootable usb drive into usb1 (on the 13pin header) and went into uboot and ran
usb start
usb tree
you should see (Please not i hadnt removed the usb from the inital usb0 socket hence the two drives found)
=> usb start
starting USB...
USB EHCI 1.00
USB OHCI 1.0
USB EHCI 1.00
USB OHCI 1.0
USB EHCI 1.00
USB OHCI 1.0
Bus usb@5200000: 2 USB Device(s) found
Bus usb@5200400: 1 USB Device(s) found
Bus usb@5310000: 2 USB Device(s) found
Bus usb@5310400: 1 USB Device(s) found
Bus usb@5311000: 1 USB Device(s) found
Bus usb@5311400: 1 USB Device(s) found
scanning usb for storage devices... 2 Storage Device(s) found
=> usb tree
USB device tree:
1 Hub (480 Mb/s, 0mA)
| u-boot EHCI Host Controller
|
+-2 Mass Storage (480 Mb/s, 100mA)
MXTronics MXT USB Device 150101v01
1 Hub (12 Mb/s, 0mA)
U-Boot Root Hub
1 Hub (480 Mb/s, 0mA)
| u-boot EHCI Host Controller
|
+-2 Mass Storage (480 Mb/s, 100mA)
Kingston DataTraveler 3.0 E0D55EA573F01A4119E00696
1 Hub (12 Mb/s, 0mA)
U-Boot Root Hub
1 Hub (480 Mb/s, 0mA)
u-boot EHCI Host Controller
1 Hub (12 Mb/s, 0mA)
U-Boot Root Hub
i then tested booting from usb 1 which was fine.
so i then wrote the file with.
sudo flashcp cache/sources/u-boot-worktree/u-boot/v2026.07/u-boot-sunxi-with-spl.bin /dev/mtd0
Now i need to workout SPI and GPIO control for my home tv control project.
Trev