mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
sd-image-armv7l-multiplatform.nix: Preliminary Raspberry Pi 2/3 support
- RPi3 successfully gets to U-Boot, but then fails to boot the kernel due to a missing device tree file. This should get added to the 4.8 kernel release once this patch is merged: https://lkml.org/lkml/2016/6/1/841 - RPi2 is not tested, but it should successfully boot the NixOS image.
This commit is contained in:
parent
d8cd615720
commit
36f4a8a485
1 changed files with 20 additions and 2 deletions
|
@ -19,6 +19,9 @@ in
|
||||||
"it cannot be cross compiled";
|
"it cannot be cross compiled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Needed by RPi firmware
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
|
@ -30,8 +33,23 @@ in
|
||||||
users.extraUsers.root.initialHashedPassword = "";
|
users.extraUsers.root.initialHashedPassword = "";
|
||||||
|
|
||||||
sdImage = {
|
sdImage = {
|
||||||
populateBootCommands = ''
|
populateBootCommands = let
|
||||||
|
configTxt = pkgs.writeText "config.txt" ''
|
||||||
|
[pi2]
|
||||||
|
kernel=u-boot-rpi2.bin
|
||||||
|
|
||||||
|
[pi3]
|
||||||
|
kernel=u-boot-rpi3.bin
|
||||||
|
enable_uart=1
|
||||||
|
'';
|
||||||
|
in ''
|
||||||
|
for f in bootcode.bin fixup.dat start.elf; do
|
||||||
|
cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/$f boot/
|
||||||
|
done
|
||||||
|
cp ${pkgs.ubootRaspberryPi2}/u-boot.bin boot/u-boot-rpi2.bin
|
||||||
|
cp ${pkgs.ubootRaspberryPi3}/u-boot.bin boot/u-boot-rpi3.bin
|
||||||
|
cp ${configTxt} boot/config.txt
|
||||||
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
|
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue