Skip to content

build-cf1f2cdf2c028a75c1bc7f38469b78a8f38690ba

@cmdada cmdada tagged this 26 Jul 22:25
- Replace the old RAM-state save/reload hack with a proper virtio-blk
  device backed directly by rootfs.ext2 on the SD card: writes hit disk
  as they happen, so nothing is lost on crash/power loss and there's no
  save step (source/virtio_blk.h, main.c).
- Add virtio-net backed by a userspace NAT built on the 3DS's SOC
  service (the same technique QEMU's usermode networking uses): the
  guest gets a DHCP lease and TCP/UDP/DNS are proxied out through the
  console's real WiFi, no root/raw sockets required
  (source/virtio_net.h).
- Add virtio-rng wired to the 3DS's hardware RNG for real boot entropy,
  and a goldfish-rtc device wired to the 3DS's hardware clock so the
  guest boots with the real date/time (source/virtio_rng.h,
  source/rtc_goldfish.h).
- Add the buildroot/ external tree (kernel config, defconfig, rootfs
  overlay) used to build the Image/rootfs.ext2 this app boots, with the
  new devices' drivers enabled and dropbear/wget/ca-certificates added
  for actually using the network.
- Update source/3ds-cli.dts with the new device nodes and regenerate
  the embedded DTB; wire the CI release pipeline to build Buildroot's
  kernel+rootfs and package rootfs.ext2 alongside Image; refresh the
  README with the new capabilities and their real scope/limitations.
Assets 2
Loading