Not Just a kernel my dear, its a Lazy Kernel, its not the one who commands your computer, nah ah, it pretends it does, Mirix is meant to be an portable universal and multiplatform hosted kernel which runs as a userland application on any OS and even on Emacs.
First, get two UNIX PIDs- kiddin!! It is built in Lisp and compiled into Lisp bytecode, but not **Common Lisp** but **Emacs Lisp**, cuz y’know, so it can work in Emacs; And it has some Genera-like functions, like:
;; login as root (yes, Mirix has an root user and is UNIX-like)
(si:set-user 'root)
;; logged in (thats a shell, but also a lisp interpreter)
&root% #start
(defun hello ()
(si:writeln #'nolog "Hello, World!")) #end
NIL%
&root% (hello)
Hello, World!
;; also it has some built-in apis!
&root% #start
(require 'mirix/std)
(defun trylog ()
(si:syslog #'0)
(si:set-uid -1))
(defun logall ()
(std:writeln #'system-msg "Hello from Mirix!")
(trylog))
&root% (logall)
[1775088720] *0 (log) Hello from Mirix! (nil)Mirix just uses **make** (**GNU Make**) as its build system.
just run:
# build release, create rootfs, prepare rootfs for prefix, and use the C <-> ELisp bridge.
$ make RELEASE=1 MAKEROOTFS=1 ROOTPREFIX=/opt/mirix C2LISP=1
# build a basic C compiler (Lisp) **not even made yet**
$ make clangl PREFIX=/opt/mirix/sysBut note that it is recommended to run `eval-buffer` on **GNU Emacs** with `kernel/build.el` open. Since that script will politely ask Emacs to compile everything.