]> git.lizzy.rs Git - loadnothing.git/commitdiff
Shrink rust binary
authorHimbeerserverDE <himbeerserverde@gmail.com>
Tue, 13 Sep 2022 13:55:25 +0000 (15:55 +0200)
committerHimbeerserverDE <himbeerserverde@gmail.com>
Tue, 13 Sep 2022 13:55:25 +0000 (15:55 +0200)
Makefile

index d6a4fe5e923143524b49ad836d731b02b057ca7b..83da1040fce2a1665b80a28589262840e2507426 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,24 +2,24 @@ default_target: vm
 .PHONY: vm clean
 
 stage1/boot.bin: stage1/boot.asm
-       nasm -f bin -o stage1/boot.bin stage1/boot.asm
+       nasm -DSTAGE2SIZE=$$(du -b stage2/target/x86_64-loadnothing/release/stage2 | cut -f1) -f bin -o stage1/boot.bin stage1/boot.asm
 
 magic.bin:
        echo -en "\x55\xAA" > magic.bin
 
-stage2/target/x86_64-loadnothing/debug/stage2: stage2/src/main.rs
-       cd stage2 && cargo build
+stage2/target/x86_64-loadnothing/release/stage2: stage2/src/main.rs
+       cd stage2 && cargo build --release
 
-nothing.img: magic.bin stage1/boot.bin stage2/target/x86_64-loadnothing/debug/stage2
-       dd if=/dev/zero of=nothing.img bs=16M count=1
+nothing.img: magic.bin stage1/boot.bin stage2/target/x86_64-loadnothing/release/stage2
+       dd if=/dev/zero of=nothing.img bs=32M count=1
        parted -s nothing.img mklabel msdos
-       parted -s -a optimal nothing.img mkpart primary fat32 256s 100%
+       parted -s -a optimal nothing.img mkpart primary fat32 16MiB 100%
        doas losetup /dev/loop1 nothing.img
        doas mkfs.fat /dev/loop1p1
        doas losetup -d /dev/loop1
        dd if=stage1/boot.bin of=nothing.img bs=1 count=446 conv=notrunc
        dd if=magic.bin of=nothing.img bs=1 seek=510 count=2 conv=notrunc
-       dd if=stage2/target/x86_64-loadnothing/debug/stage2 of=nothing.img bs=512 seek=1 conv=notrunc
+       dd if=stage2/target/x86_64-loadnothing/release/stage2 of=nothing.img bs=512 seek=1 conv=notrunc
 
 vm: nothing.img
        qemu-system-x86_64 -hda nothing.img