Hacker News new | ask | show | jobs
by fabriceleal 4262 days ago
How 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.
3 comments

I'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.

Good luck with it. You are on the path of having Smalltalk. :)
Can't edit the old answer, so adding a new one...

I found this: 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.

You 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/

Actually your 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 ?