2016-02-26 10:29:48 +00:00
|
|
|
/** imported from https://nixos.org/wiki/Raspberry_Pi_2 **
|
|
|
|
|
|
|
|
# Status
|
|
|
|
The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2.
|
|
|
|
|
|
|
|
There are still some drawbacks:
|
|
|
|
|
|
|
|
NixOS does not provide a /boot/config.txt (the FAT32 partition).
|
|
|
|
Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net).
|
|
|
|
|
|
|
|
# Download
|
|
|
|
If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs):
|
|
|
|
magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80
|
|
|
|
|
|
|
|
Then you should be able to nixos-rebuild any configuration.nix changes.
|
|
|
|
|
|
|
|
The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel.
|
|
|
|
|
|
|
|
In fact I (viric) created the FS into a NBD, not a real SD, to create this image.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2017-07-04 23:16:22 +00:00
|
|
|
{ pkgs, config, lib, ...}:
|
2016-02-26 10:29:48 +00:00
|
|
|
|
|
|
|
{
|
|
|
|
boot.consoleLogLevel = 7;
|
|
|
|
boot.loader.grub.enable = false;
|
|
|
|
boot.loader.generationsDir.enable = false;
|
|
|
|
boot.loader.raspberryPi.enable = true;
|
|
|
|
boot.loader.raspberryPi.version = 2;
|
|
|
|
boot.extraTTYs = [ "ttyAMA0" ];
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
|
|
|
boot.kernelParams = [
|
|
|
|
#"coherent_pool=6M"
|
|
|
|
#"smsc95xx.turbo_mode=N"
|
|
|
|
"dwc_otg.lpm_enable=0"
|
|
|
|
"console=ttyAMA0,115200"
|
|
|
|
"rootwait"
|
|
|
|
#"console=tty1"
|
|
|
|
"elevator=deadline"
|
|
|
|
];
|
|
|
|
|
|
|
|
# cpufrequtils doesn't build on ARM
|
|
|
|
powerManagement.enable = false;
|
|
|
|
|
|
|
|
services.xserver.enable = false;
|
|
|
|
services.openssh.enable = true;
|
|
|
|
|
|
|
|
services.nixosManual.enable = false;
|
|
|
|
|
|
|
|
nixpkgs.config = {
|
2017-07-04 23:16:22 +00:00
|
|
|
# Since https://github.com/NixOS/nixpkgs/commit/f0b634c7e838cdd65ac6f73933c99af3f38d0fa8
|
|
|
|
nixpkgs.config.platform = lib.systems.platforms.raspberrypi2;
|
|
|
|
# Earlier than that, use this:
|
|
|
|
# platform = pkgs.platforms.raspberrypi2;
|
|
|
|
# Also be aware of this issue if you're encountering infinite recursion:
|
|
|
|
# https://github.com/NixOS/nixpkgs/issues/24170
|
|
|
|
|
2016-02-26 10:29:48 +00:00
|
|
|
allowUnfree = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
nix.buildCores = 4;
|
|
|
|
nix.binaryCaches = [ ];
|
2017-07-04 23:16:22 +00:00
|
|
|
}
|