3 ms·
On the topic of experimental OSes: https://github.com/ayourtch/ayos https://github.com/ayourtch/ayos a little experiment of my own to see what happens if I pu
by ay 12y ago
On the topic of experimental OSes:
https://github.com/ayourtch/ayos https://github.com/ayourtch/ayos
a little experiment of my own to see what happens if I put Lua on bare metal (currently KVM-only) in x86_64 mode.
Lots of fun to toy with, though it does not do much yet.
- fabriceleal 12y agoHow are you handling libc? you have your own (or is this even an issue with Lua)? I've been thinking of putting a Common Lisp implementation on bare metal (initially thinking of SBCL, but I think MKCL may be a easier challenge), but haven't found the time to start yet.
- ay 12y agoI've grabbed the missing routines from musl libc (and culled some parts of the Lua standard library for the sake of reducing the number of requirements, e.g. io.*), and used venerable Doug Lea's malloc for memory allocations. The stock Lua 5.1 has the least number of dependencies, so I picked it - the idea is to practice and then to eventually have LuaJIT run on bare metal.
- pjmlp 12y agoGood luck with it. You are on the path of having Smalltalk. :)
- ay 12y agoCan't edit the old answer, so adding a new one... I found this: https://code.google.com/p/lualisp/ https://code.google.com/p/lualisp/ - could be fun to get it atop. I'll see next time when I am in the mood for hacking on it.
- justincormack 12y agoYou can use the NetBSD rump kernel [1] to do this relatively easily - I have run LuaJIT on Xen using this and there is now a bare metal implementation too. [1] http://rumpkernel.org/ http://rumpkernel.org/
- ay 12y agoActually your https://github.com/justincormack/rumpuser-xen https://github.com/justincormack/rumpuser-xen was the original inspiration for me :-) Back when I started (sometime in May), rump did not run on "bare metal" yet, so I decided to reinvent a bicycle of my own. Also, looks like it's running in 32-bit mode ?