To rebuild the Lua interpreter, you need the Lua source distribution (of course), and the uClibc library. The uClibc library is used to provide routines needed by the downloadable interpreter. uClibc can be found here: http://www.uclibc.org The version used was 0.9.16. You need to build with MMU enabled and no shared libraries, otherwise it will use mmap instead of sbrk to obtain more memory (which we don't support) and will not create a libc.a without shared library hooks (which we also don't support). Lua can be found here: http://www.tecgraf.puC-rio.br/lua/ The version used is 4.0.1. You need to build a luac compiler separately, say in /usr/local. You will need to build it with LUA_NUM_TYPE=long (in config) and NUMBER_FMT=%ld. This is not the default as distributed. If you don't change the settings as shown, then you will get a sizeof mismatch when you try to execute Lua binary scripts. (To fix this to use the default of LUA_NUM_TYPE=double, I need to figure out how to implement %g in printf.) Then unpack Lua again in the directory above this one and then apply the patch in this directory to it. I.e., if you have the distribution in /usr/local/src/lua-4.0.1.tar.gz, tar zxvf /usr/local/src/lua-4.0.1.tar.gz cd lua-4.0.1 patch -p1 < ../luabuild/luapatch.txt make and hopeully everything will compile ok. If not, check the settings in config and the various Makefiles. The program is in lua-4.0.1/bin/lua, which is copied to lua and thence to the library directory by a make install on mknbi.