ReturnInfinity/Pure64

Writing software?

maxbrito opened this issue · 2 comments

Apologies for the ignorance but the site isn't clear enough for the less informed on this topic. But how is software written and loaded into Pure64?

We use assembler? a specific compiler output?
Possible to port already existing tools?

Thanks

Hello @maxbrito!

I believe there has been an improvement in the documentation since you opened this issue.

Here's my answers to your questions, as best as I can give them.

Do you use an assembler or specific compiler ouput?

You can, but you don't have to. We use an assembler for the kernel, but you could use C if you wanted to. For C code, I would suggest GCC. If you have written a kernel in C, called kernel.c, then you would compile it like this:

gcc kernel.c -o kernel -mno-red-zone -fomit-frame-pointer -fno-stack-protector

If you have an assembly file, then you just assemble it sort of like this:

nasm kernel.asm -o kernel

Once you have the kernel, you can copy it to the Pure64 file system (see the link I provided for more documentation.)

Is it possible to port already existing tools?

I personally don't have much experience with other boot loaders, so perhaps I can't answer that very well. I don't think it would be very hard to port, though. I guess it depends on how heavily your kernel depends on your boot loader.

Here's a draft of the manual for the next release. While a lot of it is documentation of the internal API, the first few pages might help you out.

refman.pdf

@maxbrito I believe that, between the documentation that @IanSeyler and I wrote, you'll find that this is no longer an issue. If it is, please reopen the issue. Thanks.