So, this weekend I'm playing with Fiwix.
-
@nina_kali_nina maybe it would also be possible to get twin going for something with windowing: https://github.com/cosmos72/twin
MGR seems a lot fancier though

How is the hardware support of Fiwix? I don't know if DOSBox can do any device pass-through, DOSEMU(2) does have some support for that so you could possibly use hardware that lacks Fiwix drivers but does have DOS drivers.
@jschwart I think twin should work with minimal changes. Thanks for sharing the link, I'll try it out if I have time
-
@rk I think here on Fiwix it should be useable on a 486 with 8 megs; gotta try it out
The machine I was thinking of had...either 2MB or 4MB. Good times.
-
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🧵
-
@Etch9 well, it is, to a large extent, controlled by corporations that do not have our best interests in mind.
-
@nina_kali_nina Cool. I'm releasing in near future aoUT dos extender with toolchain support for modern gcc and clang. The name comes from the fact that the PM payload is relocatable a.out

As for Dosbox, this is AFAIK the best incarnation of it ATM: https://www.dosbox-staging.org/@jarkko @nina_kali_nina Hard agree on DOSBox Staging. Much improved over the "vanilla" version.
-
@jarkko @nina_kali_nina Hard agree on DOSBox Staging. Much improved over the "vanilla" version.
@thelastpsion @jarkko it is going to be much more difficult to port, though. It won't be a two line patch for sure...
-
@thelastpsion @jarkko it is going to be much more difficult to port, though. It won't be a two line patch for sure...
@nina_kali_nina @jarkko Ah, yeah, that's a good point. And it'd probably be just as painful to cherry-pick patches, too.
-
@Etch9 well, it is, to a large extent, controlled by corporations that do not have our best interests in mind.
@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 -
@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