forked from cleverca22/not-os
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrpi_image.nix
32 lines (31 loc) · 1.16 KB
/
rpi_image.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ config, pkgs, ... }:
{
nixpkgs.system = "armv7l-linux";
system.build.rpi_image = let
config_txt = pkgs.writeText "config.txt" ''
initramfs initrd followkernel
dtoverlay=pi3-disable-bt
enable_uart=1
'';
cmdline = pkgs.writeText "cmdline.txt" ''
console=ttyS0,115200 pi3-disable-bt kgdboc=ttyS0,115200 systemConfig=${builtins.unsafeDiscardStringContext config.system.build.toplevel} netroot=192.168.2.1=9080d9b6/root.squashfs quiet splash plymouth.ignore-serial-consoles plymouth.ignore-udev
'';
in pkgs.runCommand "rpi_image" {} ''
mkdir $out
cd $out
cp ${config_txt} config.txt
cp ${cmdline} cmdline.txt
cp -s ${config.system.build.kernel}/*zImage kernel7.img
cp -s ${config.system.build.squashfs} root.squashfs
cp ${./../bcm2710-rpi-3-b.dtb} bcm2710-rpi-3-b.dtb
cp -r ${./../../overlays} overlays
cp -s ${../../start.elf} start.elf
cp ${../../fixup.dat} fixup.dat
cp -s ${config.system.build.initialRamdisk}/initrd initrd
ls -ltrhL
'';
environment.systemPackages = [ pkgs.strace ];
nixpkgs.config.packageOverrides = pkgs: {
linux_rpi = pkgs.callPackage ./linux-rpi.nix {};
};
}