Astral OS

Astral OS Used AI

20 devlogs
76h 24m
Created by CT5

A simple OS made in C++. It includes a lot of features, like a hybrid kernel (eventually) and a multi partition os. The code contains comments showing how everything works and which parts are AI.

Timeline

CT5
CT5
4h 21m 15 days ago

So far, Ive added a KernelDrivers Dir and given it functionality to put the drivers in initrd. Im trying to redo the Initial Ram FS system without AI, because the old one used AI fully.

Update attachment

Ship 1

0 payouts of shell 0 shells

CT5

23 days ago

CT5 Covers 19 devlogs

The time seems to have not merged. Anyway, the github repo now has proper testing info. If you want to test it, download the qcow2 file and put it in vbox. Give it at least 512mb.

Update attachment
CT5
CT5
1h 55m 25 days ago

I added a simple Block Device Class and fixed the PCI and PCIe classes. NOTE: PCIe IS UNTESTED.

Update attachment
CT5
CT5
10h 44m 25 days ago

I fixed the Page Frame Allocator, along with trying to fix other things, which failed.
Before, the Kernel required 4GB Minimum. After the Page Frame Allocator Fix, it now requires at least 512MB of ram. Its possible to get 256MB of ram, but it crashes.

Update attachment

I tried to optimize my kernel but every way I tried, I hit a dead end. At first, I was mapping every part of the ram, which caused my kernel to be unusable with any ram under 8G. Anyway, I was able to create a simple initrd cpio reader which can read the initrd from by uefi bootloader.

Update attachment
CT5
CT5
12h 3m 28 days ago

Im still having trouble with mapping and the stack. It fails after paging is enabled. Currently im disassembling the kernel to find the problem.

Update attachment

Turns out VirtualBox doesn't support PCIe, but PCI works. After a long time, I have finally ported my kernel to Higher Half. Mot of the addresses start at 0xFFFFFFFF00000000 and 0xFFFFFFFF80000000. This is to make the kernel more secure and to have full support for 32-bit apps.

Update attachment

For some reason, it cant find the MCFG table, possibly because my VM doesn't have PCIe Support.

Update attachment

Ok, the PCI took about 7 hours, because I partially implemented the PCI last time and now I have finished it. I still have to make the PCIe and MSIx, but that's for tomorrow.

Update attachment

Sorry for the Late Devlog. I needed to transfer files to my new PC and I also had issues with WSL. Anyways, I added the Heap Allocator and I partially made the PCI. Im hoping to finish it today.

Update attachment

Ok, so the ACPI was a pain to implement. The UEFI protocol seems to not have given me the exact correct Address for the RSDP. Once I realised that, there was another problem because of the unaligned XSDT.

Update attachment

I was finally able to test my I/O APIC by creating a Simple Keyboard Driver. I am going to implement a Keyboard Driver after I get my filesystem sorted. Then I can finally find a keyboard driver and Load it.

Update attachment

I added an I/O APIC. I just need to test this out. Hopefully this goes well.

Update attachment

I finally fixed the APIC and I also added the PIC class so that I can use that instead of the make shift remapping in the APIC class.

Update attachment

Still facing issues with the APIC.

Update attachment

Took me a while, but I got the APIC working. Now I just need to figure out how to test this thing.

Update attachment

I finally got the IDT working. Turns out you must separate the assembly sections to prevent the ISR's (Exception code) from running. I can now get exceptions for doing 1 / 0 and stuff like that. Although, writing to the kernel .text seems to not cause an exception. If you want a build, just ask me in Slack.

Update attachment

I added GDT. The layout uses a null Descriptor, Kernel Mode Code Segment, Kernel Mode Data Segment, User Mode Code Segment and a User Mode Data Segment.

Update attachment

Started on the GDT (Global Descriptor Table). Created the structs for the Segment Descriptor.

Update attachment

Tested Paging and Fixed Bugs with Page Frame Allocator and Page Table Manager.

Update attachment
fluffy fluffy about 2 months ago
Haiii! I see you’re doing an os project as well, theres only a few I’ve seen so far, you should message me, maybe we can work together! :3