magic.bin:
echo -en "\x55\xAA" > magic.bin
-stage2/target/x86_64-unknown-none/debug/stage2:
- cd stage2 && cargo build --target x86_64-unknown-none
+stage2/target/x86_64-loadnothing/debug/stage2:
+ cd stage2 && cargo build
-nothing.img: magic.bin stage1/boot.bin stage2/target/x86_64-unknown-none/debug/stage2
+nothing.img: magic.bin stage1/boot.bin stage2/target/x86_64-loadnothing/debug/stage2
dd if=/dev/zero of=nothing.img bs=2M count=1
parted -s nothing.img mklabel msdos
parted -s -a optimal nothing.img mkpart primary fat32 1M 100%
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-unknown-none/debug/stage2 of=nothing.img bs=1 seek=512 conv=notrunc
+ dd if=stage2/target/x86_64-loadnothing/debug/stage2 of=nothing.img bs=1 seek=512 conv=notrunc
vm: clean nothing.img
qemu-system-x86_64 -hda nothing.img
--- /dev/null
+[unstable]
+build-std = ["core", "compiler_builtins"]
+build-std-features = ["compiler-builtins-mem"]
+
+[build]
+target = "x86_64-loadnothing.json"
--- /dev/null
+{
+ "llvm-target": "x86_64-unknown-none",
+ "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128",
+ "arch": "x86_64",
+ "target-endian": "little",
+ "target-pointer-width": "64",
+ "target-c-int-width": "32",
+ "os": "none",
+ "executables": true,
+ "linker-flavor": "ld.lld",
+ "linker": "rust-lld",
+ "panic-strategy": "abort",
+ "disable-redzone": true,
+ "features": "-mmx,-sse,+soft-float"
+}