extlinux-conf-builder: Choose whether to use DTBs on per-generation basis

Previously, the value from stdenv.platform.kernelDTB was used. That
doesn't work well if both kinds (DTB and non-DTB) of generations exist
in the system profile.

+5 -5
-1
nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix
··· 5 isExecutable = true; 6 path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; 7 inherit (pkgs) bash; 8 - kernelDTB = pkgs.stdenv.platform.kernelDTB or false; 9 }
··· 5 isExecutable = true; 6 path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; 7 inherit (pkgs) bash; 8 }
+5 -4
nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
··· 75 76 copyToKernelsDir "$path/kernel"; kernel=$result 77 copyToKernelsDir "$path/initrd"; initrd=$result 78 - if [ -n "@kernelDTB@" ]; then 79 - # XXX UGLY: maybe the system config should have a top-level "dtbs" entry? 80 - copyToKernelsDir $(readlink -m "$path/kernel/../dtbs"); dtbs=$result 81 fi 82 83 timestampEpoch=$(stat -L -c '%Z' $path) ··· 95 fi 96 echo " LINUX ../nixos/$(basename $kernel)" 97 echo " INITRD ../nixos/$(basename $initrd)" 98 - if [ -n "@kernelDTB@" ]; then 99 echo " FDTDIR ../nixos/$(basename $dtbs)" 100 fi 101 echo " APPEND systemConfig=$path init=$path/init $extraParams"
··· 75 76 copyToKernelsDir "$path/kernel"; kernel=$result 77 copyToKernelsDir "$path/initrd"; initrd=$result 78 + # XXX UGLY: maybe the system config should have a top-level "dtbs" entry? 79 + dtbDir=$(readlink -m "$path/kernel/../dtbs") 80 + if [ -d "$dtbDir" ]; then 81 + copyToKernelsDir "$dtbDir"; dtbs=$result 82 fi 83 84 timestampEpoch=$(stat -L -c '%Z' $path) ··· 96 fi 97 echo " LINUX ../nixos/$(basename $kernel)" 98 echo " INITRD ../nixos/$(basename $initrd)" 99 + if [ -d "$dtbDir" ]; then 100 echo " FDTDIR ../nixos/$(basename $dtbs)" 101 fi 102 echo " APPEND systemConfig=$path init=$path/init $extraParams"