Commit graph

16 commits

Author SHA1 Message Date
b127a659bb This underwent some crazy scope creep. Just one more feature...
- Changed primary assembler to NASM. Specifically so I could use -
- Swapped start.s to intel syntax. I find it prettier. Learned a lot
  doing it tbh.
- Changed the name of the multiboot structures in C.
2025-06-10 23:41:51 -04:00
d97ec36f8c Half-baked commit, but i added a struct type for the tss and allocated
some memory for it in bss. Also put some space in for the gdt in rodata.
Need to leave now, so this broken build goes to the repo!
2025-06-10 09:17:21 -04:00
295e622fe1 Moved the kernel to the 1MB boundary in the linker script. Also did some
stuff with ccls for language server stuff.
2025-06-09 18:27:55 -04:00
745cf9045c Moved multiboot structs to kmultiboot.h 2025-06-08 22:44:17 -04:00
8734cd4da6 Added some functions, did some reorganizing.
kttools.h/c is a lib for converting types (only currently contains
i_to_str).

Also added a printf for i/o.
2025-06-08 16:18:06 -04:00
e8a6c514ad kernel tools split into kio (for i/o) and kttools (kernel type tools).
in general, kernel libraries will be marked with "k" in the beginning.
2025-06-08 01:27:41 -04:00
f39627ec51 Forgot to commit some gitignore changes, here. 2025-06-07 18:08:37 -04:00
5efb8d9fbc Moved i/o content to kerno.c
Added function for integer -> string (library pending)
Modified makefile to reflect use of include/ dir
2025-05-28 23:19:50 -04:00
5dd086565f Forgot to link libgcc. oops. That'll do. 2025-05-26 23:25:30 -04:00
7500299684 Refactoring of makefiles is here. Looks like a bit less of a mess,
thankfully.

Also now using `ld` and `as` instead of `gcc` for everything. Seems to
work OK for now - but may bite on the ass later. We'll see!
2025-05-26 22:42:41 -04:00
6423dc4610 Makefile is getting a little messy, i'll rework it later, probably.
Anyway, now:
make iso -> creates iso with bootloader
make run_iso -> runs iso in qemu
make run -> runs kernel without bootloader or img creation
2025-05-26 17:59:56 -04:00
6f0b585bfe Quick addition to the makefile, run_iso will build the ISO image and
then run the full image. As opposed to run, which will just run the
kernel from QEMU.
2025-05-26 17:46:55 -04:00
0831fb86e4 Added some framework to create a bootable ISO with grub as the
bootloader. Eventually the bootloader will be a submodule of this dir -
but for now GRUB works for boot.
2025-05-26 17:42:00 -04:00
1de036ad09 Updated readme. 2025-05-23 01:24:17 -04:00
aa4f5f070b First content commit. Added sample code hello world with personal
comments for study

Also made a makefile that can build and run the thing. Current run
method is directly from QEMU - but the makefile will later make an image
with a given bootloader.
2025-05-23 01:18:12 -04:00
4a25828031 Initial commit 2025-05-21 19:22:01 +00:00