early work on OpenOS bootstrapping
This commit is contained in:
parent
c52a0ee2ac
commit
0aa574ea7a
@ -12,6 +12,14 @@ For installing to an unmanaged drive or tape
|
|||||||
- rtfs
|
- rtfs
|
||||||
- boopu
|
- boopu
|
||||||
|
|
||||||
|
There are two easy methods to get these packages.
|
||||||
|
1. With oppm, if available, you can run `oppm install mtar partman rtfs boopu`.
|
||||||
|
2. You can use the `obootstrap.lua` script to set up a temporary environment for installing PsychOS. This can even be used from the OpenOS installer disk.
|
||||||
|
```
|
||||||
|
# wget https://git.shadowkat.net/izaya/OC-PsychOS2/raw/branch/master/obootstrap.lua /tmp/obootstrap.lua
|
||||||
|
# /tmp/obootstrap.lua
|
||||||
|
```
|
||||||
|
|
||||||
### Preparing the target disk
|
### Preparing the target disk
|
||||||
#### Managed filesystem
|
#### Managed filesystem
|
||||||
Preparing a managed filesystem is extremely simple: attach it to your computer, and make sure there's nothing that you want to keep in the following locations on the filesystem:
|
Preparing a managed filesystem is extremely simple: attach it to your computer, and make sure there's nothing that you want to keep in the following locations on the filesystem:
|
||||||
|
31
obootstrap.lua
Normal file
31
obootstrap.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
local fs = require "filesystem"
|
||||||
|
|
||||||
|
local wdir = "/tmp/psbootstrap"
|
||||||
|
local dlfiles = {
|
||||||
|
["/lib/libmtar.lua"] = "https://git.shadowkat.net/izaya/OC-misc/raw/branch/master/mtar/libmtar.lua",
|
||||||
|
["/lib/fs/rtfs/init.lua"] = "https://git.shadowkat.net/izaya/PsychOSPackages/raw/branch/master/rtfs/lib/fs/rtfs/init.lua",
|
||||||
|
["/lib/fs/rtfs/v1.lua"] = "https://git.shadowkat.net/izaya/PsychOSPackages/raw/branch/master/rtfs/lib/fs/rtfs/v1.lua",
|
||||||
|
["/lib/diskpart.lua"] = "https://git.shadowkat.net/izaya/PsychOSPackages/raw/branch/master/diskpart/lib/diskpart.lua",
|
||||||
|
["/etc/rc.d/partman.lua"] = "https://git.shadowkat.net/izaya/OC-misc/raw/branch/master/partition/OpenOS/etc/rc.d/partman.lua",
|
||||||
|
["/bin/slicer.lua"] = "https://git.shadowkat.net/izaya/PsychOSPackages/raw/branch/master/slicer/exec/slicer.lua",
|
||||||
|
["/bin/boopu.lua"] = "https://git.shadowkat.net/izaya/PsychOSPackages/raw/branch/master/boopu/exec/boopu.lua",
|
||||||
|
}
|
||||||
|
|
||||||
|
local function run(cmd)
|
||||||
|
print(cmd)
|
||||||
|
os.execute(cmd)
|
||||||
|
end
|
||||||
|
|
||||||
|
print("Downloading and linking files...")
|
||||||
|
for k,v in pairs(dlfiles) do
|
||||||
|
local tpath = string.format("%s/%s", wdir, k)
|
||||||
|
local isdir = fs.isDirectory(fs.path(tpath)) or fs.makeDirectory(fs.path(tpath))
|
||||||
|
run(string.format("wget '%s' '%s'", v, tpath))
|
||||||
|
local lt = k
|
||||||
|
while not fs.isDirectory(fs.path(lt)) and not fs.isLink(fs.path(lt)) do
|
||||||
|
lt = fs.path(lt)
|
||||||
|
end
|
||||||
|
if fs.get(tpath) ~= fs.get(lt) then
|
||||||
|
run(string.format("ln '%s/%s' '%s'", wdir, lt, lt))
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user