ISO for old x86 computers (Fennix-legacy.iso)

This commit is contained in:
Alex 2022-10-13 06:45:59 +03:00
parent f1214f6db5
commit 4b5d99e647
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
10 changed files with 37 additions and 6 deletions

View File

@ -246,6 +246,12 @@ jobs:
name: Fennix-i686 name: Fennix-i686
path: Fennix.iso path: Fennix.iso
- name: Upload Artifact (Legacy)
uses: actions/upload-artifact@v3.0.0
with:
name: Fennix-i686-legacy
path: Fennix-legacy.iso
compilearm64: compilearm64:
name: Build aarch64 name: Build aarch64
runs-on: ubuntu-latest runs-on: ubuntu-latest

3
.gitignore vendored
View File

@ -1,5 +1,8 @@
iso_tmp_data iso_tmp_data
tools/* tools/*
!tools/stage2_eltorito
!tools/README.md
!tools/menu.lst
!tools/website !tools/website
!tools/Makefile !tools/Makefile
!tools/*.c !tools/*.c

2
Kernel

@ -1 +1 @@
Subproject commit 7b5758d95055f20e0489bbae7eda4a642a7172f1 Subproject commit 3620ad914daeb54f22b5c5883974876d93409b5a

2
Lynx

@ -1 +1 @@
Subproject commit 1f4a0b9ee9547ff23a46f0d7cc2f08e6e3937efd Subproject commit da269b5c6dbf9e4d62c21a949fc53adebcf67850

View File

@ -125,7 +125,7 @@ ifeq ($(BOOTLOADER), lynx)
cp tools/lynx.cfg boot/BIOS/loader.bin boot/UEFI/efi-loader.bin iso_tmp_data/ cp tools/lynx.cfg boot/BIOS/loader.bin boot/UEFI/efi-loader.bin iso_tmp_data/
xorriso -as mkisofs -b loader.bin \ xorriso -as mkisofs -b loader.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table \ -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 \ -efi-boot-part --efi-boot-image --protective-msdos-label \
iso_tmp_data -o $(OSNAME).iso iso_tmp_data -o $(OSNAME).iso
endif 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/ 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 \ xorriso -as mkisofs -b limine-cd.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table \ -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 \ -efi-boot-part --efi-boot-image --protective-msdos-label \
iso_tmp_data -o $(OSNAME).iso iso_tmp_data -o $(OSNAME).iso
endif endif
ifeq ($(OSARCH), i686) 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
mkdir -p iso_tmp_data/boot/grub mkdir -p iso_tmp_data/boot/grub
cp tools/grub.cfg iso_tmp_data/boot/grub/ cp tools/grub.cfg iso_tmp_data/boot/grub/
grub-mkrescue -o $(OSNAME).iso iso_tmp_data 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 endif
ifeq ($(OSARCH), aarch64) ifeq ($(OSARCH), aarch64)
$(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/kernel.fsys -O binary $(OSNAME).img $(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/kernel.fsys -O binary $(OSNAME).img
@ -172,7 +179,7 @@ run: build qemu
clean: clean:
rm -rf doxygen-doc iso_tmp_data 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 Kernel clean
make -C Lynx clean make -C Lynx clean
make -C Userspace clean make -C Userspace clean

View File

@ -8,7 +8,7 @@ TESTING = 0
OSNAME = Fennix OSNAME = Fennix
# OS architecture: amd64, i686, aarch64 # OS architecture: amd64, i686, aarch64
OSARCH = amd64 OSARCH = i686
# Kernel version. # Kernel version.
KERNEL_VERSION = pre-alpha-0.0.0.1 KERNEL_VERSION = pre-alpha-0.0.0.1

9
tools/README.md Normal file
View File

@ -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.

View File

@ -1,5 +1,6 @@
set default=0 set default=0
set timeout=0 set timeout=0
# set lang=ro_RO
menuentry "Fennix" { menuentry "Fennix" {
multiboot2 /kernel.fsys multiboot2 /kernel.fsys

5
tools/menu.lst Normal file
View File

@ -0,0 +1,5 @@
default 0
timeout 0
title Fennix
kernel /kernel.fsys

BIN
tools/stage2_eltorito Normal file

Binary file not shown.