So, this weekend I'm playing with Fiwix. Fiwix (https://fiwix.org/) is a small hobbyist operating system for i386 that aims to be Linux 2.0 compatible while being small enough that a single human could understand it as a whole (it's ~30k SLOC, self-hosted, and can be built with tcc).

A couple of years ago Fiwix was used in a fun project of "let's bootstrap a Linux system with only tiny tools that can be understood by a single person": https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst

My refreshed interest in it comes from multiple sources: first, there is now a TCP/IP stack (still WIP). Second, GNU/Linux is *gestures ambiguously* in a strange state, so it is interesting to see how far one could get with a completely non-BSD non-standard tiny, toy-like operating system.

The installation is quite straightforward. "Please keep in mind this kernel is not yet suited for production. Use at your own risk!" is, in itself, a proof of reliability.

This is a beginning of a slow-going🧵

FiwixOS comes with quite a few ports, and will require close to 1GB on a disk. I suppose this is because the packages are not particularly optimised in size. The biggest packages beyond the base and GCC are Python3, Perl, ZX Spectrum emulator and Doom/Heretic.

Also, look at this Halt message, so cute!

The system is small, but functional. At the same time, there are quite a few sharp corners, unfinished and untested things.

The list of packages/ports is small, so I want to bring a few things in. Is it going to be easy? Let's find out!

🧵 cont

The first fun challenge is exchanging files with Fiwix. You see, Fiwix only supports ext2 (3?), Minix, and ISO9600 (CD drives).

My daily driver is (still) MacOS, so I cannot just mount the ext2 partition to send files over. I can create an ISO image with the files, but this is a one-way trip. Would be nice to add the support for FAT16/32 disks to Fiwix, right?

Well! First, I simply created a new CD image with mtools-4.0.49.tar.gz. Fiwix recognised the CD, and I was able to unpack mtools archive. Then I ran `configure`, and then edited a few things here and there (mostly mis-configurations in the config file). Then I ran `make`, and few minutes later I got myself a working set of tools to access FAT-formatted disks. Now I can copy files between Fiwix and MacOS, neat.

🧵 cont

Fiwix understandably misses a few important tools here and there. Having an emulator capable of running different systems would be nice, right?

Qemu is generally quite portable, but DosBox is smaller, and is good enough for running a large chunk of software I might want to run on my system.

FiwixOS has an SDL1.2 port, so compiling DosBox for it was not difficult at all (a couple of patches are still required). I've thrashed around the video card settings a little bit, until I got it mostly working. I need to figure out why the keyboard is buggy, but I can start Windows under Fiwix, and play a game of solitaire.

So, uh, viva FOSS? Great stuff, hobbyists! It is super duper awesome that I can just get a random toy-like OS, and simply compile the stuff I use regularly for it, and it would work. Extra kudos when the toy OS can boot with as little as 8 megs of RAM. Not gigs, megs.

🧵cont?

Thanks to help from the Fiwix devs, I have DosBox fully working (no sound, CD or network support yet). I got a bit upset that there's no windowing interface for the OS (yet), so I ported Bellcore MGR to Fiwix. It's half-baked, but it works.

If you never heard about MGR, it's an X competitor and a terminal multiplexer with graphics.
Here's my post about it: https://www.ninakalinina.com/notes/mgr/

@nina_kali_nina I find all of your posts fascinating, though I don't understand any of it (like a language I have no idea about) But I love seeing people who are good at fixing things and are great at it (like The Repair Shop on BBC) and you really enjoy the challenge! I feel like a boring dinosaur in a tech world 
@Aspiedan Thanks, I really appreciate the feedback! If you have any questions, feel free to leave comments with "Explaint to me Like I'm Five" (ELI5) and I'll do my best to explain :)
@nina_kali_nina I think you would spend more tine explaining than actually working on stuff 
Its nice to have people doing things they enjoy in my feed. Reminds me people are all so different, and thats what makes life beautiful. Art would be boring if artists only used 1 colour or texture (ignoring some modern art here that doesn't fit my analogy)