summaryrefslogtreecommitdiff
path: root/bootle/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'bootle/package.nix')
-rw-r--r--bootle/package.nix68
1 files changed, 0 insertions, 68 deletions
diff --git a/bootle/package.nix b/bootle/package.nix
deleted file mode 100644
index 822cf89..0000000
--- a/bootle/package.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- callPackage,
- rust-bin,
- naersk,
- bootler,
- qemu,
- ...
-}: let
- rust-toolchain = rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
- naersk' = callPackage naersk {
- cargo = rust-toolchain;
- rustc = rust-toolchain;
- clippy = rust-toolchain;
- };
-in (naersk'.buildPackage {
- src = ./.;
-
- # deps for rust-src
- additionalCargoLock = "${rust-toolchain.availableComponents.rust-src}/lib/rustlib/src/rust/library/Cargo.lock";
-
- # just library build
- copyBins = false;
- copyLibs = true;
- release = true;
-
- # build std
- cargoBuildOptions = x:
- x
- ++ [
- "-Zbuild-std"
- ];
-
- postInstall = ''
- ld --oformat binary \
- -o kernel.bin \
- -T src/linker.ld \
- -e _start \
- target/x86_64-unknown-none/release/libbootle.a
-
- dd if=/dev/zero of=disk bs=512 count=2880
- dd if=${bootler}/bin/boot.bin of=disk conv=notrunc
- dd if=kernel.bin of=disk bs=512 seek=1 conv=notrunc
-
- mkdir -p $out/lib
- mkdir -p $out/bin
-
- cat<<EOF>$out/bin/bootle
- #!/usr/bin/env bash
-
- mkdir -p ./.bootle
- cp $(echo $out)/bin/disk ./.bootle/disk
- chmod a+w ./.bootle/disk
-
- ${qemu}/bin/qemu-system-x86_64 \
- -nographic \
- -drive file=./.bootle/disk,format=raw,index=0,media=disk
-
- rm ./.bootle -r
-
- EOF
-
- chmod +x $out/bin/bootle
-
- cp target/x86_64-unknown-none/release/libbootle.a $out/lib
- cp kernel.bin $out/bin
- cp disk $out/bin
- '';
-})