Octocontrabass wrote:
BOOTBOOT is much more limited than whichever bootloader you're using, so your linker script won't work with BOOTBOOT.
How so? Does it not like the high load VMA? Is that why bzt had a bee in his bonnet about -mcmodel=kernel? Anyway, I use my own adapters. The main kernel is linked with that script, and the adapters adapt their boot environment appropriately to this main kernel. I have one for multiboot that is ca. 600 lines of C and another 300 lines of ASM. The UEFI one is still under development.
Oh my god. I just had a look at BOOTBOOT's ELF loader. Talk about a hack. Every page that I turn, I find more questionable things there. So sorry zap8600, I don't think that script will work for you. There is one in the example kernel, tho.
zap8600 wrote:
I probably should have said that I'm using the tutorial as a base. The boot.S file also uses _start:.
Yes, I require you to think for yourself a bit. Obviously the Meaty Skeleton code will not work in a 64-bit environment as-is. You need to change it to fit the new environment. Now, one change is that with BOOTBOOT, your _start() symbol already has the stack setup, and you can just write it in C rather than ASM. So now you actually need to read that boot.S you pilfered to figure out what it is doing and whether you need to keep it or not.