trying to be on here more often (again lol)

Back on my BS with my project to make a portable version of Unix V6 (from 1975) with a self-hosted pre-K&R C compiler, that could be released on anything that can at least simulate the memory model

Gonna start on a custom VM written in #Rust, but then port to the #C64 and probably also #ALtair8800!!

You can check out the progress on the kernel branch here: https://codeberg.org/popeyeotaku/popix/src/branch/kernel

Right now the compiler's almost done, with a bootstrapper compiler written in Rust. I'm about to start booting and bugfixing the kernel as soon as I extend the VM a tad

Still gotta gut the kernel by another several K, and write self-hosted assembler/linker package, and port userland. Also gonna write a custom YACC that uses less RAM

but it's coming along swimmingly!!!

#ancientUnix #C #Popix #C6T

popix

A highly-portable implementation of 1975's Research Unix Sixth Edition (aka Unix V6), with minimal system requirements.

Codeberg.org
@PopeyeOtaku I was interested up until "rust".
@landley Rust's defines the memory and math models very precisely, which makes it nice for things like Virtual Machines -- in any case, it's mainly used for bootstrapping
@PopeyeOtaku Rust only builds under the previous version of rust, doesn't support half the hardware architectures linux does (let alone netbsd)...
@landley fortunately, the OS and compiler themselves are self-hosting, so after bootstrapping, you can use any Popix system to compile Popix for any other platform, without having to ever touch Rust

@PopeyeOtaku @landley
But then how do you do repeat the bootstrap? It's needed as a defence against the Trusting Trust attack.

For reference, Guix has built a full source bootstrap for many many languages.

@kirtai @landley I dunno if we should be talking serious security for something intended to run on a Commodore 64 😅
@PopeyeOtaku @landley
You never know where things you create will end up 
@kirtai @landley well anyway, the ancient C compiler the project reimplements is very simple to rewrite compared to other languages, so later on in the project I can get the bootstrapper rewritten to other things
[Toybox] Countering trusting trust.

toybox

Toybox combines many common Linux command line utilities together into a single BSD-licensed executable. It's simple, small, fast, and reasonably standards-compliant. The mkroot subdirectory has a tiny linux system builder (single ~500 line bash script) that builds a toybox-based root filesystem ...

Codeberg.org
@landley @PopeyeOtaku
I read an article recently that shows that the exploit was not only real, Ken still has the source code of it.
@PopeyeOtaku @kirtai Jeff Dionne has been looking to port bsd 2.11 to modern embedded hardware. (He was looking at discobsd for a while, but they broke stuff adding their overlays.)
@landley @kirtai the big difference with Popix is its intention to have extraordinarily slim required specs, and work with blocking device drivers