83 lines
2.1 KiB
Text
83 lines
2.1 KiB
Text
--rawset(_G, "nativepullevent", os.pullEvent)
|
|
os.pullEvent = os.pullEventRaw
|
|
|
|
enableSleeps = true
|
|
function string2table(string_convert)
|
|
local table = {}
|
|
string_convert:sub(".",function(c) table.insert(table,c) end)
|
|
return table
|
|
end
|
|
|
|
if not term.isColour() then
|
|
printError("ofbl: OFBL and FREAX only supports")
|
|
printError("ofbl: advanced (pocket) computers")
|
|
sleep(3)
|
|
os.shutdown()
|
|
end
|
|
print("ofbl: conf: Loading")
|
|
if enableSleeps then sleep(0.3) else sleep(0.1) end
|
|
local config = {}
|
|
local name = nil
|
|
local initrd = nil
|
|
local kernel = nil
|
|
local kerneldraw = nil
|
|
if fs.exists("/boot/ofbl.conf") then
|
|
settings.load("/boot/ofbl.conf")
|
|
--config.oslist = string2table(settings.get("oslist"))
|
|
name = settings.get("os0.name")
|
|
initrd = settings.get("os0.initrd")
|
|
kernel = settings.get("os0.kernel")
|
|
kerneldraw = settings.get("os0.kerneldraw")
|
|
if name == nil then
|
|
print("ofbl: conf: name is null")
|
|
return
|
|
end
|
|
if initrd == nil then
|
|
print("ofbl: conf: initrd is null")
|
|
return
|
|
end
|
|
if kernel == nil then
|
|
print("ofbl: conf: kernel is null")
|
|
return
|
|
end
|
|
if kerneldraw == nil then
|
|
print("ofbl: conf: kerneldraw is null")
|
|
return
|
|
end
|
|
else
|
|
print("ofbl: conf: Not found")
|
|
return
|
|
end
|
|
print("ofbl: Copying kernel and initrd.img into RAM")
|
|
if enableSleeps then sleep(0.1) else sleep(0.1) end
|
|
fs.delete("/var/boot")
|
|
if not fs.isDir("/var") and not fs.exists("/var/boot") and not fs.isDir("/var/boot") then
|
|
fs.makeDir("/var")
|
|
fs.makeDir("/var/boot")
|
|
end
|
|
if fs.exists(kernel) then
|
|
if fs.exists(kerneldraw) then
|
|
if fs.exists(initrd) then
|
|
fs.copy(initrd,"/var/boot/initrd")
|
|
fs.copy(kernel,"/var/boot/kernel")
|
|
fs.copy(kerneldraw,"/var/boot/kerneldraw")
|
|
else
|
|
print("ofbl: " .. initrd .. " not found")
|
|
return
|
|
end
|
|
else
|
|
print("ofbl: " .. kerneldraw .. " not found")
|
|
return
|
|
end
|
|
else
|
|
print("ofbl: " .. kernel .. " not found")
|
|
return
|
|
end
|
|
if enableSleeps then sleep(1.95) else sleep(0.1) end
|
|
print("ofbl: Loading kernel")
|
|
if enableSleeps then sleep(3.25) else sleep(0.1) end
|
|
os.loadAPI("/var/boot/kernel")
|
|
os.loadAPI("/var/boot/kerneldraw")
|
|
print("ofbl: Loading initrd.img")
|
|
if enableSleeps then sleep(2.65) else sleep(0.1) end
|
|
shell.execute(initrd)
|