Raspberry Pi: Difference between revisions
imported>Fadenb Created page with "== 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 /boo..." |
imported>Makefu No edit summary |
||
| Line 1: | Line 1: | ||
Also consult the page [[NixOS_on_ARM]] | |||
== Status == | == Status == | ||
The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. | 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: | There are still some drawbacks: | ||
| Line 9: | Line 11: | ||
== Download == | == 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%3A80magnet link (viric)] | 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%3A80magnet link (viric)] | ||
{{notice|text=nixpkgs contain code to [https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix build the sd-image for aarch64] but this is not currently built by hydra. Cross-building is unavailable for this, you will need another AARCH64 machine}} | |||
Then you should be able to nixos-rebuild any configuration.nix changes. | Then you should be able to nixos-rebuild any configuration.nix changes. | ||
Revision as of 18:51, 21 August 2017
Also consult the page NixOS_on_ARM
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): link (viric)
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.
Related Details
For reference, below is the content of /etc/nixos/configuration.nix extracted from the image:
{pkgs, config, ...}:
{
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"
"root=/dev/mmcblk0p2"
"rootfstype=ext4"
"rootwait"
#"console=tty1"
"elevator=deadline"
];
# cpufrequtils doesn't build on ARM
powerManagement.enable = false;
fileSystems = {
"/boot" = { device = "/dev/mmcblk0p1"; fsType = "vfat"; };
"/" = { device = "/dev/mmcblk0p2"; fsType = "ext4"; };
};
networking.hostName = "pi2";
services.xserver.enable = false;
services.openssh = {
enable = true;
# permitRootLogin = "yes";
passwordAuthentication = false;
};
services.nixosManual.enable = false;
nixpkgs.config = {
platform = pkgs.platforms.raspberrypi2;
allowUnfree = true;
};
nix.buildCores = 4;
nix.binaryCaches = [ ];
environment.systemPackages = [
pkgs.ts
pkgs.vim
pkgs.git
pkgs.pigz
pkgs.cjdns
pkgs.pv
pkgs.lzop
pkgs.nbd
];
security.sudo = {
enable = true;
wheelNeedsPassword = false;
};
}