Login
You're viewing the y.diskcat.com public feed.
  • Mar 28, 2025, 9:56 AM

    Well, I'm currently at about 18k free space of 1.44M and have a kernel+initramfs that can talk to RTL8139C NICs, do DHCP client *and* server duties, brings up a Wireguard tunnel succesfully and a static iptables binary that runs, but complains about missing extensions for targets like MASQUERADE. If anyone seeing this post knows how to tell iptables during configure/make how to include extensions when building statically, please, do tell!

    nftables was too ambitious to include at ~700KB

    💬 1🔄 4⭐ 5

Replies

  • Mar 29, 2025, 5:25 AM

    Hah, figured it out, albeit in a messy way: Passing "--enable-static --disable-shared" builds a fully static iptables binary with all extensions included, which turns out way too big of a binary. However, one can just remove unneeded extension source files from the extensions directory in the iptables sources and iptables builds happily without them.

    Switching to a i486-linux-musl toolchain also brought the free space up to 35 whole kilobytes! Whoa! Maybe enough for a simple web UI with httpd?

    💬 1🔄 0⭐ 1
  • Mar 29, 2025, 5:27 AM

    I also managed to squeeze telnetd in, for remote managing the "router". Maybe I'll use that extra free space for second NIC driver. Or perhaps I can shove FAT and block device support in, so the configuration files on the floppy can actually be edited and saved instead of being baked into the initramfs! So many options!

    💬 1🔄 0⭐ 1
  • Mar 29, 2025, 5:45 AM

    And yup, it boots, at least in QEMU. Emulated 486DX CPU, 16MB of RAM and a standard 1.44M floppy disk image, booted with this lovely tiny-floppy-bootloader project: github.com/guineawheek/tiny-fl

    Unfortunately, it errors out in 86box upon calling interrupt 0x15 after enabling the A20 line (?), which, as far as I could find out, has something to do with the lack of a memory size reporting instruction in protected mode in BIOSes, which just wasn't a standardized thing before the 2000s or something? Hmpf

    Screenshot of a terminal window showing the output of "ip addr show", which reports information about the loopback interface, two ethernet interfaces with IP addresses assigned and a Wireguard interface. Followed by that command is the output of "wg show", which shows an active Wireguard connection, followed by the first few lines of "cat /proc/cpuinfo", showing this Linux system runs on an emulated Intel 486DX/4
    💬 1🔄 0⭐ 2
  • 💬 0🔄 0⭐ 0