Email or username:

Password:

Forgot your password?
Top-level
theruran 🌐🏴

@janneke @bugaevc The folks in #bootstrappable @liberachat are working towards resolving those questions. A POSIX kernel capable of building Linux, and a bootstrap from UEFI are some projects off the top of my head.

They want to get to a FPGA softcore bootstrap, then a manually constructed CPU in TTL to bootstrap from.

But yeah, there are many parts to work on that would improve our (collective) situation, such as bootstrapping GHC: @nomeata mastodon.online/@nomeata/11026

6 comments
Sergey Bugaev

@theruran @janneke I was thinking something along these lines:

find an "open source hardware" board where you can somehow verify the hardware aren't playing games on you (in particular not running all of your code in a nearly undetectable hypervisor, like we know Intel does...), probably some RISC-V board

Sergey Bugaev

@theruran @janneke

run you bootstrapping code on it with no OS whatsoever; hopefully it doesn't need much from the OS

you'd have to build in a serial driver or something like that (blinking LEDs is cool but you can't input program source this way), not that I have any idea about hardware

theruran 🌐🏴

@bugaevc @janneke and #GNUHurd could be another approach, right? it can host GCC to build Linux already?

Sergey Bugaev

@theruran @janneke the Hurd surely can run GCC and cross-compile Linux; but I'm not sure you would be winning much, for two reasons:

1. It's nowhere near as trivial to do "syscalls" as on Linux — on Linux you place some values into some registers and perform "int 0x80" or "syscall", and that's it, you've called write or exit. On the Hurd, these all are implemented in glibc on top of Mach IPC, and that needs quite a lot of code to happen.

Sergey Bugaev

@theruran @janneke Here's a project of mine where I simply print "Hello world" without relying on glibc: github.com/bugaevc/hello-hurd — but that too is written in C, imagine writing it all in hex.

2. Linux is huge, but you can build it in a minimal configuration (see tiny.wiki.kernel.org/). Mach may be a microkernel, but it's minimal in functionality, not size. In fact it's a meme in the microkernel community just how large for a microkernel Mach is. But I don't have any numbers to quantify this.

Go Up