diff --git a/src/main/resources/assets/opencomputers/loot/openos/boot/02_os.lua b/src/main/resources/assets/opencomputers/loot/openos/boot/02_os.lua index 6bf181c4c..5a40d04bf 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/boot/02_os.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/boot/02_os.lua @@ -62,5 +62,5 @@ os.setenv("TMP", "/tmp") -- Deprecated os.setenv("TMPDIR", "/tmp") if computer.tmpAddress() then - fs.mount(computer.tmpAddress(), os.getenv("TMPDIR") or "/tmp") + fs.mount(computer.tmpAddress(), "/tmp") end diff --git a/src/main/resources/assets/opencomputers/loot/openos/boot/03_io.lua b/src/main/resources/assets/opencomputers/loot/openos/boot/03_io.lua index f223b0d00..45333ccb0 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/boot/03_io.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/boot/03_io.lua @@ -8,7 +8,7 @@ local core_stderr = buffer.new("w", setmetatable( write = function(_, str) return tty_stream:write("\27[31m"..str.."\27[37m") end - }, {__index=tty_stream})) +}, {__index=tty_stream})) core_stdout:setvbuf("no") core_stderr:setvbuf("no") diff --git a/src/main/resources/assets/opencomputers/loot/openos/boot/90_filesystem.lua b/src/main/resources/assets/opencomputers/loot/openos/boot/90_filesystem.lua index 044c4b070..03506eaa1 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/boot/90_filesystem.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/boot/90_filesystem.lua @@ -1,11 +1,12 @@ local event = require("event") local fs = require("filesystem") local shell = require("shell") +local tmp = require("computer").tmpAddress() local pendingAutoruns = {} local function onComponentAdded(_, address, componentType) - if componentType == "filesystem" and require("computer").tmpAddress() ~= address then + if componentType == "filesystem" and tmp ~= address then local proxy = fs.proxy(address) if proxy then local name = address:sub(1, 3) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_filesystem.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_filesystem.lua index 1be34ca5b..108373619 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_filesystem.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_filesystem.lua @@ -184,6 +184,7 @@ local function bind_proxy(path) end end local bind = { + type = "filesystem_bind", address = real, isReadOnly = real_fs.isReadOnly, list = wrap_relative(real_fs.list), @@ -192,6 +193,7 @@ local function bind_proxy(path) lastModified = wrap_relative(real_fs.lastModified), exists = wrap_relative(real_fs.exists), open = wrap_relative(real_fs.open), + remove = wrap_relative(real_fs.remove), read = real_fs.read, write = real_fs.write, close = real_fs.close, diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/install_basics.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/install_basics.lua index fd6bfa30e..ef6f57346 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/install_basics.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/install_basics.lua @@ -61,10 +61,15 @@ local targets = {} -- tmpfs is not a candidate unless it is specified +local comps = require("component").list("filesystem") local devices = {} +-- not all mounts are components, only use components for dev, path in fs.mounts() do - devices[dev] = devices[dev] and #devices[dev] < #path and devices[dev] or path + if comps[dev.address] then + local known = devices[dev] + devices[dev] = known and #known < #path and known or path + end end local dev_dev = fs.get("/dev")