add rogue submodule and support for compiling, some cleanup
This commit is contained in:
parent
a060b65bb9
commit
3eb51f7d4e
9 changed files with 132 additions and 7 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/python3
|
||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||
# Copyright 2021-2024 Sebastian Lederer. See the file LICENSE.md for details
|
||||
# Copyright 2021-2025 Sebastian Lederer. See the file LICENSE.md for details
|
||||
|
||||
import struct
|
||||
import sys
|
||||
|
|
@ -372,6 +372,31 @@ def writetoimg(img, pathname, infilepath):
|
|||
putfile(infilepath, filename, img, vol, vol.startBlock, slotno)
|
||||
|
||||
|
||||
def initfs(f, partno):
|
||||
part = getpartslot(f, partno)
|
||||
partstart = part.startBlock
|
||||
dir_slots = part.dirSize
|
||||
extent_size = part.extentSize
|
||||
slots_per_extent = extent_size // 64
|
||||
reserved_slots = dir_slots // slots_per_extent
|
||||
|
||||
print()
|
||||
print("Partition {} at {}".format(part.name, part.startBlock))
|
||||
|
||||
print("creating",reserved_slots, "reserved directory slots")
|
||||
for a in range(0,reserved_slots):
|
||||
d = createdirslot("DIR", SlotReserved, 0, 0, 0, 0, 0)
|
||||
putdirslot(f, partstart, a, d)
|
||||
|
||||
print("creating", dir_slots - reserved_slots, "free slots")
|
||||
|
||||
for a in range(reserved_slots, dir_slots):
|
||||
d = createdirslot("", SlotFree, 0, 0, 0, 0, 0)
|
||||
putdirslot(f, partstart, a, d)
|
||||
|
||||
return (part, partstart, reserved_slots)
|
||||
|
||||
|
||||
def create_image_with_stuff(imgfile):
|
||||
bootimage = "../lib/coreloader.prog"
|
||||
dir_slots = 256
|
||||
|
|
@ -381,22 +406,27 @@ def create_image_with_stuff(imgfile):
|
|||
|
||||
f = open(imgfile,"w+b")
|
||||
|
||||
b = createpart("PHYS", PartPhysical, 0, 12288, 4096, 0, 0)
|
||||
b = createpart("PHYS", PartPhysical, 0, 16384, 4096, 0, 0)
|
||||
#print(b)
|
||||
f.write(b)
|
||||
|
||||
with open(bootimage, "rb") as bf:
|
||||
bootdata = bf.read()
|
||||
bootBlocks = len(bootdata) // 512 + 1
|
||||
|
||||
b = createpart("BOOT", PartBoot, 16, 112, 0, 0, bootBlocks)
|
||||
f.write(b)
|
||||
|
||||
b = createpart("Testvolume 1", PartEnabled, 128, 3968, 8192, 248)
|
||||
f.write(b)
|
||||
|
||||
b = createpart("SYSTEM", PartEnabled, 4096, 4096, 8192, 256)
|
||||
f.write(b)
|
||||
|
||||
b = createpart("Examples", PartEnabled + PartLast, 8192, 4096, 8192, 256)
|
||||
b = createpart("Examples", PartEnabled, 8192, 4096, 8192, 256)
|
||||
f.write(b)
|
||||
|
||||
b = createpart("Rogue", PartEnabled + PartLast, 12288, 4096, 8192, 256)
|
||||
f.write(b)
|
||||
|
||||
part = getpartslot(f, 2)
|
||||
|
|
@ -572,7 +602,6 @@ def create_image_with_stuff(imgfile):
|
|||
slotnr = putfile("../examples/lines.pas", None , f, part, partstart, slotnr)
|
||||
|
||||
slotnr = putfile("../examples/pictviewer.pas", None , f, part, partstart, slotnr)
|
||||
# slotnr = putfile("viewpict.prog", None , f, part, partstart, slotnr)
|
||||
slotnr = putfile("../examples/ara.pict", "ara.pict" , f, part, partstart, slotnr)
|
||||
slotnr = putfile("../examples/shinkansen.pict", "shinkansen.pict" , f, part, partstart, slotnr)
|
||||
slotnr = putfile("../examples/snow_leopard.pict", "snow_leopard.pict" , f, part, partstart, slotnr)
|
||||
|
|
@ -581,6 +610,13 @@ def create_image_with_stuff(imgfile):
|
|||
|
||||
listdir(f, part)
|
||||
|
||||
part, partstart, slotnr = initfs(f, 5)
|
||||
slotnr = putfile("../rogue/rogue.init", None, f, part, partstart, slotnr)
|
||||
slotnr = putfile("../rogue/rogue.message", None, f, part, partstart, slotnr)
|
||||
slotnr = putfile("../rogue/rogue.prog", None, f, part, partstart, slotnr)
|
||||
|
||||
listdir(f, part)
|
||||
|
||||
write_bootimage(f, 16, bootdata)
|
||||
|
||||
f.close()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue