aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2022-09-13 15:55:25 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2022-09-13 15:55:25 +0200
commit34f07db220270ed6d8ca1fdde0ad5b634fb20aff (patch)
tree6f20dd040e5bfcd585e65fa1d7593c34c2258d82
parentcb2a7c3f88bc358c38c4665d03be718b1d2aa5f8 (diff)
Shrink rust binary
-rw-r--r--Makefile14
1 files changed, 7 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index d6a4fe5..83da104 100644
--- 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