From adec704b49d812f1f0b2d30b4c078900484979f2 Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Sat, 28 Feb 2026 14:12:35 +0100 Subject: [PATCH] feat: add release build option --- GNUmakefile | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++- ramdisk.tar | Bin 16660480 -> 16660480 bytes 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/GNUmakefile b/GNUmakefile index a5d8559..f59b26b 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -227,6 +227,59 @@ ifeq ($(ARCH),loongarch64) endif rm -rf iso_root +.PHONY: release +release: limine/limine kernel ramdisk + rm -rf iso_root .release-tmp + mkdir -p iso_root/boot + cp kernel/bin-$(ARCH)/kernel iso_root/boot/ + strip iso_root/boot/kernel + cp -r programs/bin .release-tmp + find .release-tmp -name '*.elf' -exec strip {} + + ./scripts/mkramdisk.sh .release-tmp iso_root/boot/ramdisk.tar + rm -rf .release-tmp + mkdir -p iso_root/boot/limine + cp limine.conf iso_root/boot/limine/ + mkdir -p iso_root/EFI/BOOT +ifeq ($(ARCH),x86_64) + cp limine/limine-bios.sys limine/limine-bios-cd.bin limine/limine-uefi-cd.bin iso_root/boot/limine/ + cp limine/BOOTX64.EFI iso_root/EFI/BOOT/ + cp limine/BOOTIA32.EFI iso_root/EFI/BOOT/ + xorriso -as mkisofs -R -r -J -b boot/limine/limine-bios-cd.bin \ + -no-emul-boot -boot-load-size 4 -boot-info-table -hfsplus \ + -apm-block-size 2048 --efi-boot boot/limine/limine-uefi-cd.bin \ + -efi-boot-part --efi-boot-image --protective-msdos-label \ + iso_root -o $(IMAGE_NAME).iso + ./limine/limine bios-install $(IMAGE_NAME).iso +endif +ifeq ($(ARCH),aarch64) + cp limine/limine-uefi-cd.bin iso_root/boot/limine/ + cp limine/BOOTAA64.EFI iso_root/EFI/BOOT/ + xorriso -as mkisofs -R -r -J \ + -hfsplus -apm-block-size 2048 \ + --efi-boot boot/limine/limine-uefi-cd.bin \ + -efi-boot-part --efi-boot-image --protective-msdos-label \ + iso_root -o $(IMAGE_NAME).iso +endif +ifeq ($(ARCH),riscv64) + cp limine/limine-uefi-cd.bin iso_root/boot/limine/ + cp limine/BOOTRISCV64.EFI iso_root/EFI/BOOT/ + xorriso -as mkisofs -R -r -J \ + -hfsplus -apm-block-size 2048 \ + --efi-boot boot/limine/limine-uefi-cd.bin \ + -efi-boot-part --efi-boot-image --protective-msdos-label \ + iso_root -o $(IMAGE_NAME).iso +endif +ifeq ($(ARCH),loongarch64) + cp limine/limine-uefi-cd.bin iso_root/boot/limine/ + cp limine/BOOTLOONGARCH64.EFI iso_root/EFI/BOOT/ + xorriso -as mkisofs -R -r -J \ + -hfsplus -apm-block-size 2048 \ + --efi-boot boot/limine/limine-uefi-cd.bin \ + -efi-boot-part --efi-boot-image --protective-msdos-label \ + iso_root -o $(IMAGE_NAME).iso +endif + rm -rf iso_root + $(IMAGE_NAME).hdd: limine/limine kernel ramdisk rm -f $(IMAGE_NAME).hdd dd if=/dev/zero bs=1M count=0 seek=64 of=$(IMAGE_NAME).hdd @@ -258,7 +311,7 @@ endif clean: $(MAKE) -C kernel clean # $(MAKE) -C programs clean - rm -rf iso_root $(IMAGE_NAME).iso $(IMAGE_NAME).hdd ramdisk.tar + rm -rf iso_root .release-tmp $(IMAGE_NAME).iso $(IMAGE_NAME).hdd ramdisk.tar .PHONY: distclean distclean: diff --git a/ramdisk.tar b/ramdisk.tar index fd2fb74486a4fb5323145d50886f51b20c71cccb..0198e3db4c716b04d15ebf6621400245a8c18d52 100644 GIT binary patch delta 3234 zcmY+_dAt>47{Kx7B=;6AH|iidDJgE4<(wHxiYP^ekdSPlMaxBZW)6v#Q*tWnQITww zCED(Nqq39~DTUlpQpmnUREqeW?q_D6^T+qE_j%{tp68iSyY>~0${VANi7l!*X+-^$ zk+O{%x@nkJszx(CH+)@_o0ZnCR%0y_cWbJ+dszAMFi0ml2+9yd;NjU7!LZ@jh7}Ae zZFud*+Squ}*m!Y8ymtApAj;HrJsCu0h(aA4fg@3unf0Z1Wl&=5!A zXf#rq(>S{y5hkm#oH{eFxgqzVH zx8PRXh5;CeK^TnNF$6;~48u`|J8&oN!U&}eD9_Fgp2V;nBYYC2CDJ=J^=(6UPOC7$ zG052{S>0?&Fl1VG(u{@@US&+Fo^Dkv3^4VS9R>7qvo*sZNC)l=UPce6nw(V)(VFVOXfsNzapk8TX~zp)0(>Dh^s9X z>+-I;c$SPiK9=iYdu6#9j#o$3vb_n>R}3R1)AmsMwDY3$F`SgVnGRwZx{%E14&LgT z>iursN|BpJQrv1!aXiCG+9KtPyrnU?c>lpto1e*hljE(d0|!ZP=y8B*Bz+khR*QXsN8mMZ>R7Brmc$` zZ|TciD`*kbWqg`{@UU>MkupR=S#qv!>Egmf4{7U*9zp{XSJTNaIJqN|B;hTHsfAtr zEn$ipl%{yI?tZpKv@b{2Pf5DJrfwVyG0c@{nQ{DMnyWWS#14bs%$#eVan!?{M%5Rb9emrWxj*UfKP zRaW^?;TyJ|5_7lsQDxAI3hy%iGuZ7%)l920Mbp?T_e>)YPb41lpg-@3VB@p{`OBzo z!gbTK2|MzoOVZ+GmTkxt4&`{0wA@`mD@~-c^}}^-M;^MnKTXT6yUv}fE;Q1e!`+#d zBhS!YF0R`$6ArlfhSMb-H5~e>EY6;3Ss#umQZ!#5nJK-~xEuFiB<{s1+=u%y8e=dP zJcNhw2p+{_cpN!AfvK2=>39-PVFsSYOgw{U@f@DV3z&u3 zn1dJb5?;nDn2T5O8s=d>7GNP3p#qgqSd7>429{tcmf=mjg}3nzmSY9p#Y((~RalMp z@d4K0L#)L*e1!GbfRFJBKE+0ShAM2rW_*q<*orT(4PRnAcHk>~jc>3M-{L!bk00bhJ*WVZeliBy6PM;Ak9!9_WcCb`I2C=-5B+f(PR9TY#2}o3GjSFM<7}LRb5V}-Fa+o00$hlp7>41v2p8iL zT#Cyu0+-_oT!{)?g^?JAt1%j5Fcy`l!Zo-S*I}H}Dyp;dgDWvojuBpo(h}*dn)<4Z zyP!)r!7=PqP(sw8n=NY?(y3!BWr?ALR~u7mkXsiECz!e{jKOZUNjSt;Ma?9<8%2h2$7k6jCDnftFje*>A2s8SgGG31(6IRx+BEakFB`wCrf8 zn>Q_{rq6J9?H;W)tgsRCo0lYV%~!a$hU2C#yDyQRtL1wC=a;DkRepyu_4Ybv%<=M}KT_|725{N?DD z46%;O$*E>uU9i;TfW-xrc=C80dGu4fahj@b?Zx+MSle*%Nk{5RHxog z2X)$WUZ3d7$V#MJXyY}WXk)#o%3k$k8z*&fn}s%B@6|UCld>#%*mW|g;szb+UZv&6 z%<+y;xh>v~KH&#U+Yy;{_8V)h@t#Bx6xz7EzpH7(+J*_XE>7H%Yjsn8R=goS{KhvV zU+6qw;%NH#MVUL|N)q1Em|E7)-xQXp!Q&_<4Dhp^qPQHnwk$nDQFD!7TloBXIVc#7nC6sqVqKk8=FuuT#3 z4jHpyC&e=_E^?Q@c#j}(o&)*IC_KWg(((~@Z1I`0bYo_P-<(`qh^~EFMpyKdCeqo` zaNm?8lOEvD(sCPyxeHZaBYjF3ooP8ThvS0H^ChgOFB}XJ(a(?L220^ zjw!A)-yfOjVghc$&A0^