So, this weekend I'm playing with Fiwix.
-
@nina_kali_nina
i see! well thats true but i do find myself more in the middle on these kinds of matters, i dont like the linux fundation at all and i hate the oss foundation for their stance on ai weights but i do trust torvalds and the companies are a big reason the linux kernel is this perfomant and the defacto standard@Etch9 I think even if you're moderate on such issues, you could see benefit in having fun

-
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
@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) -
@Etch9 I think even if you're moderate on such issues, you could see benefit in having fun

@nina_kali_nina
yis thats true as well
-
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 "Why does that look like Plan 9?"
*reads*
> made by the Bell Communications Research, and it looked like Plan 9's older sister.
You had my curiousity, now you have my interest :3
-
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 ooh, that looks interesting. I’ll have a play as well.
-
@nina_kali_nina I'll publish the links in this site once I release them: https://jarkkojs.github.io/
Thus, the 486 esque mode 13h fixed point graphics goodness with VGA's rectangular pixels
@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
-
@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!