26 lines
1.0 KiB
Nix
26 lines
1.0 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
netboot_xyz_efi = pkgs.fetchurl {
|
|
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/2.0.40/netboot.xyz.efi";
|
|
sha256 = "1gvgvlaxhjkr9i0b2bjq85h12ni9h5fn6r8nphsag3il9kificcc";
|
|
};
|
|
netboot_xyz_kpxe = pkgs.fetchurl {
|
|
url = "https://github.com/netbootxyz/netboot.xyz/releases/download/2.0.40/netboot.xyz.kpxe";
|
|
sha256 = "1crkr995i1hv3q548gx2xan1ymxmzcnr7mxaf77s2410mpqfcx82";
|
|
};
|
|
tftpRoot = pkgs.runCommand "tftproot" {} ''
|
|
mkdir -p $out
|
|
ln -s ${netboot_xyz_efi} $out/netboot.xyz.efi
|
|
ln -s ${netboot_xyz_kpxe} $out/netboot.xyz.kpxe
|
|
cp -rs ${pkgs.raspberrypifw}/share/raspberrypi/boot/* $out/
|
|
echo "kernel=kernel8.img" > $out/config.txt
|
|
echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/nfs nfsroot=172.22.99.20:/mnt/cephfs/c3d2/hosts/rpi-nfsroot,nolock,vers=3 nfsrootdebug ro rootwait ip=dhcp rootfstype=nfs verbose" > $out/cmdline.txt
|
|
'';
|
|
in
|
|
{
|
|
services.atftpd = {
|
|
enable = true;
|
|
root = tftpRoot;
|
|
};
|
|
}
|