Index | Thread | Search

From:
Klemens Nanni <kn@openbsd.org>
Subject:
Re: u-boot/rk3588: enable IPv6
To:
ports@openbsd.org
Date:
Fri, 12 Dec 2025 11:14:03 +0000

Download raw body.

Thread
30 ноября 2025 г. 21:46:19 UTC, Klemens Nanni <kn@openbsd.org> пишет:
>U-boot has had support for years, but it is enabled by default only
>for some boards/targets.
>
>After I flashed my NanoPi R6S's eMMC (no SD-card) as per INSTALL.arm64:
>
>	=> setenv serverip6 fe80::1
>	=> tftpboot BOOTAA64.EFI -ipv6
>	ROUTER SOLICITATION 1
>	Set gatewayip6: fe80:0000:0000:0000:fce1:baff:fed0:2e5c, prefix_length: 64
>	Using ethernet@fe1c0000 device
>	TFTP from server fe80:0000:0000:0000:0000:0000:0000:0001; our IP address is fe80:0000:0000:0000:5c27:b1ff:fe14:a9c9
>	Filename 'BOOTAA64.EFI'.
>	Load address: 0xc00800
>	Loading: ################
>	         1.7 MiB/s
>	done
>	Bytes transferred = 229585 (380d1 hex)
>	=> bootefi $loadaddr
>	Booting /BOOTAA64.EFI
>	disks: sd0
>	>> OpenBSD/arm64 BOOTAA64 1.22
>	boot> 
>
>iPXE also boots this way, but then hangs, at least on the serial:
>
>	Booting /ipxe.efi
>	iPXE initialising devices...
>
>
>	iPXE 1.21.1+ (ge9a2) -- Open Source Network Boot Firmware -- https://ipxe.org
>	Features: DNS HTTP iSCSI TFTP VLAN SRP AoE EFI Menu
>
>	Press Ctrl-B for the iPXE command line...
>
>I'll investigate that next, but IPv6 itself works fine incl. the
>ping6 and pxe commands.
>
>I don't use DHCPv6 and omitting it causes interactive prompts,
>hence why it's disabled.
>
>Image size growth seems negligible:
>
>	$  du -k u-*
>	9408	u-boot-rockchip.bin
>	9424	u-boot-rockchip.bin.new
>
>Feedback? OK?
>
>
>Index: Makefile
>===================================================================
>RCS file: /cvs/ports/sysutils/u-boot/rk3588/Makefile,v
>diff -u -p -r1.10 Makefile
>--- Makefile	9 Aug 2025 09:53:19 -0000	1.10
>+++ Makefile	30 Nov 2025 20:23:33 -0000
>@@ -1,4 +1,5 @@
> VERSION=	2025.07
>+REVISION=	0
> 
> SOC=		rk3588
> 
>@@ -27,6 +28,11 @@ EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
> 
> MAKE_ENV+=	BL31=${FULLDISTDIR}/${RK3588_BL31}
> 
>+ENABLE_OPTS=	IPV6 \
>+		IPV6_ROUTER_DISCOVERY \
>+		CMD_PING6
>+DISABLE_OPTS=	CMD_DHCP6
>+
> pre-build:
> 	cc -o ${WRKSRC}/rkbinpatch ${FILESDIR}/rkbinpatch.c 
> 	cd ${WRKSRC} && \
>@@ -41,7 +47,9 @@ do-build:
> 	        O="build/${BOARD}" \
> 	        -f ${MAKE_FILE} "${BOARD}"_defconfig
> 	cd ${WRKSRC}/build/${BOARD} && \
>-	    ../../scripts/config --set-val BAUDRATE 115200
>+	    ../../scripts/config --set-val BAUDRATE 115200 \
>+	        ${ENABLE_OPTS:=-e %} \
>+	        ${DISABLE_OPTS:=-d %}
> 	cd ${WRKSRC} && \
> 	    ${SETENV} ${MAKE_ENV} ROCKCHIP_TPL=${RK3588_TPL} ${MAKE_PROGRAM} \
> 	        ${MAKE_FLAGS} O="build/${BOARD}" \
>

Anyone?