diff --git a/pkgs/bootpart-tow-boot-rpi-aarch64/config.txt b/pkgs/bootpart-tow-boot-rpi-aarch64/config.txt new file mode 100644 index 00000000..8bd11851 --- /dev/null +++ b/pkgs/bootpart-tow-boot-rpi-aarch64/config.txt @@ -0,0 +1,13 @@ +[pi3] +kernel=Tow-Boot.noenv.rpi3.bin + +[pi4] +kernel=Tow-Boot.noenv.rpi4.bin +enable_gic=1 +armstub=armstub8-gic.bin +disable_overscan=1 + +[all] +arm_64bit=1 +enable_uart=1 +avoid_warnings=1 diff --git a/pkgs/bootpart-tow-boot-rpi-aarch64/default.nix b/pkgs/bootpart-tow-boot-rpi-aarch64/default.nix new file mode 100644 index 00000000..91dee212 --- /dev/null +++ b/pkgs/bootpart-tow-boot-rpi-aarch64/default.nix @@ -0,0 +1,37 @@ +{ stdenv, pkgs }: + +stdenv.mkDerivation rec { + pname = "bootpart-tow-boot-rpi-aarch64"; + version = "1"; + + buildInputs = with pkgs; [ + tow-boot-rpi4 # for Tow-Boot.*.bin + raspberrypifw # for bootcode.bin, *.dat, *.elf, *.dtb + raspberrypi-armstubs # for armstub* + + ]; + + src = ./config.txt; + + dontUnpack = true; + + installPhase = with pkgs; '' + mkdir "$out" + cp ${tow-boot-rpi4}/Tow-Boot.noenv.*.bin "$out"/ + cp -R ${raspberrypifw}/share/raspberrypi/boot/*.dtb "$out"/ + cp -R ${raspberrypifw}/share/raspberrypi/boot/*.bin "$out"/ + cp -R ${raspberrypifw}/share/raspberrypi/boot/*.dat "$out"/ + cp -R ${raspberrypifw}/share/raspberrypi/boot/*.img "$out"/ + cp -R ${raspberrypifw}/share/raspberrypi/boot/*.elf "$out"/ + cp -R ${raspberrypifw}/share/raspberrypi/boot/overlays "$out"/ + cp ${raspberrypi-armstubs}/* "$out"/ + cp ${src} "$out"/config.txt + ''; + + + meta = { + description = "unmanaged files to place in /boot on a raspberry pi system"; + platforms = [ "aarch64-linux" ]; + }; +} + diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix index c9963695..f212e3e6 100644 --- a/pkgs/overlay.nix +++ b/pkgs/overlay.nix @@ -1,10 +1,13 @@ -(next: prev: { +(next: prev: rec { #### my own, non-upstreamable packages: sane-scripts = prev.callPackage ./sane-scripts { }; tow-boot-pinephone = prev.callPackage ./tow-boot-pinephone { }; tow-boot-rpi4 = prev.callPackage ./tow-boot-rpi4 { }; bootpart-uefi-x86_64 = prev.callPackage ./bootpart-uefi-x86_64 { pkgs = prev; }; - + bootpart-tow-boot-rpi-aarch64 = prev.callPackage ./bootpart-tow-boot-rpi-aarch64 { + # not sure why i can't just do pkgs = next here + pkgs = prev // { inherit tow-boot-rpi4; }; + }; #### customized packages # nixos-unstable pleroma is too far out-of-date for our db