63c3aed442
Since commits 89e9837 and 5b8dae8 the manual no longer depends on evaluation of any packages from nixpkgs, so all errors of the form "Package 'foo' is not supported on 'armv7l-linux'" are gone.
44 lines
1.2 KiB
Nix
44 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
extlinux-conf-builder =
|
|
import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix {
|
|
inherit pkgs;
|
|
};
|
|
in
|
|
{
|
|
imports = [
|
|
../../profiles/minimal.nix
|
|
../../profiles/installation-device.nix
|
|
./sd-image.nix
|
|
];
|
|
|
|
assertions = lib.singleton {
|
|
assertion = pkgs.stdenv.system == "armv6l-linux";
|
|
message = "sd-image-raspberrypi.nix can be only built natively on ARMv6; " +
|
|
"it cannot be cross compiled";
|
|
};
|
|
|
|
# Needed by RPi firmware
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
boot.loader.grub.enable = false;
|
|
boot.loader.generic-extlinux-compatible.enable = true;
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
|
|
|
# FIXME: this probably should be in installation-device.nix
|
|
users.extraUsers.root.initialHashedPassword = "";
|
|
|
|
sdImage = {
|
|
populateBootCommands = ''
|
|
for f in bootcode.bin fixup.dat start.elf; do
|
|
cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/$f boot/
|
|
done
|
|
cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi.bin
|
|
echo 'kernel u-boot-rpi.bin' > boot/config.txt
|
|
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
|
|
'';
|
|
};
|
|
}
|