forked from Hyperion/HyperionOS
22 lines
956 B
Plaintext
22 lines
956 B
Plaintext
local args = {...}
|
|
local kernel = args[1]
|
|
kernel.log("Loading third party drivers")
|
|
for _,subf in ipairs(kernel.fs.list("/lib/modules/")) do
|
|
if kernel.fs.isDir("/lib/modules/"..subf) then
|
|
if subf~="Hyperion" then
|
|
for _,driver in ipairs(kernel.fs.list("/lib/modules/"..subf)) do
|
|
kernel.log("Compiling driver \""..subf..":"..driver.."\"")
|
|
local code = kernel.fs.readAllText("/lib/modules/"..subf.."/"..driver)
|
|
local func, err = load(code, "@"..driver)
|
|
if not func then
|
|
kernel.log("DriverCompileErr: "..tostring(err), "ERROR")
|
|
else
|
|
local ok, err = xpcall(func, debug.traceback, table.unpack(args))
|
|
if not ok then
|
|
kernel.log("DriverExecErr: "..tostring(err), "ERROR")
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end |