OC-PsychOS2/module/init.lua

42 lines
945 B
Lua
Raw Normal View History

2019-10-27 23:34:02 +11:00
--#include "module/syslog.lua"
2019-10-27 02:40:25 +11:00
--#include "module/sched.lua"
--#include "module/buffer.lua"
--#include "module/osutil.lua"
2019-10-27 02:40:25 +11:00
--#include "module/fs.lua"
--#include "module/io.lua"
2019-10-27 23:34:02 +11:00
--#include "module/devfs.lua"
--#include "module/devfs/syslog.lua"
2019-10-27 02:40:25 +11:00
--#include "module/loadfile.lua"
2020-03-18 01:11:53 +11:00
--#include "module/vt-task.lua"
2020-03-18 01:31:44 +11:00
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
dprint(v)
2020-03-18 01:31:44 +11:00
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)
2020-03-18 01:31:44 +11:00
end
end
coroutine.yield()
end
end, "init")
2019-10-27 23:34:02 +11:00
os.sched()