duskos

dusk os fork
git clone git://git.alexwennerberg.com/duskos
Log | Files | Refs | README | LICENSE

commit acf215b863ecad5d1e482161a9ea94befccb4636
parent 2899c17528a28ed6413509d1ba3f25ee0f8b7190
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Fri, 27 Jan 2023 10:25:59 -0500

Update README

Diffstat:
MREADME.md | 26++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md @@ -54,7 +54,7 @@ bootstrap itself some more. With regards to "source bootstrapping", it's even more extreme than Collapse OS because modern machines allows this process to run quickly and the whole -process is not much slower than a regular Linux boot. On Collapse OS target +process is still faster than a regular Linux boot. On Collapse OS target machines, this process would be prohibitive, so a bigger part of the OS is cross-compiled into the kernel. @@ -71,7 +71,7 @@ type are simple Forth words. Dusk OS self-hosts in about 1000 lines of assembly and a few hundred lines of Forth (the exact number depends on the target machine). From there, it -bootstraps to DuskCC, which is roughly 3000 lines of Forth code (including +bootstraps to DuskCC, which is roughly 2000 lines of Forth code (including arch-specific backend and assembler). To my knowledge, Dusk OS is unique in that regard. @@ -143,7 +143,7 @@ higher cognitive space to fit BSD/Linux wider abstractions in your mind. * Has a VM written in C, buildable from a POSIX environment, which allows Dusk to build itself for any of its supported targets. -* Has an ["almost C" compiler][duskcc] which still needs a lot of work, but is +* Has an ["almost C" compiler][duskcc] which still needs some work, but is already capable of compiling a nice subset of C. * It can run bare metal on some PCs (and QEMU, of course). It has drivers (in various state of sophistication) for: @@ -160,8 +160,8 @@ higher cognitive space to fit BSD/Linux wider abstractions in your mind. * Can create new FAT12 volumes. * It completely self-hosts on all its target (only PC for now) machines. * Did I mention that the *whole* code for Dusk OS and its ported applications - (excluding docs and test code) is less than 13K lines of code and that DuskCC - is less than 1400 lines of code? + (excluding docs and test code) is less than 13K lines of code and that DuskCC, + including its assemblers, is 2000 lines? * Since `text/ed` has reached a usable status, the main author of Dusk has been developing it from within itself on an old Pentium 75 Mhz with 16mb of RAM and he's having a blast. @@ -213,18 +213,16 @@ that. To avoid that, you can invoke it like this: `make run` does this for you. -## Deploying to a real machine +## Running on QEMU or bare metal -`make run` builds and runs a binary designed to work on a POSIX platform, but -if you want to build binaries designed to run on bare metal, it's another -matter. +Running Dusk under the POSIX VM is fine, but severly limited: the filesystem is +read-only and there is no Grid (text UI system) or Screen (graphical system). -For now, only the x86 PC platform is supported and can be built with -`make pc.img`. If you have QEMU installed, you can run it right away with -`make pcrun`. +To see a fully-featured Dusk, it's better to run it on an actual machine or, if +you're in a hurry, under QEMU. You can do the latter with `make pcrun`. -To deploy that image on a real machine, it's a bit more involving and you should -read `doc/deploy.txt`. +To deploy Dusk on a real machine, it's a bit more involving and you should read +`doc/deploy.txt`. ## See what it can do