So, this weekend I'm playing with Fiwix.
-
@nina_kali_nina
Hmm, I wonder if Fiwix has 9P support. It would make working in a VM easier (QEMU supports 9P for shared folders)@kirtai I seriously doubt that
but if it can be compiled with C in userland, it can be done -
@kirtai I seriously doubt that
but if it can be compiled with C in userland, it can be done@nina_kali_nina
It was worth a shot
-
@nina_kali_nina I've actually done aoUT type of stuff also professionally back in 2012 when I implemented this in collaboration with Peter Anvin:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/realmode
Basically just applied learnings from this
@jarkko neat
booting up from real mode is a special, fun exercise in a certain meaning of the word -
@matt well, the MGR was created in the early 80s, but this particular distribution is based on a version from Usenet from 1989. It is possible that it was back-ported from X by then
@nina_kali_nina @matt
Very cool!I was useneting and windowing in 1989, I don't know why I didn't port and play with this back then.
Well, I was probably dealing with a relationship complication or breakup at the time; c'est la vie.
-
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🧵
@nina_kali_nina Kind of reminds me of the Italian Linux distro that fits on a floppy: muLinux! Almost 23 years old now, but also with kernel 2.x
-
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/I took a moment to package the binaries for MGR - https://github.com/mikaku/FiwixOS/issues/2
The port is dirty/incomplete because there's probably two people out there who would want to try it out, and both of us are better off starting it from scratch
-
I took a moment to package the binaries for MGR - https://github.com/mikaku/FiwixOS/issues/2
The port is dirty/incomplete because there's probably two people out there who would want to try it out, and both of us are better off starting it from scratch
@nina_kali_nina I would _want_ to try it out. Intrigued by MGR ever since a friend demo'd it to me on his Atari ST (1040, more powerful than mine) around 1989. Didn't know it was MGR until at least decade later.
-
@nina_kali_nina I would _want_ to try it out. Intrigued by MGR ever since a friend demo'd it to me on his Atari ST (1040, more powerful than mine) around 1989. Didn't know it was MGR until at least decade later.
@drj an easier to use distribution is Debian 0.93+MGR on 86Box with Mouse Systems driver. I've uploaded ready-to-use HDD image a while ago: https://archive.org/details/bellcore-mgr-debian0.93
It is superior in a way that I've compiled most of the clients there, including the ghostscript viewer
-
I took a moment to package the binaries for MGR - https://github.com/mikaku/FiwixOS/issues/2
The port is dirty/incomplete because there's probably two people out there who would want to try it out, and both of us are better off starting it from scratch
@nina_kali_nina i love it.
-
I took a moment to package the binaries for MGR - https://github.com/mikaku/FiwixOS/issues/2
The port is dirty/incomplete because there's probably two people out there who would want to try it out, and both of us are better off starting it from scratch
@nina_kali_nina Thanks for another deep dive into a new rabbit hole.
-
I took a moment to package the binaries for MGR - https://github.com/mikaku/FiwixOS/issues/2
The port is dirty/incomplete because there's probably two people out there who would want to try it out, and both of us are better off starting it from scratch
Adding new software to Fiwix isn't all that difficult. Here's a PR I made for mtools, a userland FAT12/16/32 tooling: https://github.com/mikaku/FiwixOS/pull/4
The DOSBox 0.74 is merged already, so it should be there with the next release in November
If you want staging or dosbox-x, you're free to take a stab at it~yes it is still a 🧵
-
Adding new software to Fiwix isn't all that difficult. Here's a PR I made for mtools, a userland FAT12/16/32 tooling: https://github.com/mikaku/FiwixOS/pull/4
The DOSBox 0.74 is merged already, so it should be there with the next release in November
If you want staging or dosbox-x, you're free to take a stab at it~yes it is still a 🧵
FiwixOS only has SDL1.2, and I wasn't sure whether new Grafx2 supports it, so I chose a release from definitely-pre-SDL2 and, well, simply compiled it. I had to tweak the makefile because some of the required libraries were not where the make expected them to be. It is great to have truly portable software. Great job, @pulkomandy and the Grafx2 team

-
FiwixOS only has SDL1.2, and I wasn't sure whether new Grafx2 supports it, so I chose a release from definitely-pre-SDL2 and, well, simply compiled it. I had to tweak the makefile because some of the required libraries were not where the make expected them to be. It is great to have truly portable software. Great job, @pulkomandy and the Grafx2 team

@nina_kali_nina GrafX2 still supports SDL1.2 in the latest versions. You can configure that with a variable in the Makefile Let me know if there are any other problems with porting it!
-
@nina_kali_nina GrafX2 still supports SDL1.2 in the latest versions. You can configure that with a variable in the Makefile Let me know if there are any other problems with porting it!
@pulkomandy neat~ I'll try the latest version tomorrow, then! Thanks!
-
@nina_kali_nina GrafX2 still supports SDL1.2 in the latest versions. You can configure that with a variable in the Makefile Let me know if there are any other problems with porting it!
@nina_kali_nina I plan to continue supporting it until SDL2 (or 3?) gets ported to all the platforms that have SDL1.2 (probably forever, because some of these platforms are dead)
-
@nina_kali_nina I plan to continue supporting it until SDL2 (or 3?) gets ported to all the platforms that have SDL1.2 (probably forever, because some of these platforms are dead)
@pulkomandy
oh no -
P pelle@veganism.social shared this topic