init system changes #27
No files matched your search
@@ -155,6 +155,9 @@ local function newtty(addr)
|
|||||||
end,
|
end,
|
||||||
gplt=function()
|
gplt=function()
|
||||||
return plt
|
return plt
|
||||||
|
end,
|
||||||
|
gfx=function()
|
||||||
|
return false
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
if mode=="rw" then
|
if mode=="rw" then
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ if kernel.status=="reboot" then
|
|||||||
elseif kernel.status=="halt" then
|
elseif kernel.status=="halt" then
|
||||||
kernel.log("System halted.")
|
kernel.log("System halted.")
|
||||||
kernel.saveLog()
|
kernel.saveLog()
|
||||||
while true do end
|
while true do EFI:yield() end
|
||||||
else
|
else
|
||||||
EFI.status="shutdown"
|
EFI.status="shutdown"
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -694,7 +694,7 @@ function vfs.open(path, mode)
|
|||||||
if disk:type(diskPath) ~= "directory" then
|
if disk:type(diskPath) ~= "directory" then
|
||||||
handle = disk:open(diskPath, mode)
|
handle = disk:open(diskPath, mode)
|
||||||
if type(handle, true) ~= "table" then
|
if type(handle, true) ~= "table" then
|
||||||
error("ENFILE")
|
error("ENFILE".." KERR="..type(handle,true))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,17 @@ if not initFunc then kernel.PANIC("Failed to load init system: " .. err) end
|
|||||||
|
|
||||||
kernel.tasks["1"] = {
|
kernel.tasks["1"] = {
|
||||||
coro = coroutine.create(function()
|
coro = coroutine.create(function()
|
||||||
|
for i,v in pairs(kernel.processes) do
|
||||||
|
kernel.log("Spawning kernel task "..i)
|
||||||
|
syscall.spawn(function()
|
||||||
|
local status, err = pcall(v)
|
||||||
|
if not status then
|
||||||
|
kernel.log("Error executing kernel task '" .. i .. "': " .. err, "ERROR", 0xFF0000)
|
||||||
|
else
|
||||||
|
kernel.log("Successfully executed kernel task: " .. i)
|
||||||
|
end
|
||||||
|
end, i, nil,nil,nil,true)
|
||||||
|
end
|
||||||
local ok, err = xpcall(initFunc, debug.traceback, kernel)
|
local ok, err = xpcall(initFunc, debug.traceback, kernel)
|
||||||
if not ok then
|
if not ok then
|
||||||
kernel.panic("Init system crashed: " .. tostring(err))
|
kernel.panic("Init system crashed: " .. tostring(err))
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
local args={...}
|
|
||||||
syscall.remove("/sbin/init")
|
|
||||||
syscall.symlink("/usr/lib/sysinit/sysinit", "/sbin/init")
|
|
||||||
syscall.exec("/sbin/init", args)
|
|
||||||
@@ -5,18 +5,6 @@ kernel.saveLog()
|
|||||||
local fs=require("fs")
|
local fs=require("fs")
|
||||||
kernel.log("Loaded fs")
|
kernel.log("Loaded fs")
|
||||||
|
|
||||||
for i,v in pairs(kernel.processes) do
|
|
||||||
kernel.log("Spawning kernel task "..i)
|
|
||||||
syscall.spawn(function()
|
|
||||||
local status, err = pcall(v)
|
|
||||||
if not status then
|
|
||||||
kernel.log("Error executing kernel task '" .. i .. "': " .. err, "ERROR", 0xFF0000)
|
|
||||||
else
|
|
||||||
kernel.log("Successfully executed kernel task: " .. i)
|
|
||||||
end
|
|
||||||
end, i, nil,nil,nil,true)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- config file path setup
|
-- config file path setup
|
||||||
if not fs.exists("/etc/sysinit/") then
|
if not fs.exists("/etc/sysinit/") then
|
||||||
kernel.log("Creating conf path")
|
kernel.log("Creating conf path")
|
||||||
|
|||||||
@@ -8,6 +8,6 @@
|
|||||||
],
|
],
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"hash": "e7a2e5822cbf1e4e154014a3b4f97bb2",
|
"hash": "f2a112c3828345702e2c420f6bab6d5f",
|
||||||
"tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/Hyperion-firmware-oc.tar.gz"
|
"tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/Hyperion-firmware-oc.tar.gz"
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,6 @@
|
|||||||
],
|
],
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"hash": "a72b269600fc4120ca93df599c519788",
|
"hash": "fda2d814a7c3cc1ec532175192101573",
|
||||||
"tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/Hyperion-kernel.tar.gz"
|
"tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/Hyperion-kernel.tar.gz"
|
||||||
}
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -7,6 +7,6 @@
|
|||||||
],
|
],
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"hash": "8c4a3ffcf86326bb0c07338060bb7727",
|
"hash": "61dd459f48f7f8fabb6b649331d87886",
|
||||||
"tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/sysinit.tar.gz"
|
"tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/sysinit.tar.gz"
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user