diff --git a/Src/Hyperion-firmware-oc/data/lib/modules/opencomputers/25_tty.kmod b/Src/Hyperion-firmware-oc/data/lib/modules/opencomputers/25_tty.kmod index 4c9b525..762d40e 100644 --- a/Src/Hyperion-firmware-oc/data/lib/modules/opencomputers/25_tty.kmod +++ b/Src/Hyperion-firmware-oc/data/lib/modules/opencomputers/25_tty.kmod @@ -155,6 +155,9 @@ local function newtty(addr) end, gplt=function() return plt + end, + gfx=function() + return false end } if mode=="rw" then diff --git a/Src/Hyperion-kernel/data/boot/kernel.lua b/Src/Hyperion-kernel/data/boot/kernel.lua index 1af0fcb..d2e7fff 100644 --- a/Src/Hyperion-kernel/data/boot/kernel.lua +++ b/Src/Hyperion-kernel/data/boot/kernel.lua @@ -507,7 +507,7 @@ if kernel.status=="reboot" then elseif kernel.status=="halt" then kernel.log("System halted.") kernel.saveLog() - while true do end + while true do EFI:yield() end else EFI.status="shutdown" return true diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/10_vfs.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/10_vfs.kmod index 834a65e..7a71325 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/10_vfs.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/10_vfs.kmod @@ -694,7 +694,7 @@ function vfs.open(path, mode) if disk:type(diskPath) ~= "directory" then handle = disk:open(diskPath, mode) if type(handle, true) ~= "table" then - error("ENFILE") + error("ENFILE".." KERR="..type(handle,true)) end end diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod index eb7d3b7..f3ffc74 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod @@ -19,6 +19,17 @@ if not initFunc then kernel.PANIC("Failed to load init system: " .. err) end kernel.tasks["1"] = { 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) if not ok then kernel.panic("Init system crashed: " .. tostring(err)) diff --git a/Src/sysinit/data/sbin/init b/Src/sysinit/data/sbin/init deleted file mode 100644 index 5071168..0000000 --- a/Src/sysinit/data/sbin/init +++ /dev/null @@ -1,4 +0,0 @@ -local args={...} -syscall.remove("/sbin/init") -syscall.symlink("/usr/lib/sysinit/sysinit", "/sbin/init") -syscall.exec("/sbin/init", args) \ No newline at end of file diff --git a/Src/sysinit/data/usr/lib/sysinit/sysinit b/Src/sysinit/data/usr/lib/sysinit/sysinit index f331dd6..1767adf 100644 --- a/Src/sysinit/data/usr/lib/sysinit/sysinit +++ b/Src/sysinit/data/usr/lib/sysinit/sysinit @@ -5,18 +5,6 @@ kernel.saveLog() local fs=require("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 if not fs.exists("/etc/sysinit/") then kernel.log("Creating conf path") diff --git a/packages/Hyperion-firmware-oc.pkg b/packages/Hyperion-firmware-oc.pkg index 6de71eb..396bf17 100644 --- a/packages/Hyperion-firmware-oc.pkg +++ b/packages/Hyperion-firmware-oc.pkg @@ -8,6 +8,6 @@ ], "dependencies": [], "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" } diff --git a/packages/Hyperion-kernel.pkg b/packages/Hyperion-kernel.pkg index 1134303..06ac8eb 100644 --- a/packages/Hyperion-kernel.pkg +++ b/packages/Hyperion-kernel.pkg @@ -8,6 +8,6 @@ ], "dependencies": [], "version": "1.5.0", - "hash": "a72b269600fc4120ca93df599c519788", + "hash": "fda2d814a7c3cc1ec532175192101573", "tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/Hyperion-kernel.tar.gz" } diff --git a/packages/raw/Hyperion-firmware-oc.tar.gz b/packages/raw/Hyperion-firmware-oc.tar.gz index c8f6fd8..b0ee6dc 100644 Binary files a/packages/raw/Hyperion-firmware-oc.tar.gz and b/packages/raw/Hyperion-firmware-oc.tar.gz differ diff --git a/packages/raw/Hyperion-kernel.tar.gz b/packages/raw/Hyperion-kernel.tar.gz index 750c680..0c57780 100644 Binary files a/packages/raw/Hyperion-kernel.tar.gz and b/packages/raw/Hyperion-kernel.tar.gz differ diff --git a/packages/raw/sysinit.tar.gz b/packages/raw/sysinit.tar.gz index 812fcdc..9b241a4 100644 Binary files a/packages/raw/sysinit.tar.gz and b/packages/raw/sysinit.tar.gz differ diff --git a/packages/sysinit.pkg b/packages/sysinit.pkg index 87eec79..c60082f 100644 --- a/packages/sysinit.pkg +++ b/packages/sysinit.pkg @@ -7,6 +7,6 @@ ], "dependencies": [], "version": "1.1.0", - "hash": "8c4a3ffcf86326bb0c07338060bb7727", + "hash": "61dd459f48f7f8fabb6b649331d87886", "tarball": "https://git.astronand.dev/Hyperion/HyperionOS/raw/branch/main/packages/raw/sysinit.tar.gz" }