AhnTri
Super-simple OS (by AhnJihwan)
HackOS
This is a hobby operating system I'm currently developing. I have big hopes that it will eventually turn out to some kind of hacking toolset, but of course that is just the plan, and may turn out completely differently. (by Andrispowq)
AhnTri | HackOS | |
---|---|---|
19 | 10 | |
59 | 14 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | over 1 year ago | |
C | C | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
AhnTri
Posts with mentions or reviews of AhnTri.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-20.
-
Trying to upgrade to multiboot 2, the grub keeps giving me no multiboot header found error
This is my boot.S code and this is my update list on what was updated to what
-
2021 Q3 POST: ROADMAPS & PLANS
For the link, visit AhnTriOS Github.
- Are there anything besides paging that I can finish in a week?
-
How to make a filesystem and a driver
I was working on a PMM, and finally have created one, you can look up here --> https://github.com/AhnJihwan/AhnTri/blob/main/mm/pmm.c
-
FINALLY IT CAN DRAW A C
Hmm if you don't have it yet, u can consider mine XD https://github.com/AhnJihwan/AhnTri/blob/main/drivers/romfont.h
- Finished framebuffer!! ...and another pblm...
-
How to make the frambuffer.
Jihwan Ahn, 2021, https://github.com/AhnJihwan/AhnTri
-
How can I make a PIT(Programmable Interval Timer)?
I'm sorry to say this, If you know how, I will really be pleased to contribute a little. My code is updated, https://github.com/AhnJihwan/AhnTri/blob/main/drivers/timer.c , but it still needs some touch to print how much seconds passed. I have lack of knowledge of NASM, since I only know GAS, so I can't go more with the wiki. I've encountered a problem like these, so please help me... Thanks.
-
Makefile eror: I'm horrified what is going wrong.
https://github.com/AhnJihwan/AhnTri/blob/main/Makefile Why??
-
How to make an ATA USTAR NVMe AHCI driver
(If you know how, please comment or contribute to my OS AhnTri. link -> https://github.com/AhnJihwan/AhnTri)
HackOS
Posts with mentions or reviews of HackOS.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-20.
-
EXT2 2-stage bootloader for i386 written in assembly!
Sweet, its at https://github.com/Andrispowq/HackOS. I feel like the structure is self-explanatory, but if you need any help deciphering anything feel free to hit me up with a DM and I'll gladly help you!
-
Filesystem in bootloader
I could have something useful for you. What I have is basically a two-stage bootloader, where my first two stages are flat binaries, and the kernel is on a FAT32 filesystem in a different partition, but it looks it up at runtime. Look under boot/BIOS/stage_2/src at https://github.com/Andrispowq/HackOS, hope it can help!
-
Can I assign any virtual address as p_vaddr?
I dont recall this rule, you can check out my code, its jn C++ under kernel/src/proc, at https://github.com/Andrispowq/HackOS. My implementation works for me so you should be able to get it to work.
-
Bootloader is now printing "Hello, World" with GNU-EFI. What next?
I have a pretty complete UEFI bootloader here: https://github.com/Andrispowq/HackOS/blob/master/boot/UEFI/gnu-efi/bootloader/main.c, feel free to check it out. It may not be the most complete one out there, and the kernel can be booted from BIOS and UEFI, so if you're interested in that kind of stuff you can check that out as well. I followed PonchoOS's tutorial if you want to look it up it could be useful.
-
How to make a filesystem and a driver
To get started take a look at the fatgen103 document by Microsoft, which will be handy when implementing it. My own implementation in the kernel is at https://github.com/Andrispowq/HackOS/tree/kernel/src/fs/fat32. The separate implementation is at https://github.com/Andrispowq/FilesystemDrivers/tree/FAT32/src. Feel free to use the code for inspiration, although I wouldn't copy it altogether because that would not help learning. Good luck!
-
Problems with forking the paging tables for tasking
So anyway, I started out following James Molloy's tutorials, which has a solution for this, but it's protected mode code for 2-level paging, and I heard it's terrible, so I decided to start making up my own code. You can see the most important part under https://github.com/Andrispowq/HackOS/blob/master/kernel/src/arch/x86_64/paging/page_table_manager.cpp. The main problem is that the moment I switch the CR3's value during a task switch it instantly triple faults. I don't know if this is because the PML4 is created on a different virtual address than it's physical address (I'm uploading the PHYSICAL address), or because the tables are invalid for some reason.
-
Difference between things like ATA, PATA, ATA PIO, SATA, and how to use them
So, I've came to the point where I want to read and write from and to the disk. So far, my only conclusion is that INT 13H AL=02H or AL=42H pretty much works on everything, including emulators, and my own computer. However, after it, I'm pretty much clueless. I've got some ATA code from somewhere which works perfectly on QEMU, until I pass the -M q35 flag to use a Q35 machine, where it stops working. (The code is here: HackOS/ata.cpp at master · Andrispowq/HackOS (github.com)). Also, it doesn't work on my machine.
-
What is paging exactly?
Well, this is a long topic, and everyone does it differently. What I did was to not use the aligned attribute, because I can't define every page table in advance. Instead I request a page from the page frame allocator, which is guaranteed to be 4K aligned. To map virtual to physical and get the corresponding physical to virtual address, is an interesting thing. I can give you more info in half an hour, until then, take a look at my code, which is 64 bit, but the idea is the same: https://github.com/Andrispowq/HackOS. Go under kernel/arch/x86_64/paging to see the code.
-
Am I ready for osdev and what language and/or tutorials should I use to start my osdev journey?
One last thing: check out my github repo, you can use it as a reference. If you have questions, text me, here or in private, and I'll gladly help. https://github.com/Andrispowq/HackOS
-
Could not set a new video mode with VESA
On this line, you're looking at the wrong part of the VBE Info Block structure. The mode list pointer is at offset 14, not offset 18.
What are some alternatives?
When comparing AhnTri and HackOS you can also consider the following projects:
MoonOS - MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
FilesystemDrivers - This is a project which contains my filesystem drivers for my kernel. They are all tested here before being integrated with the OS.
Dreamos64 - My experiments with osdev... again
grub - GRand Unified Bootloader http://www.gnu.org/software/grub/grub.html
MyOS - towards a minimal os
MCP - The Minimal Control Program!
skift - 🥑 The delightful operating system.
upload-artifact
KessOS2 - KessOS, an minimal OS that you can enjoy and tinker with!
guess-the-number - A bare metal kernel with only Guess The Number