diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml
index 78b5fa4d..9003a97d 100644
--- a/.github/workflows/makefile.yml
+++ b/.github/workflows/makefile.yml
@@ -136,7 +136,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 Modules prepare
+ make --quiet -C Drivers prepare
make --quiet -C Userspace prepare
make --quiet -C Lynx prepare
make --quiet -C Kernel prepare
@@ -159,7 +159,7 @@ jobs:
run: |
make build_lynx
make build_userspace
- make build_modules
+ make build_drivers
make build_kernel
make build_userspace
@@ -180,7 +180,7 @@ jobs:
sudo apt-get update
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
make --quiet -C tools do_limine
- make --quiet -C Modules prepare
+ make --quiet -C Drivers prepare
make --quiet -C Userspace prepare
make --quiet -C Lynx prepare
make --quiet -C Kernel prepare
@@ -237,7 +237,7 @@ jobs:
sudo apt-get update
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
make --quiet -C tools do_limine
- make --quiet -C Modules prepare
+ make --quiet -C Drivers prepare
make --quiet -C Userspace prepare
make --quiet -C Lynx prepare
make --quiet -C Kernel prepare
@@ -295,7 +295,7 @@ jobs:
sudo apt-get update
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
make --quiet -C tools do_limine
- make --quiet -C Modules prepare
+ make --quiet -C Drivers prepare
make --quiet -C Userspace prepare
make --quiet -C Lynx prepare
make --quiet -C Kernel prepare
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2c620632..8202cc9f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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 Modules prepare
+ - make --quiet -C Drivers 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 Modules prepare
+ - make --quiet -C Drivers 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 Modules prepare
+ - make --quiet -C Drivers prepare
- make --quiet -C Userspace prepare
- make --quiet -C Lynx prepare
- make --quiet -C Kernel prepare
diff --git a/.gitmodules b/.gitmodules
index 8746c404..1e0dba07 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -8,5 +8,5 @@
path = Userspace
url = https://github.com/Fennix-Project/Userspace.git
[submodule "Modules"]
- path = Modules
- url = https://github.com/Fennix-Project/Modules.git
+ path = Drivers
+ url = https://github.com/Fennix-Project/Drivers.git
diff --git a/Doxyfile b/Doxyfile
index 0b033beb..8acf460b 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -864,7 +864,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = Kernel Lynx Userspace tools/Doxygen_README.md
+INPUT = Kernel Lynx Userspace Drivers tools/doxymds/main.md
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1064,7 +1064,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
-USE_MDFILE_AS_MAINPAGE = tools/Doxygen_README.md
+USE_MDFILE_AS_MAINPAGE = tools/doxymds/main.md
#---------------------------------------------------------------------------
# Configuration options related to source browsing
diff --git a/Drivers b/Drivers
new file mode 160000
index 00000000..da4a6317
--- /dev/null
+++ b/Drivers
@@ -0,0 +1 @@
+Subproject commit da4a6317ea49c46a0ba7527a2387cf5e7169541e
diff --git a/Fennix Modules.code-workspace b/Fennix Drivers.code-workspace
similarity index 78%
rename from Fennix Modules.code-workspace
rename to Fennix Drivers.code-workspace
index 6495f46d..922597e8 100644
--- a/Fennix Modules.code-workspace
+++ b/Fennix Drivers.code-workspace
@@ -1,7 +1,7 @@
{
"folders": [
{
- "path": "./Modules"
+ "path": "./Drivers"
}
],
"settings": {
@@ -14,6 +14,7 @@
"Cardbus",
"CFIEN",
"cmdret",
+ "cmpb",
"ECTRL",
"EEPROM",
"Fennix",
@@ -25,6 +26,7 @@
"inportw",
"INTX",
"KAPI",
+ "LEDS",
"LPBK",
"LSTA",
"mminb",
@@ -87,8 +89,23 @@
"TXDESCLEN",
"TXDESCLO",
"TXDESCTAIL",
+ "TYPEMATIC",
+ "ubit",
"Virtio",
"Wmissing"
- ]
+ ],
+ "files.associations": {
+ "*.su": "tsv",
+ "driver.h": "c",
+ "base.h": "c",
+ "types.h": "c",
+ "syscall.h": "c",
+ "aip.h": "c",
+ "input.h": "c",
+ "errno.h": "c",
+ "io.h": "c",
+ "rtl8139.hpp": "c",
+ "net.h": "c"
+ }
}
}
diff --git a/Fennix Kernel.code-workspace b/Fennix Kernel.code-workspace
index fadd55cd..1b2c55cf 100644
--- a/Fennix Kernel.code-workspace
+++ b/Fennix Kernel.code-workspace
@@ -46,7 +46,16 @@
"utility": "cpp",
"algorithm": "cpp",
"functional": "cpp",
- "stdio.h": "c"
+ "stdio.h": "c",
+ "string": "cpp",
+ "list": "cpp",
+ "stdexcept": "cpp",
+ "unistd.h": "c",
+ "unordered_map": "cpp",
+ "sched.h": "c",
+ "mman.h": "c",
+ "string.h": "c",
+ "macro.hpp": "c"
},
"cSpell.words": [
"AABBCC",
@@ -71,6 +80,8 @@
"ARRAYSZ",
"auxv",
"BADRAM",
+ "BGRT",
+ "bimi",
"binfo",
"biosdev",
"BIST",
@@ -105,6 +116,7 @@
"daifclr",
"daifset",
"DAPI",
+ "DBGP",
"DEBUGCTL",
"defragment",
"dfdesc",
@@ -115,12 +127,14 @@
"Drivermemset",
"Driversprintf",
"drvdir",
+ "DRVER",
"DSDT",
"DUID",
"dynstr",
"dynsym",
"EBDA",
"edid",
+ "EEPROM",
"EFER",
"Ehdr",
"ehsize",
@@ -156,6 +170,7 @@
"FSGSBASE",
"fxrstor",
"fxsave",
+ "Gamepad",
"Gameport",
"geopbyte",
"GETVERSION",
@@ -189,8 +204,10 @@
"KAPI",
"KAPIPCI",
"kcalloc",
+ "kcon",
"kernelctl",
"kfree",
+ "klog",
"kmalloc",
"kproc",
"krealloc",
@@ -208,6 +225,7 @@
"MADT",
"MADTIO",
"malloc",
+ "MCFG",
"memdbg",
"memmap",
"memsz",
@@ -243,6 +261,7 @@
"MWAIT",
"NIDENT",
"NOBITS",
+ "nullfd",
"nullptr",
"objptr",
"OEMID",
@@ -278,20 +297,24 @@
"PHYSMASK",
"Pico",
"PINBASED",
+ "Pipefd",
"PKRU",
"PLTGOT",
"PLTREL",
"PLTRELSZ",
"POPCNT",
+ "PORTHB",
"powerline",
"Prefetchable",
"PREINIT",
"PROCBASED",
"PTMX",
+ "ptys",
"pushfl",
"pushfq",
"Raphson",
"RARP",
+ "RBSTART",
"rdmsr",
"RDRAND",
"rdseed",
@@ -304,6 +327,7 @@
"RELASZ",
"RELSZ",
"Rodata",
+ "RPCI",
"RRGGBB",
"RSDP",
"RSDT",
@@ -323,6 +347,7 @@
"showbuf",
"shstrndx",
"sidt",
+ "sigsetsize",
"SIVR",
"SMAP",
"SMBASE",
@@ -331,6 +356,8 @@
"SMRR",
"SMXE",
"SNTP",
+ "SRAT",
+ "SSDT",
"sspt",
"SSSE",
"stac",
@@ -345,6 +372,7 @@
"Tamsyn",
"targp",
"TCCR",
+ "TCLO",
"TCPA",
"TDCR",
"TEXIT",
@@ -352,6 +380,7 @@
"Thrd",
"TICR",
"tlbi",
+ "Touchpad",
"tracepagetable",
"tskdbg",
"ttbr",
@@ -365,6 +394,7 @@
"UMIP",
"UMWAIT",
"UNMAP",
+ "Unmaskable",
"Unreserving",
"Unswap",
"unsynchronized",
@@ -381,6 +411,7 @@
"Virtio",
"VMCS",
"VMFUNC",
+ "vmouse",
"VMXE",
"VNNI",
"VNNIW",
@@ -388,6 +419,7 @@
"VPID",
"VPOKE",
"VPOPCNTDQ",
+ "WAET",
"weakrefalias",
"Wignored",
"Wmissing",
diff --git a/Fennix Userspace.code-workspace b/Fennix Userspace.code-workspace
index 49edf709..23faac29 100644
--- a/Fennix Userspace.code-workspace
+++ b/Fennix Userspace.code-workspace
@@ -39,7 +39,12 @@
"syscall.h": "c",
"stdint.h": "c",
"setjmp.h": "c",
- "limits.h": "c"
+ "limits.h": "c",
+ "fcntl.h": "c",
+ "pty.h": "c",
+ "string.h": "c",
+ "time.h": "c",
+ "reboot.h": "c"
},
"cSpell.words": [
"auxv",
diff --git a/Kernel b/Kernel
index 889e1522..96daa43d 160000
--- a/Kernel
+++ b/Kernel
@@ -1 +1 @@
-Subproject commit 889e1522a36576822aa63598e825dd971aa204e9
+Subproject commit 96daa43d3880126119bf775b3c5400aae7764392
diff --git a/Makefile b/Makefile
index 043eee1b..fd819fa8 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,10 @@ QEMUFLAGS += -device vmware-svga -M q35 \
-device ide-hd,drive=disk,bus=ahci.1 \
-audiodev pa,id=pa1,server=/run/user/1000/pulse/native \
-machine pcspk-audiodev=pa1 \
- -device AC97,audiodev=pa1
+ -device AC97,audiodev=pa1 \
+ -device intel-hda \
+ -device ich9-intel-hda \
+ -acpitable file=tools/SSDT1.dat
else ifeq ($(OSARCH), i386)
QEMUFLAGS += -M q35 \
-usb \
@@ -49,7 +52,10 @@ QEMUFLAGS += -M q35 \
-hda $(OSNAME).iso \
-audiodev pa,id=pa1,server=/run/user/1000/pulse/native \
-machine pcspk-audiodev=pa1 \
- -device AC97,audiodev=pa1
+ -device AC97,audiodev=pa1 \
+ -device intel-hda \
+ -device ich9-intel-hda \
+ -acpitable file=tools/SSDT1.dat
else ifeq ($(OSARCH), aarch64)
QEMUFLAGS += -M raspi3b \
-cpu cortex-a57 \
@@ -57,7 +63,8 @@ QEMUFLAGS += -M raspi3b \
-serial file:profiler.log \
-serial file:serial3.dmp \
-serial file:serial4.dmp \
- -kernel $(OSNAME).img
+ -kernel $(OSNAME).img \
+ -acpitable file=tools/SSDT1.dat
endif
doxygen:
@@ -66,7 +73,7 @@ doxygen:
doxygen Kernel/Doxyfile
doxygen Lynx/Doxyfile
doxygen Userspace/Doxyfile
- doxygen Modules/Doxyfile
+ doxygen Drivers/Doxyfile
qemu_vdisk:
ifneq (,$(wildcard ./qemu-disk.img))
@@ -81,9 +88,9 @@ tools:
make --quiet -C Kernel prepare
make --quiet -C Lynx prepare
make --quiet -C Userspace prepare
- make --quiet -C Modules prepare
+ make --quiet -C Drivers prepare
-build: build_lynx build_kernel build_userspace build_modules build_image
+build: build_lynx build_kernel build_userspace build_drivers build_image
dump:
make --quiet -C Kernel dump
@@ -109,24 +116,24 @@ ifeq ($(BUILD_USERSPACE), 1)
make $(MAKE_QUIET_FLAG) -C Userspace build
endif
-build_modules:
-ifeq ($(BUILD_MODULES), 1)
- make $(MAKE_QUIET_FLAG) -C Modules build
+build_drivers:
+ifeq ($(BUILD_DRIVERS), 1)
+ make $(MAKE_QUIET_FLAG) -C Drivers build
endif
build_image:
mkdir -p iso_tmp_data
mkdir -p initrd_tmp_data
cp -r initrd/* initrd_tmp_data/
-ifeq ($(BUILD_MODULES), 1)
- cp -r Modules/out/* initrd_tmp_data/modules/
+ifeq ($(BUILD_DRIVERS), 1)
+ cp -r Drivers/out/* initrd_tmp_data/usr/lib/drivers/
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 \
+ cp Kernel/fennix.elf initrd.tar.gz \
iso_tmp_data/
ifeq ($(BOOTLOADER), lynx)
cp tools/lynx.cfg Lynx/loader.bin Lynx/efi-loader.bin iso_tmp_data/
@@ -137,10 +144,17 @@ ifeq ($(BOOTLOADER), lynx)
iso_tmp_data -o $(OSNAME).iso
endif
ifeq ($(BOOTLOADER), limine)
- cp tools/limine.cfg $(LIMINE_FOLDER)/limine.sys $(LIMINE_FOLDER)/limine-cd.bin $(LIMINE_FOLDER)/limine-cd-efi.bin iso_tmp_data/
- xorriso -as mkisofs -quiet -b limine-cd.bin \
+ cp tools/limine.cfg $(LIMINE_FOLDER)/limine-bios.sys \
+ $(LIMINE_FOLDER)/limine-bios-cd.bin \
+ $(LIMINE_FOLDER)/limine-uefi-cd.bin \
+ iso_tmp_data/
+ mkdir -p iso_tmp_data/EFI/BOOT
+ cp $(LIMINE_FOLDER)/BOOTX64.EFI \
+ $(LIMINE_FOLDER)/BOOTIA32.EFI \
+ iso_tmp_data/EFI/BOOT/
+ xorriso -as mkisofs -quiet -b limine-bios-cd.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table \
- --efi-boot limine-cd-efi.bin -V FENNIX \
+ --efi-boot limine-uefi-cd.bin -V FENNIX \
-efi-boot-part --efi-boot-image --protective-msdos-label \
iso_tmp_data -o $(OSNAME).iso
endif
@@ -152,7 +166,7 @@ ifeq ($(BOOTLOADER), grub)
grub-mkrescue -o $(OSNAME).iso iso_tmp_data
endif
ifeq ($(OSARCH), aarch64)
- $(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/kernel.fsys -O binary $(OSNAME).img
+ $(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/fennix.elf -O binary $(OSNAME).img
endif
ifeq ($(OSARCH), amd64)
@@ -192,12 +206,12 @@ vscode_debug_only:
rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log
$(QEMU) -S -gdb tcp::1234 -d int -no-reboot -no-shutdown $(QEMU_UEFI_BIOS) -m 512M $(QEMUFLAGS) $(QEMU_SMP_DBG)
-vscode_debug: build_lynx build_kernel build_userspace build_modules build_image vscode_debug_only
+vscode_debug: build_lynx build_kernel build_userspace build_drivers build_image vscode_debug_only
qemu: qemu_vdisk
rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log
-# touch serial.log parallel.log
-# x-terminal-emulator -e tail -f serial.log &
+ touch serial.log parallel.log
+ # x-terminal-emulator -e tail -f serial.log &
# x-terminal-emulator -e tail -f parallel.log &
$(QEMU) $(QEMU_UEFI_BIOS) -cpu host $(QEMUFLAGS) $(QEMUHWACCELERATION) $(QEMUMEMORY) $(QEMU_SMP)
@@ -213,4 +227,4 @@ clean:
make -C Kernel clean
make -C Lynx clean
make -C Userspace clean
- make -C Modules clean
+ make -C Drivers clean
diff --git a/Makefile.conf b/Makefile.conf
index 8f1f6ed1..a7834794 100644
--- a/Makefile.conf
+++ b/Makefile.conf
@@ -20,7 +20,7 @@ BOOTLOADER = grub
BUILD_KERNEL = 1
BUILD_USERSPACE = 1
-BUILD_MODULES = 1
+BUILD_DRIVERS = 1
QUIET_BUILD = 1
diff --git a/Modules b/Modules
deleted file mode 160000
index 2ee57b97..00000000
--- a/Modules
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2ee57b9756ac97daf7f6dc5a5d4575a8a97ffc10
diff --git a/Userspace b/Userspace
index 17787dbc..c685a37c 160000
--- a/Userspace
+++ b/Userspace
@@ -1 +1 @@
-Subproject commit 17787dbc9b0ccf366b363e035b3333e1a131719c
+Subproject commit c685a37c15adcecf9ba600c81894b4f8e993caca
diff --git a/initrd/SymlinkTest b/initrd/SymlinkTest
deleted file mode 120000
index 57c76106..00000000
--- a/initrd/SymlinkTest
+++ /dev/null
@@ -1 +0,0 @@
-/Test.txt
\ No newline at end of file
diff --git a/initrd/etc/boot/1.tga b/initrd/etc/boot/1.tga
deleted file mode 100644
index 23aba599..00000000
Binary files a/initrd/etc/boot/1.tga and /dev/null differ
diff --git a/initrd/etc/boot/10.tga b/initrd/etc/boot/10.tga
deleted file mode 100644
index e91548e9..00000000
Binary files a/initrd/etc/boot/10.tga and /dev/null differ
diff --git a/initrd/etc/boot/11.tga b/initrd/etc/boot/11.tga
deleted file mode 100644
index 79a69dc0..00000000
Binary files a/initrd/etc/boot/11.tga and /dev/null differ
diff --git a/initrd/etc/boot/12.tga b/initrd/etc/boot/12.tga
deleted file mode 100644
index b5df33b9..00000000
Binary files a/initrd/etc/boot/12.tga and /dev/null differ
diff --git a/initrd/etc/boot/13.tga b/initrd/etc/boot/13.tga
deleted file mode 100644
index 8927d5cb..00000000
Binary files a/initrd/etc/boot/13.tga and /dev/null differ
diff --git a/initrd/etc/boot/14.tga b/initrd/etc/boot/14.tga
deleted file mode 100644
index 85f5fa25..00000000
Binary files a/initrd/etc/boot/14.tga and /dev/null differ
diff --git a/initrd/etc/boot/15.tga b/initrd/etc/boot/15.tga
deleted file mode 100644
index a316c3fa..00000000
Binary files a/initrd/etc/boot/15.tga and /dev/null differ
diff --git a/initrd/etc/boot/16.tga b/initrd/etc/boot/16.tga
deleted file mode 100644
index ec763223..00000000
Binary files a/initrd/etc/boot/16.tga and /dev/null differ
diff --git a/initrd/etc/boot/17.tga b/initrd/etc/boot/17.tga
deleted file mode 100644
index af2766fd..00000000
Binary files a/initrd/etc/boot/17.tga and /dev/null differ
diff --git a/initrd/etc/boot/18.tga b/initrd/etc/boot/18.tga
deleted file mode 100644
index b8dbf031..00000000
Binary files a/initrd/etc/boot/18.tga and /dev/null differ
diff --git a/initrd/etc/boot/19.tga b/initrd/etc/boot/19.tga
deleted file mode 100644
index f14fc353..00000000
Binary files a/initrd/etc/boot/19.tga and /dev/null differ
diff --git a/initrd/etc/boot/2.tga b/initrd/etc/boot/2.tga
deleted file mode 100644
index 64d9530b..00000000
Binary files a/initrd/etc/boot/2.tga and /dev/null differ
diff --git a/initrd/etc/boot/20.tga b/initrd/etc/boot/20.tga
deleted file mode 100644
index bd4ab687..00000000
Binary files a/initrd/etc/boot/20.tga and /dev/null differ
diff --git a/initrd/etc/boot/21.tga b/initrd/etc/boot/21.tga
deleted file mode 100644
index 83c75498..00000000
Binary files a/initrd/etc/boot/21.tga and /dev/null differ
diff --git a/initrd/etc/boot/22.tga b/initrd/etc/boot/22.tga
deleted file mode 100644
index 39f5ad24..00000000
Binary files a/initrd/etc/boot/22.tga and /dev/null differ
diff --git a/initrd/etc/boot/23.tga b/initrd/etc/boot/23.tga
deleted file mode 100644
index c0d5cd59..00000000
Binary files a/initrd/etc/boot/23.tga and /dev/null differ
diff --git a/initrd/etc/boot/24.tga b/initrd/etc/boot/24.tga
deleted file mode 100644
index 8c1d2347..00000000
Binary files a/initrd/etc/boot/24.tga and /dev/null differ
diff --git a/initrd/etc/boot/25.tga b/initrd/etc/boot/25.tga
deleted file mode 100644
index b4699eb1..00000000
Binary files a/initrd/etc/boot/25.tga and /dev/null differ
diff --git a/initrd/etc/boot/26.tga b/initrd/etc/boot/26.tga
deleted file mode 100644
index 1a7209d0..00000000
Binary files a/initrd/etc/boot/26.tga and /dev/null differ
diff --git a/initrd/etc/boot/3.tga b/initrd/etc/boot/3.tga
deleted file mode 100644
index 7a2664a0..00000000
Binary files a/initrd/etc/boot/3.tga and /dev/null differ
diff --git a/initrd/etc/boot/4.tga b/initrd/etc/boot/4.tga
deleted file mode 100644
index 51051968..00000000
Binary files a/initrd/etc/boot/4.tga and /dev/null differ
diff --git a/initrd/etc/boot/5.tga b/initrd/etc/boot/5.tga
deleted file mode 100644
index 31d231c5..00000000
Binary files a/initrd/etc/boot/5.tga and /dev/null differ
diff --git a/initrd/etc/boot/6.tga b/initrd/etc/boot/6.tga
deleted file mode 100644
index 8f8d9c12..00000000
Binary files a/initrd/etc/boot/6.tga and /dev/null differ
diff --git a/initrd/etc/boot/7.tga b/initrd/etc/boot/7.tga
deleted file mode 100644
index d001a917..00000000
Binary files a/initrd/etc/boot/7.tga and /dev/null differ
diff --git a/initrd/etc/boot/8.tga b/initrd/etc/boot/8.tga
deleted file mode 100644
index 709818f1..00000000
Binary files a/initrd/etc/boot/8.tga and /dev/null differ
diff --git a/initrd/etc/boot/9.tga b/initrd/etc/boot/9.tga
deleted file mode 100644
index 085df694..00000000
Binary files a/initrd/etc/boot/9.tga and /dev/null differ
diff --git a/initrd/etc/cross/linux b/initrd/etc/cross/linux
new file mode 100644
index 00000000..93b2fcf8
--- /dev/null
+++ b/initrd/etc/cross/linux
@@ -0,0 +1,6 @@
+[uname]
+sysname=Linux
+nodename=auto
+release=3.2.0-10-generic
+version=#10-Ubuntu SMP Mon Jav 1 00:00:00 UTC 0
+machine=auto
diff --git a/initrd/modules/config.ini b/initrd/modules/config.ini
deleted file mode 100644
index cc70dc67..00000000
--- a/initrd/modules/config.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[FAKE_API_VERSION]
-Enable=0
-Major=0
-Minor=0
-Patch=0
-
-[BLACKLIST]
diff --git a/initrd/tmp/chars.txt b/initrd/tmp/chars.txt
new file mode 100644
index 00000000..883bc20c
--- /dev/null
+++ b/initrd/tmp/chars.txt
@@ -0,0 +1,33 @@
+Hello World!
+Bună Lume!
+¡Hola Mundo!
+Привет, мир!
+Selam Dünya!
+「こんにちは世界」
+你好世界!
+안녕하세요 월드!
+مرحبا بالعالم!
+Բարեւ աշխարհ!
+Γειά σου Κόσμε!
+Helló Világ!
+Përshendetje Botë!
+
+------------------
+
+ĂăÎîÂâȘșȚț
+
+ΩŁ€®Ŧ¥←↑↓→ØÞ
+ƧЪŊĦ̛̛Ł˝
+«»©¢“‘”’µº×÷
+
+ёЁъЪЧчШшЩщЭэ
+ЯВЕРТЫУИОП
+явертыуиоп
+АСДФГХЙКЛ
+асдфгхйкл
+ЗЬЦЖБНМ
+зьцжбнм
+
+顲³¼⅜±°¿
+ĞğÜü
+
diff --git a/initrd/tmp/invalid b/initrd/tmp/invalid
new file mode 120000
index 00000000..b638d5e3
--- /dev/null
+++ b/initrd/tmp/invalid
@@ -0,0 +1 @@
+/foo/bar
\ No newline at end of file
diff --git a/initrd/tmp/link b/initrd/tmp/link
new file mode 120000
index 00000000..1467aa32
--- /dev/null
+++ b/initrd/tmp/link
@@ -0,0 +1 @@
+/tmp/test.txt
\ No newline at end of file
diff --git a/initrd/test.sh b/initrd/tmp/test.sh
similarity index 100%
rename from initrd/test.sh
rename to initrd/tmp/test.sh
diff --git a/initrd/test.txt b/initrd/tmp/test.txt
similarity index 100%
rename from initrd/test.txt
rename to initrd/tmp/test.txt
diff --git a/initrd/tmp/.gitkeep b/initrd/usr/lib/drivers/.gitkeep
similarity index 100%
rename from initrd/tmp/.gitkeep
rename to initrd/usr/lib/drivers/.gitkeep
diff --git a/initrd/usr/lib/.gitkeep b/initrd/usr/share/.gitkeep
similarity index 100%
rename from initrd/usr/lib/.gitkeep
rename to initrd/usr/share/.gitkeep
diff --git a/tools/Doxygen_README.md b/tools/Doxygen_README.md
deleted file mode 100644
index c91ec8fd..00000000
--- a/tools/Doxygen_README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Doxygen
-
-This is a README file for Doxygen.
diff --git a/tools/Makefile b/tools/Makefile
index c63e2f58..9164928a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -2,9 +2,9 @@ WORKING_DIR = $(shell pwd)
CROSS_DIR=$(WORKING_DIR)/cross
export PATH := $(CROSS_DIR):$(PATH)
-QEMU_VERSION = qemu-7.1.0
+QEMU_VERSION = 8.1.2
-all: do_rep do_ep do_fex do_limine clone_all do_binutils_64 do_gcc_64 do_binutils_32 do_gcc_32 do_qemu
+all: do_rep do_ep do_limine clone_all do_binutils_64 do_gcc_64 do_binutils_32 do_gcc_32 do_qemu
clean:
rm -f rep ep fex
@@ -17,20 +17,16 @@ do_ep:
g++ -w ErrorParser.cpp -o ep
chmod +x ep
-do_fex:
- gcc -w Fex.c -o fex
- chmod +x fex
-
do_limine:
- git clone https://github.com/limine-bootloader/limine.git --branch=v4.x-branch-binary --depth=1
+ git clone https://github.com/limine-bootloader/limine.git --branch=v6.x-branch-binary --depth=1
clone_all:
git clone https://github.com/Fennix-Project/binutils-gdb.git binutils-gdb
git clone https://github.com/Fennix-Project/gcc.git gcc
- wget https://download.qemu.org/${QEMU_VERSION}.tar.xz
- tar xvJf ${QEMU_VERSION}.tar.xz
- rm -f ${QEMU_VERSION}.tar.xz
- mv ${QEMU_VERSION} qemu
+ wget https://download.qemu.org/qemu-${QEMU_VERSION}.tar.xz
+ tar xvJf qemu-${QEMU_VERSION}.tar.xz
+ rm -f qemu-${QEMU_VERSION}.tar.xz
+ mv qemu-${QEMU_VERSION} qemu
mkdir -p cross
mkdir -p qemu
mkdir -p build-binutils64
@@ -49,17 +45,25 @@ __clone_all_no_qemu:
do_qemu:
cd qemu && \
- bash ./configure --target-list=x86_64-softmmu,i386-softmmu,aarch64-softmmu --prefix="$(CROSS_DIR)" --enable-gtk && \
+ bash ./configure --target-list=x86_64-softmmu,i386-softmmu,aarch64-softmmu \
+ --prefix="$(CROSS_DIR)" \
+ --enable-gtk --disable-tools \
+ --disable-gio --disable-virtfs --disable-vnc \
+ --disable-opengl && \
make -j$(shell nproc) && make install
do_binutils_64:
cd build-binutils64 && \
- ../binutils-gdb/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)" --with-sysroot --enable-shared --disable-werror && \
+ ../binutils-gdb/configure --target=x86_64-fennix \
+ --prefix="$(CROSS_DIR)" \
+ --with-sysroot --enable-shared --disable-werror && \
make all -j$(shell nproc) && make install
do_gcc_64:
cd build-gcc64 && \
- ../gcc/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --enable-shared --without-headers && \
+ ../gcc/configure --target=x86_64-fennix \
+ --prefix="$(CROSS_DIR)" \
+ --enable-languages=c,c++ --enable-shared --without-headers && \
make all-gcc -j$(shell nproc) && \
make all-target-libgcc -j$(shell nproc) && \
make install-gcc -j$(shell nproc) && \
@@ -67,12 +71,16 @@ do_gcc_64:
do_binutils_32:
cd build-binutils32 && \
- ../binutils-gdb/configure --target=i386-fennix --prefix="$(CROSS_DIR)" --with-sysroot --enable-shared --disable-werror && \
+ ../binutils-gdb/configure --target=i386-fennix \
+ --prefix="$(CROSS_DIR)" \
+ --with-sysroot --enable-shared --disable-werror && \
make all -j$(shell nproc) && make install
do_gcc_32:
cd build-gcc32 && \
- ../gcc/configure --target=i386-fennix --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --enable-shared --without-headers && \
+ ../gcc/configure --target=i386-fennix \
+ --prefix="$(CROSS_DIR)" \
+ --enable-languages=c,c++ --enable-shared --without-headers && \
make all-gcc -j$(shell nproc) && \
make all-target-libgcc -j$(shell nproc) && \
make install-gcc -j$(shell nproc) && \
diff --git a/tools/grub.cfg b/tools/grub.cfg
index 29e4a38d..d9880a6e 100644
--- a/tools/grub.cfg
+++ b/tools/grub.cfg
@@ -7,7 +7,7 @@ menuentry "Fennix" {
load_video
clear
echo "Loading kernel"
- multiboot2 /kernel.fsys --ioapicirq=1 --linux=false --ioc=true --udl=true --simd=true
+ multiboot2 /fennix.elf --ioapicirq=1 --ioc=true --udl=true --simd=true
echo "Loading initrd"
module2 /initrd.tar.gz initrd
echo "Booting..."
diff --git a/tools/limine.cfg b/tools/limine.cfg
index aab207a4..35b02a42 100644
--- a/tools/limine.cfg
+++ b/tools/limine.cfg
@@ -5,8 +5,8 @@ INTERFACE_BRANDING=Fennix
# DO NOT EDIT!
COMMENT=Boot Fennix using limine protocol
PROTOCOL=limine
- KERNEL_CMDLINE=--ioapicirq=1 --linux=false --ioc=true --udl=true --simd=true
- KERNEL_PATH=boot:///kernel.fsys
+ KERNEL_CMDLINE=--ioapicirq=1 --ioc=true --udl=true --simd=true
+ KERNEL_PATH=boot:///fennix.elf
MODULE_PATH=boot:///initrd.tar.gz
MODULE_CMDLINE=initrd
diff --git a/tools/website/index.html b/tools/website/index.html
index b11536e1..09c8a634 100644
--- a/tools/website/index.html
+++ b/tools/website/index.html
@@ -25,7 +25,7 @@
Full Documentation
Lynx Bootloader
Kernel
- Modules
+ Drivers
Userspace
Download
diff --git a/tools/website/robots.txt b/tools/website/robots.txt
index 58aacd4d..d3fbe0c7 100644
--- a/tools/website/robots.txt
+++ b/tools/website/robots.txt
@@ -1,6 +1,6 @@
User-agent: *
Disallow: /userspace/
-Disallow: /modules/
+Disallow: /drivers/
Disallow: /kernel/
Disallow: /lynx/
Disallow: /fulldoc/
\ No newline at end of file