31 lines
956 B
Nix
31 lines
956 B
Nix
|
{ stdenv, pkgs }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "bootpart-uefi-x86_64";
|
||
|
version = "1";
|
||
|
|
||
|
buildInputs = [ pkgs.syslinux ];
|
||
|
|
||
|
dontUnpack = true;
|
||
|
|
||
|
installPhase = with pkgs; ''
|
||
|
# populate the EFI directory with syslinux, and configure it to read that extlinux.conf file managed by nixos
|
||
|
mkdir -p "$out/EFI/syslinux" "$out/EFI/BOOT"
|
||
|
cp -R "${syslinux}/share/syslinux/efi64"/* "$out/EFI/syslinux"
|
||
|
echo "DEFAULT trampoline" > "$out/EFI/syslinux/syslinux.cfg"
|
||
|
echo "LABEL trampoline" >> "$out/EFI/syslinux/syslinux.cfg"
|
||
|
echo "CONFIG ../../extlinux/extlinux.conf ../../extlinux" >> "$out/EFI/syslinux/syslinux.cfg"
|
||
|
|
||
|
# create the EFI/BOOT/BOOTX64.EFI default entry
|
||
|
cp "$out/EFI/syslinux"/* "$out/EFI/BOOT"
|
||
|
mv "$out/EFI/BOOT/syslinux.efi" "$out/EFI/BOOT/BOOTX64.EFI"
|
||
|
'';
|
||
|
|
||
|
|
||
|
meta = {
|
||
|
description = "unmanaged files to place in /boot on a x86-64 extlinux system";
|
||
|
platforms = [ "x86_64-linux" ];
|
||
|
};
|
||
|
}
|
||
|
|