Update filesystem structure
8
.github/workflows/makefile.yml
vendored
@ -160,7 +160,7 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo -y
|
||||
make --quiet -C tools do_limine
|
||||
make --quiet -C Drivers prepare
|
||||
make --quiet -C Modules prepare
|
||||
make --quiet -C Userspace prepare
|
||||
make --quiet -C Lynx prepare
|
||||
make --quiet -C Kernel prepare
|
||||
@ -204,7 +204,7 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
||||
make --quiet -C tools do_limine
|
||||
make --quiet -C Drivers prepare
|
||||
make --quiet -C Modules prepare
|
||||
make --quiet -C Userspace prepare
|
||||
make --quiet -C Lynx prepare
|
||||
make --quiet -C Kernel prepare
|
||||
@ -261,7 +261,7 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
||||
make --quiet -C tools do_limine
|
||||
make --quiet -C Drivers prepare
|
||||
make --quiet -C Modules prepare
|
||||
make --quiet -C Userspace prepare
|
||||
make --quiet -C Lynx prepare
|
||||
make --quiet -C Kernel prepare
|
||||
@ -318,7 +318,7 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
||||
make --quiet -C tools do_limine
|
||||
make --quiet -C Drivers prepare
|
||||
make --quiet -C Modules prepare
|
||||
make --quiet -C Userspace prepare
|
||||
make --quiet -C Lynx prepare
|
||||
make --quiet -C Kernel prepare
|
||||
|
11
.gitignore
vendored
@ -1,25 +1,19 @@
|
||||
iso_tmp_data
|
||||
initrd/system/include/*
|
||||
initrd/system/*.raw
|
||||
initrd/system/lib/*.raw
|
||||
!initrd/system/include/.gitkeep
|
||||
initrd/usr/include/*
|
||||
!initrd/usr/include/.gitkeep
|
||||
tools/*
|
||||
!tools/ExtMemDbg
|
||||
!tools/stage2_eltorito
|
||||
!tools/*.md
|
||||
!tools/*.css
|
||||
!tools/README.md
|
||||
!tools/menu.lst
|
||||
!tools/website
|
||||
!tools/Makefile
|
||||
!tools/*.c
|
||||
!tools/*.cpp
|
||||
!tools/*.cfg
|
||||
!tools/toolchain-binutils-gdb.patch
|
||||
!tools/toolchain-gcc.patch
|
||||
doxygen-doc
|
||||
initrd.tar.gz
|
||||
bootanim.tar.gz
|
||||
.dccache
|
||||
*.log
|
||||
*.log.*
|
||||
@ -27,7 +21,6 @@ bootanim.tar.gz
|
||||
*.iso
|
||||
*.drv
|
||||
*.fex
|
||||
*.elf
|
||||
*.a
|
||||
*.so
|
||||
*.o
|
||||
|
@ -83,7 +83,7 @@ build64:
|
||||
script:
|
||||
- apt-get update && apt-get install -y rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64
|
||||
- make --quiet -C tools do_limine
|
||||
- make --quiet -C Drivers prepare
|
||||
- make --quiet -C Modules prepare
|
||||
- make --quiet -C Userspace prepare
|
||||
- make --quiet -C Lynx prepare
|
||||
- make --quiet -C Kernel prepare
|
||||
@ -107,7 +107,7 @@ build32:
|
||||
script:
|
||||
- apt-get update && apt-get install -y rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64
|
||||
- make --quiet -C tools do_limine
|
||||
- make --quiet -C Drivers prepare
|
||||
- make --quiet -C Modules prepare
|
||||
- make --quiet -C Userspace prepare
|
||||
- make --quiet -C Lynx prepare
|
||||
- make --quiet -C Kernel prepare
|
||||
@ -130,7 +130,7 @@ buildarm64:
|
||||
script:
|
||||
- apt-get update && apt-get install -y rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64
|
||||
- make --quiet -C tools do_limine
|
||||
- make --quiet -C Drivers prepare
|
||||
- make --quiet -C Modules prepare
|
||||
- make --quiet -C Userspace prepare
|
||||
- make --quiet -C Lynx prepare
|
||||
- make --quiet -C Kernel prepare
|
||||
|
6
.gitmodules
vendored
@ -7,6 +7,6 @@
|
||||
[submodule "Userspace"]
|
||||
path = Userspace
|
||||
url = https://github.com/Fennix-Project/Userspace.git
|
||||
[submodule "Drivers"]
|
||||
path = Drivers
|
||||
url = https://github.com/Fennix-Project/Drivers.git
|
||||
[submodule "Modules"]
|
||||
path = Modules
|
||||
url = https://github.com/Fennix-Project/Modules.git
|
||||
|
1
Drivers
@ -1 +0,0 @@
|
||||
Subproject commit 1e7632657e4f7c107746cafe398cfd019e7733fe
|
@ -41,6 +41,7 @@
|
||||
"AABBCC",
|
||||
"AAFF",
|
||||
"AAFFAA",
|
||||
"ABAR",
|
||||
"ABIVERSION",
|
||||
"ABSPOINTER",
|
||||
"ACPI",
|
||||
@ -91,6 +92,7 @@
|
||||
"daif",
|
||||
"daifclr",
|
||||
"daifset",
|
||||
"DAPI",
|
||||
"DEBUGCTL",
|
||||
"defragment",
|
||||
"dialup",
|
||||
@ -235,6 +237,7 @@
|
||||
"palignr",
|
||||
"PCIDE",
|
||||
"pcmpistri",
|
||||
"PCNET",
|
||||
"PDBR",
|
||||
"PDPTE",
|
||||
"PEBS",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "./Drivers"
|
||||
"path": "./Modules"
|
||||
}
|
||||
],
|
||||
"settings": {
|
2
Kernel
@ -1 +1 @@
|
||||
Subproject commit f62c8b87f9eacbc67577aae6a87ffca1f10fceab
|
||||
Subproject commit e8162bc3cbd39780b70afdc59a336482d39e81b9
|
2
Lynx
@ -1 +1 @@
|
||||
Subproject commit 64553b5f842b5befe4cc06f6fda2cb55cabf7207
|
||||
Subproject commit 769b6b523cf930a46abb5569a752c52ea22d4674
|
70
Makefile
@ -75,7 +75,7 @@ doxygen:
|
||||
doxygen Kernel/Doxyfile
|
||||
doxygen Lynx/Doxyfile
|
||||
doxygen Userspace/Doxyfile
|
||||
doxygen Drivers/Doxyfile
|
||||
doxygen Modules/Doxyfile
|
||||
|
||||
qemu_vdisk:
|
||||
ifneq (,$(wildcard ./qemu-disk.img))
|
||||
@ -90,49 +90,52 @@ tools:
|
||||
make --quiet -C Kernel prepare
|
||||
make --quiet -C Lynx prepare
|
||||
make --quiet -C Userspace prepare
|
||||
make --quiet -C Drivers prepare
|
||||
make --quiet -C Modules prepare
|
||||
|
||||
build: build_lynx build_kernel build_userspace build_drivers build_image
|
||||
build: build_lynx build_kernel build_userspace build_modules build_image
|
||||
|
||||
dump:
|
||||
make --quiet -C Kernel dump
|
||||
|
||||
rebuild: clean build
|
||||
|
||||
# Quickly build the operating system (it won't create the ISO file and doxygen documentation)
|
||||
ifeq ($(QUIET_BUILD), 1)
|
||||
MAKE_QUIET_FLAG = --quiet
|
||||
endif
|
||||
|
||||
build_lynx:
|
||||
ifeq ($(BOOTLOADER), lynx)
|
||||
make --quiet -C Lynx build
|
||||
make $(MAKE_QUIET_FLAG) -C Lynx build
|
||||
endif
|
||||
|
||||
build_kernel:
|
||||
ifeq ($(BUILD_KERNEL), 1)
|
||||
make -j$(shell nproc) --quiet -C Kernel build
|
||||
make -j$(shell nproc) $(MAKE_QUIET_FLAG) -C Kernel build
|
||||
endif
|
||||
|
||||
build_userspace:
|
||||
ifeq ($(OSARCH), amd64)
|
||||
ifeq ($(BUILD_USERSPACE), 1)
|
||||
make --quiet -C Userspace build
|
||||
cp -r Userspace/out/* initrd/
|
||||
endif
|
||||
make $(MAKE_QUIET_FLAG) -C Userspace build
|
||||
endif
|
||||
|
||||
build_drivers:
|
||||
ifeq ($(OSARCH), amd64)
|
||||
ifeq ($(BUILD_DRIVERS), 1)
|
||||
make --quiet -C Drivers build
|
||||
cp Drivers/out/* initrd/system/drivers/
|
||||
endif
|
||||
build_modules:
|
||||
ifeq ($(BUILD_MODULES), 1)
|
||||
make $(MAKE_QUIET_FLAG) -C Modules build
|
||||
endif
|
||||
|
||||
build_image:
|
||||
mkdir -p iso_tmp_data
|
||||
# tar czf initrd.tar.gz -C initrd/ ./ --format=ustar
|
||||
# tar czf bootanim.tar.gz -C bootanim/ ./ --format=ustar
|
||||
tar cf initrd.tar.gz -C initrd/ ./ --format=ustar
|
||||
tar cf bootanim.tar.gz -C bootanim/ ./ --format=ustar
|
||||
cp Kernel/kernel.fsys initrd.tar.gz bootanim.tar.gz \
|
||||
mkdir -p initrd_tmp_data
|
||||
cp -r initrd/* initrd_tmp_data/
|
||||
ifeq ($(BUILD_MODULES), 1)
|
||||
cp -r Modules/out/* initrd_tmp_data/modules/
|
||||
endif
|
||||
ifeq ($(BUILD_USERSPACE), 1)
|
||||
cp -r Userspace/out/* initrd_tmp_data/
|
||||
endif
|
||||
# tar czf initrd.tar.gz -C initrd_tmp_data/ ./ --format=ustar
|
||||
tar cf initrd.tar.gz -C initrd_tmp_data/ ./ --format=ustar
|
||||
cp Kernel/kernel.fsys initrd.tar.gz \
|
||||
iso_tmp_data/
|
||||
ifeq ($(BOOTLOADER), lynx)
|
||||
cp tools/lynx.cfg Lynx/loader.bin Lynx/efi-loader.bin iso_tmp_data/
|
||||
@ -183,7 +186,7 @@ QEMU_SMP_DBG = -smp 4
|
||||
QEMU_SMP = -smp 4
|
||||
endif
|
||||
|
||||
vscode_debug: build_lynx build_kernel build_userspace build_drivers build_image
|
||||
vscode_debug: build_lynx build_kernel build_userspace build_modules build_image
|
||||
rm -f serial.log profiler.log memtrk.dmp serial4.dmp network.dmp
|
||||
$(QEMU) -S -gdb tcp::1234 -d int -no-reboot -no-shutdown $(QEMU_UEFI_BIOS) -m 1G $(QEMUFLAGS) $(QEMU_SMP_DBG)
|
||||
|
||||
@ -198,26 +201,9 @@ qemubios: qemu_vdisk
|
||||
run: build qemu
|
||||
|
||||
clean:
|
||||
rm -rf doxygen-doc iso_tmp_data
|
||||
rm -f initrd.tar.gz bootanim.tar.gz $(OSNAME).iso $(OSNAME).img
|
||||
rm -f initrd/system/drivers/*.fex
|
||||
rm -f initrd/system/drivers/*.elf
|
||||
rm -f initrd/system/drivers/*.raw
|
||||
rm -f initrd/system/*.fex
|
||||
rm -f initrd/system/*.elf
|
||||
rm -f initrd/system/*.raw
|
||||
rm -f initrd/system/*.so
|
||||
rm -f initrd/system/*.a
|
||||
rm -f initrd/system/bin/*.elf
|
||||
rm -f initrd/system/lib/*.a
|
||||
rm -f initrd/system/lib/*.raw
|
||||
rm -f initrd/system/lib/*.so
|
||||
rm -f initrd/system/lib/*.o
|
||||
rm -f initrd/system/include/*.h
|
||||
rm -f initrd/system/include/*.hpp
|
||||
rm -f initrd/system/include/sys/*.h
|
||||
rm -f initrd/system/include/sys/*.hpp
|
||||
rm -rf doxygen-doc iso_tmp_data initrd_tmp_data
|
||||
rm -f initrd.tar.gz $(OSNAME).iso $(OSNAME).img
|
||||
make -C Kernel clean
|
||||
make -C Lynx clean
|
||||
make -C Userspace clean
|
||||
make -C Drivers clean
|
||||
make -C Modules clean
|
||||
|
@ -22,7 +22,9 @@ BOOTLOADER = limine
|
||||
|
||||
BUILD_KERNEL = 1
|
||||
BUILD_USERSPACE = 1
|
||||
BUILD_DRIVERS = 1
|
||||
BUILD_MODULES = 1
|
||||
|
||||
QUIET_BUILD = 1
|
||||
|
||||
# The path of the cross-compiler.
|
||||
COMPILER_PATH = tools/cross/bin
|
||||
|
1
Modules
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 23d1442449dc95ab948036955668b3f40b282799
|
@ -1 +1 @@
|
||||
Subproject commit 78cfe1774935772d30f2d3a831dd4f47c641381a
|
||||
Subproject commit d9485978bb08d94d5bc44dc18727c26eb4941b70
|
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
@ -1,4 +1,4 @@
|
||||
[FAKE_DIVER_API_VERSION]
|
||||
[FAKE_API_VERSION]
|
||||
Enable=0
|
||||
Major=0
|
||||
Minor=0
|
@ -7,11 +7,9 @@ menuentry "Fennix" {
|
||||
load_video
|
||||
clear
|
||||
echo "Loading kernel"
|
||||
multiboot2 /kernel.fsys --alloc=xallocv1 --cores=0 --ioapicirq=1 --tasking=multi --drvdir=/system/drivers --init=/system/init.elf --ioc=true --udl=true --simd=false --bootanim=false
|
||||
multiboot2 /kernel.fsys --alloc=xallocv1 --cores=0 --ioapicirq=1 --tasking=multi --drvdir=/modules --init=/bin/init --ioc=true --udl=true --simd=false --bootanim=false
|
||||
echo "Loading initrd"
|
||||
module2 /initrd.tar.gz initrd
|
||||
echo "Loading bootanim"
|
||||
module2 /bootanim.tar.gz bootanim
|
||||
echo "Booting..."
|
||||
boot
|
||||
}
|
||||
|
@ -5,24 +5,18 @@ INTERFACE_BRANDING=Fennix
|
||||
# DO NOT EDIT!
|
||||
COMMENT=Boot Fennix using limine protocol
|
||||
PROTOCOL=limine
|
||||
KERNEL_CMDLINE=--alloc=xallocv1 --cores=0 --ioapicirq=1 --tasking=multi --drvdir=/system/drivers --init=/system/init.elf --ioc=true --udl=true --simd=false --bootanim=false
|
||||
KERNEL_CMDLINE=--alloc=xallocv1 --cores=0 --ioapicirq=1 --tasking=multi --drvdir=/modules --init=/bin/init --ioc=true --udl=true --simd=false --bootanim=false
|
||||
KERNEL_PATH=boot:///kernel.fsys
|
||||
|
||||
MODULE_PATH=boot:///initrd.tar.gz
|
||||
MODULE_CMDLINE=initrd
|
||||
|
||||
MODULE_PATH=boot:///bootanim.tar.gz
|
||||
MODULE_CMDLINE=bootanim
|
||||
|
||||
:Fennix (multiboot2)
|
||||
# DO NOT EDIT!
|
||||
COMMENT=Boot Fennix using multiboot2 protocol
|
||||
PROTOCOL=multiboot2
|
||||
KERNEL_CMDLINE=--alloc=xallocv1 --cores=0 --ioapicirq=1 --tasking=multi --drvdir=/system/drivers --init=/system/init.elf --ioc=true --udl=true --simd=false --bootanim=false
|
||||
KERNEL_CMDLINE=--alloc=xallocv1 --cores=0 --ioapicirq=1 --tasking=multi --drvdir=/modules --init=/bin/init --ioc=true --udl=true --simd=false --bootanim=false
|
||||
KERNEL_PATH=boot:///kernel.fsys
|
||||
|
||||
MODULE_PATH=boot:///initrd.tar.gz
|
||||
MODULE_CMDLINE=initrd
|
||||
|
||||
MODULE_PATH=boot:///bootanim.tar.gz
|
||||
MODULE_CMDLINE=bootanim
|
||||
|
@ -25,7 +25,7 @@
|
||||
<a class="hdrbtn" href="/fulldoc"><i class="fa-solid fa-book-bookmark"></i> Full Documentation</a>
|
||||
<a class="hdrbtn" href="/lynx"><i class="fa-solid fa-file-code"></i> Lynx Bootloader</a>
|
||||
<a class="hdrbtn" href="/kernel"><i class="fa-solid fa-file-code"></i> Kernel</a>
|
||||
<a class="hdrbtn" href="/drivers"><i class="fa-solid fa-file-code"></i> Drivers</a>
|
||||
<a class="hdrbtn" href="/modules"><i class="fa-solid fa-file-code"></i> Modules</a>
|
||||
<a class="hdrbtn" href="/userspace"><i class="fa-solid fa-file-code"></i> Userspace</a>
|
||||
<a class="hdrbtn" style="float:right" href="https://github.com/Fennix-Project/Fennix/releases/latest"><i
|
||||
class="fa-solid fa-download"></i> Download</a>
|
||||
|