diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 35d1af2f..fbe231a2 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -246,6 +246,12 @@ jobs: name: Fennix-i686 path: Fennix.iso + - name: Upload Artifact (Legacy) + uses: actions/upload-artifact@v3.0.0 + with: + name: Fennix-i686-legacy + path: Fennix-legacy.iso + compilearm64: name: Build aarch64 runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index d73a0e99..7f3bdc3e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ iso_tmp_data tools/* +!tools/stage2_eltorito +!tools/README.md +!tools/menu.lst !tools/website !tools/Makefile !tools/*.c diff --git a/Kernel b/Kernel index 7b5758d9..3620ad91 160000 --- a/Kernel +++ b/Kernel @@ -1 +1 @@ -Subproject commit 7b5758d95055f20e0489bbae7eda4a642a7172f1 +Subproject commit 3620ad914daeb54f22b5c5883974876d93409b5a diff --git a/Lynx b/Lynx index 1f4a0b9e..da269b5c 160000 --- a/Lynx +++ b/Lynx @@ -1 +1 @@ -Subproject commit 1f4a0b9ee9547ff23a46f0d7cc2f08e6e3937efd +Subproject commit da269b5c6dbf9e4d62c21a949fc53adebcf67850 diff --git a/Makefile b/Makefile index 2e593c66..1a22ff8b 100644 --- a/Makefile +++ b/Makefile @@ -125,7 +125,7 @@ ifeq ($(BOOTLOADER), lynx) cp tools/lynx.cfg boot/BIOS/loader.bin boot/UEFI/efi-loader.bin iso_tmp_data/ xorriso -as mkisofs -b loader.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table \ - --efi-boot efi-loader.bin \ + --efi-boot efi-loader.bin -V FENNIX \ -efi-boot-part --efi-boot-image --protective-msdos-label \ iso_tmp_data -o $(OSNAME).iso endif @@ -134,15 +134,22 @@ ifeq ($(OSARCH), amd64) 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 -b limine-cd.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table \ - --efi-boot limine-cd-efi.bin \ + --efi-boot limine-cd-efi.bin -V FENNIX \ -efi-boot-part --efi-boot-image --protective-msdos-label \ iso_tmp_data -o $(OSNAME).iso endif ifeq ($(OSARCH), i686) +# TODO: Add custom language support for GRUB or detect the system language using "echo $LANG | cut -d . -f 1" and set "lang" variable inside grub.cfg mkdir -p iso_tmp_data/boot mkdir -p iso_tmp_data/boot/grub cp tools/grub.cfg iso_tmp_data/boot/grub/ grub-mkrescue -o $(OSNAME).iso iso_tmp_data + cp tools/stage2_eltorito iso_tmp_data/ + cp tools/menu.lst iso_tmp_data/boot/grub/ + xorriso -as mkisofs -R -b stage2_eltorito \ + -no-emul-boot -boot-load-size 4 -boot-info-table \ + --protective-msdos-label -V FENNIX \ + iso_tmp_data -o $(OSNAME)-legacy.iso endif ifeq ($(OSARCH), aarch64) $(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/kernel.fsys -O binary $(OSNAME).img @@ -172,7 +179,7 @@ run: build qemu clean: rm -rf doxygen-doc iso_tmp_data - rm -f initrd/system/drivers/*.drv initrd.tar.gz $(OSNAME).iso $(OSNAME).img + rm -f initrd/system/drivers/*.drv initrd.tar.gz $(OSNAME).iso $(OSNAME)-legacy.iso $(OSNAME).img make -C Kernel clean make -C Lynx clean make -C Userspace clean diff --git a/Makefile.conf b/Makefile.conf index d95c284b..0c645a3b 100644 --- a/Makefile.conf +++ b/Makefile.conf @@ -8,7 +8,7 @@ TESTING = 0 OSNAME = Fennix # OS architecture: amd64, i686, aarch64 -OSARCH = amd64 +OSARCH = i686 # Kernel version. KERNEL_VERSION = pre-alpha-0.0.0.1 diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 00000000..3752cd6a --- /dev/null +++ b/tools/README.md @@ -0,0 +1,9 @@ +# tools + +--- + +In this directory, you will find: +- An error parser for qemu debug output. +- Ethernet packet reader for testing network connection. +- A makefile script to clone and build gcc, binutils and qemu. +- `website` directory containing the source code for the website. diff --git a/tools/grub.cfg b/tools/grub.cfg index 57a1a730..08aa2a20 100644 --- a/tools/grub.cfg +++ b/tools/grub.cfg @@ -1,5 +1,6 @@ set default=0 set timeout=0 +# set lang=ro_RO menuentry "Fennix" { multiboot2 /kernel.fsys diff --git a/tools/menu.lst b/tools/menu.lst new file mode 100644 index 00000000..f92883a9 --- /dev/null +++ b/tools/menu.lst @@ -0,0 +1,5 @@ +default 0 +timeout 0 + +title Fennix +kernel /kernel.fsys \ No newline at end of file diff --git a/tools/stage2_eltorito b/tools/stage2_eltorito new file mode 100644 index 00000000..b7c2d456 Binary files /dev/null and b/tools/stage2_eltorito differ