Update OS

This commit is contained in:
Alex 2023-06-10 13:12:18 +03:00
parent a9f7922ee4
commit 9730af9992
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
8 changed files with 58 additions and 113 deletions

View File

@ -55,53 +55,29 @@ jobs:
- name: Clone All - name: Clone All
if: steps.cache-cross.outputs.cache-hit != 'true' if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools clone_all run: make --quiet -C tools __clone_all_no_qemu
- name: Compile Binutils amd64 - name: Compile Binutils amd64
if: steps.cache-cross.outputs.cache-hit != 'true' if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_binutils64 run: make --quiet -C tools do_binutils_64
- name: Compile Binutils i386 - name: Compile Binutils i386
if: steps.cache-cross.outputs.cache-hit != 'true' if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_binutils32 run: make --quiet -C tools do_binutils_32
- name: Compile Binutils aarch64
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_binutilsarm64
- name: Compile GCC amd64 - name: Compile GCC amd64
if: steps.cache-cross.outputs.cache-hit != 'true' if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_gcc64 run: make --quiet -C tools do_gcc_64
- name: Compile GCC i386 - name: Compile GCC i386
if: steps.cache-cross.outputs.cache-hit != 'true' if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_gcc32 run: make --quiet -C tools do_gcc_32
- name: Compile GCC aarch64
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_gccarm64
- name: Compile 64-bit Toolchain Binutils
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_toolchain_binutils64
- name: Compile 64-bit Toolchain GCC
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_toolchain_gcc64
- name: Compile 32-bit Toolchain Binutils
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_toolchain_binutils32
- name: Compile 32-bit Toolchain GCC
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_toolchain_gcc32
- name: Clean Up - name: Clean Up
if: steps.cache-cross.outputs.cache-hit != 'true' if: steps.cache-cross.outputs.cache-hit != 'true'
run: | run: |
cd tools cd tools
rm -rf binutils-gdb gcc qemu build-binutilsamd64 build-binutilsi386 build-binutilsarm64 build-gccamd64 build-gcci386 build-gccarm64 build-toolchain-binutils64 build-toolchain-gcc64 build-toolchain-binutils32 build-toolchain-gcc32 rm -rf binutils-gdb gcc build-binutils64 build-gcc64 build-binutils32 build-gcc32
compilegnuefi: compilegnuefi:
name: Build GNU-EFI name: Build GNU-EFI
@ -305,6 +281,7 @@ jobs:
path: Fennix-release.iso path: Fennix-release.iso
compilearm64: compilearm64:
if: ${{ false }} # Disabled until we can get it to work
name: Build aarch64 name: Build aarch64
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [buildcompiler, compilegnuefi] needs: [buildcompiler, compilegnuefi]

View File

