Caution
Don't run it in real machine because it's now in test
If Build Failed, please open an issue or contact me
The General Build Faild reason is you don't have install the required dependencies
[OR] You are building for unsupported architecture
[OR] The 'GNUmakefile' file name fail (Try to rename as 'GNUMakefile')
Important
Make sure you have install these software in linux
- gcc (VER > 10)
- binutil
- xorriso
- make
- e2cp Run with this command in the project root dir
You can build this project(x86_64 arch) with these commands:
cd kernel && ./get-deps
cd .. && make limine/limine
#If can't run get-deps script, you can run "chmod +x kernel/get-deps"
make cmCaution
You must edit the 'BUILD_ARCH' variable in 'gdef.mk' file to set the architecture you want to build for.
make cm KCC=(XXX arch)-linux-gnu-gcc KCXX=(XXX arch)-linux-gnu-g++ KLD=(XXX arch)-linux-gnu-ldFor example, to build aarch64 arch, run:
make cm KCC=aarch64-linux-gnu-gcc KCXX=aarch64-linux-gnu-g++ KLD=aarch64-linux-gnu-ldTip
You can run qemu with these commands:
# just run x86_64 qemu example command
qemu-system-x86_64 -machine q35 -cpu qemu64,+x2apic,+avx \
-cdrom SkylineSystem-x86_64.iso -m 2G -smp 4 \
-serial stdio -net nic -device AC97 \
-drive file=disk.img,if=none,id=sata1 \
-device ahci,id=ahci1 \
-device ide-hd,drive=sata1,bus=ahci1.0 \
-no-reboot --no-shutdown \
-gdb tcp::26000 -monitor telnet:127.0.0.1:4444,server,nowaitYou can debaug with gdb
#first run qemu
# just run x86_64 qemu example command
qemu-system-x86_64 -machine q35 -cpu qemu64,+x2apic,+avx \
-cdrom SkylineSystem-x86_64.iso -m 2G -smp 4 \
-serial stdio -net nic -device AC97 \
-drive file=disk.img,if=none,id=sata1 \
-device ahci,id=ahci1 \
-device ide-hd,drive=sata1,bus=ahci1.0 \
-no-reboot --no-shutdown \
-gdb tcp::26000 -monitor telnet:127.0.0.1:4444,server,nowait -S
#run gdb on kernel folder
cd kernel && gdb#and enter these command in gdb
target remote :26000
file kernel
#do like you what you want to do than-
Devices
- AHCI
- IDE
- ACPI
- IOAPIC
- LAPIC
-
Basics
- Syscall
- Scheduler
- Output
- SMP
- Virtual Memory
- Process & thread management
-
Disk Interfaces
- Sata
- Ram
-
File Systems Support
- Fat12
- Fat16
- Fat32
- Exfat
- ext2/3/4
-
Dynamic File System Type Check(get_fs_type!)
Many more in future
- PCI MSI/MSIX
- NVME
- Yo-yo-ooo
- marceldobehere
- 人造人(qq:1440332527)
You can conect with e-mail 1218849168@qq.com