root@bpi-r64:/# ip -4 rule
RTNETLINK answers: Address family not supported by protocol
Dump terminated
root@bpi-r64:/# ip -6 rule
0: from all lookup local
32766: from all lookup main
root@bpi-r64:/# ip -V ip utility, iproute2
ip utility, iproute2-6.1.0, libbpf 1.1.2
I’m not sure that it is really your kernel you have booted.
Check with “uname -a” and “zgrep -i ‘IP_MULTIPLE_TABLES’ /proc/config.gz”
In case you have builtin these options it is enough to copy bpi-r4.itb to BPI-BOOT partition. If you use install option of kernel-repo build.sh maybe filename has to be adjusted in uEnv.txt.
You have changed defconfig and imported it before build? Then option pack,copy to images repo folder and important set skipkerneldownload=1 in sourcefiles_bpi-r4.conf and kernelfile to your filename as i wrote above.
./build.sh defconfig # add your stuff
./build.sh importconfig
./build.sh config #verify it is set
./build.sh
Use “Pack” option at the end and copy file to images repo
Or use install to install direct to your sdcard (maybe you have to modify uEnv.txt to point to the right kernel itb file). you should see file loaded in bootlog before kernel is booting.
root@bpi-r64:~# zgrep -i 'multiple' /proc/config.gz
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
CONFIG_IPV6_MULTIPLE_TABLES=y
# MDIO Multiplexers
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# Multiplexer I2C Chip support
# end of Multiplexer I2C Chip support
# SPI Multiplexer support
# Multiplexers
# end of Multiplexers
root@bpi-r64:~# ip -4 rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
root@bpi-r64:~# ip -6 rule
0: from all lookup local
32766: from all lookup main
root@bpi-r64:~# uname -a
Linux bpi-r64 6.18.0-rc1-bpi-r64 #1 SMP PREEMPT Tue Nov 11 21:20:38 CET 2025 aarch64 GNU/Linux
but noticed this in 6.18:
[ 13.027503] mtk-scpsys 10006000.power-controller: sync_state() pending due to 18000000.wmac
[ 13.036013] mtk-scpsys 10006000.power-controller: sync_state() pending due to serial0-0
Which is strange because wmac and btif.bluetooth (i guess this is serial0-0) are users of scpsys not depencies.
@ericwoud maybe you have already seen and fixed this?
I guess it is because wmac is builtin,but driver above (mt7615e) is module and not available due to tftp boot and btif maybe also not builtin. But wonder why scpsys (driver builtin) has sync state pending…maybe only to these 2 devices?
Curent uboot for arm64 boards using fit image…so you have to copy itb file,not the uImage_nodt
Per default .itb is used,in your case bpi-r64.itb if filename differs you have to set filename in uEnv.txt (R64 has old path bananapi/bpi-r64/linux/ first for uenv.txt and afair also itb and fallback root as on newer boards.