I was hoping to do more with this, but things are going other ways in life. Anyways a while back I had touched on xv6, a MIT teaching tool and semiport of Unix v6 to the i386! The best part about it, is that it is SMALL…
I’ve been playing with it the last day on the latest version of Qemu and hit a snag with its SMP support (yes it does have that!) so I played with it, and couldn’t figure it out so I had to turn it off.. It is something ACPI related, and probably along the reason why Windows x64 doesn’t run on new Qemu either..
I’ve built the cross compiling environment needed (A bare elf compiler/linker/assembler) and managed to smash enough of it into a single directory that you won’t need MinGW installed, but can rather invoke ‘build.bat’ which will compile link, dd the disk image, and launch Qemu.
I’ve had trouble with mkfs so… you’ll have to live with a prebuilt root image.
If you want to build your own cross compiling toolchain, there is a good guide here on the OSWiki. Naturally you’ll want my previous post on some snags I ran into on MinGW if you do choose that as your target environment.
What I’d love to do is port newlib, and see just how useful this xv6 could become.. I would imagine adding signals (well beyond kill) may allow things like bash 1.x to run, and maybe gcc itself.. Which would be cool.
You can download my work here. Check it out, it’s cool!