Are those images available somewhere? If not, would you mind sharing them (I’m 
not really a BSD user but I’d like to test them in my emulator).

Thanks
Tommy

> On Jul 10, 2025, at 02:54, Ramiro Aceves <ea1...@gmail.com> wrote:
> 
> Hello,
> 
> Just for curiosity I found this instructions:
> 
> https://wiki.netbsd.org/ports/qemu_riscv/
> 
> $ gunzip netbsd-GENERIC64.gz
> $ gunzip riscv64.img.gz
> $ qemu-img resize riscv64.img 20g
> 
> $ qemu-system-riscv64 \
>      -M virt \
>      -m 4g \
>      -kernel netbsd-GENERIC64 \
>      -drive if=none,file=riscv64.img,id=hd0,format=raw \
>      -device virtio-blk-device,drive=hd0 \
>      -device virtio-rng-device \
>      -netdev type=user,id=net0 \
>      -device virtio-net-device,netdev=net0,mac=00:11:22:33:44:55 \
>      -append "root=dk1" \
>      -nographic
> 
> I executed them in my NetBSD 10.1 raspberrypi4 host. Riscv guest system boots 
> and works fine (a bit slow, of course) but it cannot reach outside world:
> 
> raspa4-riscv# ftp ftp.netbsd.org
> Trying [2001:470:a085:999::21]:21 ...
> 
> It stucks there for looong time. It appears that user mode network does not 
> work well.
> 
> Also tried to install sets from sysint program and network did not work 
> either.
> 
> I have set up a bridge mode network and worked just fine following the guide:
> 
> "Configure NetBSD to do this all at boot time by editing /etc/ifconfig.tap0:
> 
> create
> descr "NetBSD VM" up
> ! ifconfig bridge0 create
> ! ifconfig bridge0 descr "LAN VM bridge" up
> ! brconfig bridge0 add tap0 add wm0"
> 
> and modified startup script to use the tap0 device:
> 
> netbsd-raspa4$ cat arranca-riscv-bridged.sh
> #!/bin/sh
> 
> qemu-system-riscv64 \
>      -M virt \
>      -m 2g \
>      -kernel netbsd-GENERIC64 \
>      -drive if=none,file=riscv64.img,id=hd0,format=raw \
>      -device virtio-blk-device,drive=hd0 \
>      -device virtio-rng-device \
>      -netdev tap,id=tap0,ifname=tap0,script=no\
>      -device virtio-net-device,netdev=tap0,mac=00:11:22:33:44:55 \
>      -append "root=dk1" \
>      -nographic
> 
> It worked just fine.
> 
> After a while I found the following  in the NetBSD Guide:
> 
> 
> """30.4.2. NetBSD VMs lacking IPv6
> QEMU's networking will sometimes configure an invalid IPv6 route on IPv4-only 
> configurations, meaning programs like the NetBSD packaging tools will prefer 
> IPv6 and spend a long time timing out before succeeding.
> 
> Work around this by editing /etc/rc.conf to prefer IPv4 addresses:
> 
> ip6addrctl=YES
> ip6addrctl_policy="ipv4_prefer """
> 
> I modified rc.conf that way, rebooted the guest and It worked!:
> 
> 
> raspa4-riscv# ftp  ftp.netbsd.org
> Trying 199.233.217.201:21 ...
> Connected to ftp.netbsd.org.
> 220 ftp.NetBSD.org FTP server (NetBSD-ftpd 20230930) ready.
> Name (ftp.netbsd.org:root): anonymous
> 331 Guest login ok, type your name as password.
> Password:
> 230-
>        The NetBSD Project FTP Server located in San Jose, CA, USA
>        1 Gbps connectivity
> 
> So, I suggest it would be a good idea to modify the WEB page at
> https://wiki.netbsd.org/ports/qemu_riscv/ to include that rc.conf 
> modification.
> 
> Thanks so much.
> 
> Regards.
> Ramiro.
> 
> 
> 
> 

Reply via email to