Unable to get serial console login with self-built images

Dear OpenWrt folks, using the snapshot images, it’s possible to activate a console on the serial console. I tested this on a real device and with QEMU:

$ qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic -kernel /scratch/local2/openwrt-armvirt-64-Image-initramfs -device virtio-net-pci -netdev user,id=net1,hostfwd=tcp::2222-:22
qemu-system-aarch64: warning: netdev net1 has no peer
qemu-system-aarch64: warning: nic virtio-net-pci.0 has no peer
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070]
[    0.000000] Linux version 5.15.79 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r21340-c34eab6fd1) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Wed Nov 23 19:17:21 2022
[    0.000000] Machine model: linux,dummy-virt
[…]
[    4.577132] init: - preinit -
[    5.828789] random: jshn: uninitialized urandom read (4 bytes read)
[    6.029433] random: jshn: uninitialized urandom read (4 bytes read)
[    6.111394] random: jshn: uninitialized urandom read (4 bytes read)
[    6.529670] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    9.772725] procd: - early -
[   11.060245] procd: - ubus -
[   11.141397] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.223386] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.233212] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.277854] procd: - init -
Please press Enter to activate this console.
[   12.205493] random: jshn: uninitialized urandom read (4 bytes read)
[   12.278157] random: ubusd: uninitialized urandom read (4 bytes read)
[   12.283981] random: ubus: uninitialized urandom read (4 bytes read)
[   12.495140] urngd: v1.0.2 started.
[   12.558133] random: crng init done
[   12.558334] random: 15 urandom warning(s) missed due to ratelimiting
[   13.591061] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.851018] PPP generic driver version 2.4.2
[   13.856323] NET: Registered PF_PPPOX protocol family
[   13.890989] kmodloader: done loading kernel modules from /etc/modules.d/*



BusyBox v1.35.0 (2022-11-23 19:17:21 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r21340-c34eab6fd1
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------

But with my self-built images, that does not work.

$ qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic -kernel /scratch/local2/ow/bin/targets/armvirt/64/openwrt-armvirt-64-Image-initramfs -device virtio-net-pci -netdev user,id=net1,hostfwd=tcp::2222-:22
qemu-system-aarch64: warning: netdev net1 has no peer
qemu-system-aarch64: warning: nic virtio-net-pci.0 has no peer
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070]
[    0.000000] Linux version 5.15.80 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r21341-4943ce98ff) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Sun Nov 27 14:06:08 2022
[    0.000000] Machine model: linux,dummy-virt
[…]
[    4.528751] init: - preinit -
[    5.695925] random: jshn: uninitialized urandom read (4 bytes read)
[    5.896145] random: jshn: uninitialized urandom read (4 bytes read)
[    5.977290] random: jshn: uninitialized urandom read (4 bytes read)
[    6.381881] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    9.639721] procd: - early -
[   10.898708] procd: - ubus -
[   10.981563] random: ubusd: uninitialized urandom read (4 bytes read)

I even copied the snapshot configuration, saved it as .config and ran make menuconfig. I had to disable ANTFS and XDP to get it to build, but still got the result above.

$ diff -u .config my-config
--- .config     2022-11-29 17:30:58.763772421 +0100
+++ my-config   2022-11-29 14:42:46.005340536 +0100
@@ -417,7 +417,7 @@
 CONFIG_TARGET_SUFFIX="musl"
 CONFIG_IB=y
 # CONFIG_IB_STANDALONE is not set
-CONFIG_SDK=y
+# CONFIG_SDK is not set
 CONFIG_SDK_LLVM_BPF=y
 CONFIG_MAKE_TOOLCHAIN=y
 # CONFIG_IMAGEOPT is not set
@@ -438,10 +438,10 @@
 CONFIG_TARGET_INIT_SUPPRESS_STDERR=y
 # CONFIG_VERSIONOPT is not set
 CONFIG_PER_FEED_REPO=y
-# CONFIG_FEED_packages is not set
-# CONFIG_FEED_luci is not set
-# CONFIG_FEED_routing is not set
-# CONFIG_FEED_telephony is not set
+CONFIG_FEED_packages=y
+CONFIG_FEED_luci=y
+CONFIG_FEED_routing=y
+CONFIG_FEED_telephony=y
 
 #
 # Base system
@@ -3004,7 +3004,7 @@
 # CONFIG_PACKAGE_libustream-openssl is not set
 CONFIG_PACKAGE_libustream-wolfssl=y
 CONFIG_PACKAGE_libuuid=y
-CONFIG_PACKAGE_libxdp=m
+# CONFIG_PACKAGE_libxdp is not set
 # CONFIG_PACKAGE_linux-atm is not set
 # CONFIG_PACKAGE_musl-fts is not set
 # CONFIG_PACKAGE_terminfo is not set
@@ -3289,9 +3289,9 @@
 # CONFIG_PACKAGE_vxlan is not set
 # CONFIG_PACKAGE_wpan-tools is not set
 CONFIG_PACKAGE_wwan=m
-CONFIG_PACKAGE_xdp-filter=m
-CONFIG_PACKAGE_xdp-loader=m
-CONFIG_PACKAGE_xdpdump=m
+# CONFIG_PACKAGE_xdp-filter is not set
+# CONFIG_PACKAGE_xdp-loader is not set
+# CONFIG_PACKAGE_xdpdump is not set
 # CONFIG_PACKAGE_xfrm is not set
 # end of Network

What am I missing?