PopeGregoryIX / caracal

Operating System Development
0 stars 0 forks source link

Create Bootstrap Binary #12

Closed PopeGregoryIX closed 1 year ago

PopeGregoryIX commented 1 year ago

BootBoot is leading to some restrictions. The kernel has to be in the top of memory -1G (making it more difficult for fractal paging - not necessary due to physical memory being mapped in, but still a restriction), plus the forgiving nature of BootBoot with its default memory mapping has led to a few bugs being detected later than they should.

The BootstrapBinary can be loaded by a number of different stage 1 loaders, will un-tar the initrd, relocate the kernel, set up some environment features and then load the main kernel. It will do things such as set up a GDT per core (in the way Caracal kernel expects to see GDT's), clear out lower memory space etc...