@ -35,7 +35,10 @@
"cstddef": "cpp", "cstddef": "cpp",
"atomic.hpp": "c", "atomic.hpp": "c",
"atomic": "cpp", "atomic": "cpp",
"syscalls.h": "c" "syscalls.h": "c",
"cmath": "cpp",
"typeinfo": "c",
"exception": "cpp"
}, },
"cSpell.words": [ "cSpell.words": [
"AABBCC", "AABBCC",
@ -244,6 +247,7 @@
"PERFEVTSEL", "PERFEVTSEL",
"PEXIT", "PEXIT",
"PFLA", "PFLA",
"Phdrs",
"pheader", "pheader",
"PHENT", "PHENT",
"phentsize", "phentsize",

View File

@ -28,7 +28,15 @@
"liballoc_1_1.h": "c", "liballoc_1_1.h": "c",
"errno.h": "c", "errno.h": "c",
"stdlib.h": "c", "stdlib.h": "c",
"stdarg.h": "c" "stdarg.h": "c",
"printf.h": "c",
"ctype.h": "c",
"unistd.h": "c",
"stat.h": "c",
"wait.h": "c",
"base.h": "c",
"ld.h": "c",
"syscall.h": "c"
}, },
"cSpell.words": [ "cSpell.words": [
"auxv", "auxv",

2
Kernel

@ -1 +1 @@
Subproject commit e8162bc3cbd39780b70afdc59a336482d39e81b9 Subproject commit 41db47717374df5bd340e2eeb55f8dbd416e3f45

View File

@ -186,10 +186,12 @@ QEMU_SMP_DBG = -smp 4
QEMU_SMP = -smp 4 QEMU_SMP = -smp 4
endif endif
vscode_debug: build_lynx build_kernel build_userspace build_modules build_image vscode_debug_only:
rm -f serial.log profiler.log memtrk.dmp serial4.dmp network.dmp 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) $(QEMU) -S -gdb tcp::1234 -d int -no-reboot -no-shutdown $(QEMU_UEFI_BIOS) -m 1G $(QEMUFLAGS) $(QEMU_SMP_DBG)
vscode_debug: build_lynx build_kernel build_userspace build_modules build_image vscode_debug_only
qemu: qemu_vdisk qemu: qemu_vdisk
rm -f serial.log profiler.log memtrk.dmp serial4.dmp network.dmp rm -f serial.log profiler.log memtrk.dmp serial4.dmp network.dmp
$(QEMU) $(QEMU_UEFI_BIOS) -cpu host $(QEMUFLAGS) $(QEMUHWACCELERATION) $(QEMUMEMORY) $(QEMU_SMP) $(QEMU) $(QEMU_UEFI_BIOS) -cpu host $(QEMUFLAGS) $(QEMUHWACCELERATION) $(QEMUMEMORY) $(QEMU_SMP)

View File

@ -26,12 +26,11 @@ BUILD_MODULES = 1
QUIET_BUILD = 1 QUIET_BUILD = 1
USERSPACE_STATIC_LIBS = 1
# The path of the cross-compiler. # The path of the cross-compiler.
COMPILER_PATH = tools/cross/bin COMPILER_PATH = tools/cross/bin
# The path of the toolchain cross-compiler.
TC_COMPILER_PATH = tools/cross/toolchain/bin
# The path of the Limine bootloader. # The path of the Limine bootloader.
LIMINE_FOLDER = tools/limine LIMINE_FOLDER = tools/limine
@ -51,24 +50,21 @@ MLIBC = 0
# Make releated variables # Make releated variables
# DO NOT TOUCH!
ifeq ($(OSARCH), amd64) ifeq ($(OSARCH), amd64)
COMPILER_ARCH = amd64-elf- COMPILER_ARCH = x86_64-fennix-
QEMU_ARCH = x86_64 QEMU_ARCH = x86_64
else ifeq ($(OSARCH), i386) else ifeq ($(OSARCH), i386)
COMPILER_ARCH = i386-elf- COMPILER_ARCH = i386-fennix-
QEMU_ARCH = i386 QEMU_ARCH = i386
else ifeq ($(OSARCH), aarch64) else ifeq ($(OSARCH), aarch64)
COMPILER_ARCH = aarch64-elf- COMPILER_ARCH = aarch64-fennix-
QEMU_ARCH = aarch64 QEMU_ARCH = aarch64
endif endif
ifeq ($(OSARCH), amd64)
TC_COMPILER_ARCH = x86_64-fennix-
else ifeq ($(OSARCH), i386)
TC_COMPILER_ARCH = i386-fennix-
else ifeq ($(OSARCH), aarch64)
TC_COMPILER_ARCH = aarch64-fennix-
endif

@ -1 +1 @@
Subproject commit d949a1a44940e04721ec55ac5b05da6580a6f5cf Subproject commit 22e75b95402630c6c2bd878281ef09ac055dc120

View File

@ -4,7 +4,7 @@ export PATH := $(CROSS_DIR):$(PATH)
QEMU_VERSION = qemu-7.1.0 QEMU_VERSION = qemu-7.1.0
all: do_rep do_ep do_fex do_emd do_limine clone_all do_binutils64 do_binutils32 do_binutilsarm64 do_gcc64 do_gcc32 do_gccarm64 do_toolchain_binutils64 do_toolchain_gcc64 do_toolchain_binutils32 do_toolchain_gcc32 do_qemu all: do_rep do_ep do_fex do_emd do_limine clone_all do_binutils_64 do_gcc_64 do_binutils_32 do_gcc_32 do_qemu
clean: clean:
rm -f rep ep fex ExtMemDbg/emd rm -f rep ep fex ExtMemDbg/emd
@ -36,88 +36,46 @@ clone_all:
mv ${QEMU_VERSION} qemu mv ${QEMU_VERSION} qemu
mkdir -p cross mkdir -p cross
mkdir -p qemu mkdir -p qemu
mkdir -p build-binutilsamd64 mkdir -p build-binutils64
mkdir -p build-binutilsi386 mkdir -p build-gcc64
mkdir -p build-binutilsarm64 mkdir -p build-binutils32
mkdir -p build-gccamd64 mkdir -p build-gcc32
mkdir -p build-gcci386
mkdir -p build-gccarm64
mkdir -p build-toolchain-binutils64
mkdir -p build-toolchain-gcc64
mkdir -p build-toolchain-binutils32
mkdir -p build-toolchain-gcc32
__clone_all_no_qemu: __clone_all_no_qemu:
git clone https://github.com/Fennix-Project/binutils-gdb.git binutils-gdb git clone https://github.com/Fennix-Project/binutils-gdb.git binutils-gdb
git clone https://github.com/Fennix-Project/gcc.git gcc git clone https://github.com/Fennix-Project/gcc.git gcc
mkdir -p cross mkdir -p cross
mkdir -p build-binutilsamd64 mkdir -p build-binutils64
mkdir -p build-binutilsi386 mkdir -p build-gcc64
mkdir -p build-binutilsarm64 mkdir -p build-binutils32
mkdir -p build-gccamd64 mkdir -p build-gcc32
mkdir -p build-gcci386
mkdir -p build-gccarm64
mkdir -p build-toolchain-binutils64
mkdir -p build-toolchain-gcc64
mkdir -p build-toolchain-binutils32
mkdir -p build-toolchain-gcc32
do_qemu: do_qemu:
cd 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 && \
make -j$(shell nproc) && make install make -j$(shell nproc) && make install
do_binutils64: do_binutils_64:
cd build-binutilsamd64 && \ cd build-binutils64 && \
../binutils-gdb/configure --target=amd64-elf --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 make all -j$(shell nproc) && make install
do_binutils32: do_gcc_64:
cd build-binutilsi386 && \ cd build-gcc64 && \
../binutils-gdb/configure --target=i386-elf --prefix="$(CROSS_DIR)" --with-sysroot --disable-werror && \ ../gcc/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --enable-shared --without-headers && \
make all -j$(shell nproc) && make install
do_binutilsarm64:
cd build-binutilsarm64 && \
../binutils-gdb/configure --target=aarch64-elf --prefix="$(CROSS_DIR)" --with-sysroot --disable-werror && \
make all -j$(shell nproc) && make install
do_gcc64:
cd build-gccamd64 && \
../gcc/configure --target=amd64-elf --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --without-headers && \
make all-gcc -j$(shell nproc) && make install-gcc -j$(shell nproc)
do_gcc32:
cd build-gcci386 && \
../gcc/configure --target=i386-elf --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --without-headers && \
make all-gcc -j$(shell nproc) && make install-gcc -j$(shell nproc)
do_gccarm64:
cd build-gccarm64 && \
../gcc/configure --target=aarch64-elf --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --without-headers && \
make all-gcc -j$(shell nproc) && make install-gcc -j$(shell nproc)
do_toolchain_binutils64:
cd build-toolchain-binutils64 && \
../binutils-gdb/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)/toolchain" --with-sysroot --enable-shared --disable-werror && \
make all -j$(shell nproc) && make install
do_toolchain_gcc64:
cd build-toolchain-gcc64 && \
../gcc/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)/toolchain" --enable-languages=c,c++ --enable-shared --without-headers && \
make all-gcc -j$(shell nproc) && \ make all-gcc -j$(shell nproc) && \
make all-target-libgcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \
make install-gcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \
make install-target-libgcc -j$(shell nproc) make install-target-libgcc -j$(shell nproc)
do_toolchain_binutils32: do_binutils_32:
cd build-toolchain-binutils32 && \ cd build-binutils32 && \
../binutils-gdb/configure --target=i386-fennix --prefix="$(CROSS_DIR)/toolchain" --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 make all -j$(shell nproc) && make install
do_toolchain_gcc32: do_gcc_32:
cd build-toolchain-gcc32 && \ cd build-gcc32 && \
../gcc/configure --target=i386-fennix --prefix="$(CROSS_DIR)/toolchain" --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-gcc -j$(shell nproc) && \
make all-target-libgcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \
make install-gcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \