|
- --#include "module/syslog.lua"
- --#include "module/sched.lua"
- --#include "module/buffer.lua"
- --#include "module/osutil.lua"
- --#include "module/fs.lua"
- --#include "module/io.lua"
- --#include "module/devfs.lua"
- --#include "module/devfs/syslog.lua"
- --#include "module/component-get.lua"
- --#include "module/loadfile.lua"
-
- _OSVERSION=_OSVERSION or "PsychOS 2"
-
- os.spawn(function()
- os.setenv("PWD","/boot")
- io.input("/dev/null")
- io.output("/dev/syslog")
- local f = io.open("/boot/cfg/hostname","rb")
- local hostname = computer.address():sub(1,8)
- if f then
- hostname = f:read("*l")
- f:close()
- end
- os.setenv("HOSTNAME",hostname)
- syslog(string.format("Hostname set to %s",hostname))
- local pids = {}
- local rc = require "rc"
- for k,v in pairs(rc.cfg.enabled) do
- pids[v] = -1
- end
- while true do
- for k,v in pairs(pids) do
- if not os.taskInfo(v) then
- syslog("Starting service "..k)
- pids[k] = rc.start(k)
- end
- end
- coroutine.yield()
- end
- end, "init")
-
- os.sched()
|