ma firecracker: add config for rk3399
This commit is contained in:
parent
5dd8fc794a
commit
1c9816a088
25
1systems/firecracker/config.nix
Normal file
25
1systems/firecracker/config.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
primaryInterface = "eth0";
|
||||
in {
|
||||
imports = [
|
||||
<stockholm/makefu>
|
||||
./hardware-config.nix
|
||||
# <stockholm/makefu/2configs/tools/core.nix>
|
||||
{ environment.systemPackages = with pkgs;[ rsync screen curl git ];}
|
||||
<stockholm/makefu/2configs/binary-cache/nixos.nix>
|
||||
#<stockholm/makefu/2configs/support-nixos.nix>
|
||||
# configure your hw:
|
||||
# <stockholm/makefu/2configs/save-diskspace.nix>
|
||||
];
|
||||
krebs = {
|
||||
enable = true;
|
||||
tinc.retiolum.enable = true;
|
||||
build.host = config.krebs.hosts.firecracker;
|
||||
};
|
||||
networking.firewall.trustedInterfaces = [ primaryInterface ];
|
||||
documentation.info.enable = false;
|
||||
documentation.man.enable = false;
|
||||
services.nixosManual.enable = false;
|
||||
sound.enable = false;
|
||||
}
|
30
1systems/firecracker/hardware-config.nix
Normal file
30
1systems/firecracker/hardware-config.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
boot.kernelParams = lib.mkForce ["console=ttyS2,1500000n8" "earlycon=uart8250,mmio32,0xff1a0000" "earlyprintk"];
|
||||
boot.loader.grub.enable = false;
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
boot.loader.generic-extlinux-compatible.configurationLimit = 1;
|
||||
boot.loader.generationsDir.enable = lib.mkDefault false;
|
||||
boot.supportedFilesystems = lib.mkForce [ "vfat" ];
|
||||
|
||||
boot.tmpOnTmpfs = lib.mkForce false;
|
||||
boot.cleanTmpDir = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
## wifi not working, will be fixed with https://github.com/NixOS/nixpkgs/pull/53747
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
networking.wireless.enable = true;
|
||||
# File systems configuration for using the installer's partition layout
|
||||
swapDevices = [ { device = "/var/swap"; size = 4096; } ];
|
||||
fileSystems = {
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-label/NIXOS_BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NIXOS_SD";
|
||||
fsType = "ext4";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
4
1systems/firecracker/source.nix
Normal file
4
1systems/firecracker/source.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
name="cake";
|
||||
full = true;
|
||||
}
|
40
1systems/sdcard/config.nix
Normal file
40
1systems/sdcard/config.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
kernel = pkgs.callPackage ./kernel.nix {
|
||||
kernelPatches = with pkgs.kernelPatches; [
|
||||
# kernelPatches.bridge_stp_helper
|
||||
# kernelPatches.modinst_arg_list_too_long
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
<nixpkgs/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix>
|
||||
# <stockholm/makefu/2configs/minimal.nix>
|
||||
];
|
||||
# TODO: NIX_PATH and nix.nixPath are being set by default.nix right now
|
||||
# cd ~/stockholm ; nix build config.system.build.sdImage -I nixos-config=makefu/1systems/sdcard/config.nix -f /home/makefu/nixpkgs/nixos
|
||||
|
||||
boot.kernelParams = ["console=ttyS2,1500000" "earlycon=uart8250,mmio32,0xff1a0000"];
|
||||
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
boot.kernelPackages = pkgs.linuxPackagesFor kernel;
|
||||
boot.supportedFilesystems = lib.mkForce [ "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
|
||||
|
||||
# krebs.hidden-ssh.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
aria2
|
||||
ddrescue
|
||||
];
|
||||
environment.extraInit = ''
|
||||
EDITOR=vim
|
||||
'';
|
||||
# iso-specific
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
hostKeys = [
|
||||
{ bits = 8192; type = "ed25519"; path = "/etc/ssh/ssh_host_ed25519_key"; }
|
||||
];
|
||||
};
|
||||
# enable ssh in the iso boot process
|
||||
systemd.services.sshd.wantedBy = lib.mkForce [ "multi-user.target" ];
|
||||
}
|
15
1systems/sdcard/kernel.nix
Normal file
15
1systems/sdcard/kernel.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ fetchFromGitLab, buildLinux, ... } @ args:
|
||||
buildLinux (args // rec {
|
||||
version = "4.4.55";
|
||||
modDirVersion = "4.4.55";
|
||||
extraMeta.branch = "4.4";
|
||||
defconfig = "firefly_linux_defconfig";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "TeeFirefly";
|
||||
repo = "linux-kernel";
|
||||
rev = "firefly_0821_release";
|
||||
sha256 = "1fwj9cm5ysz286znrr3fyrhfn903m84i7py4rv3y3h9avxb3zl1r";
|
||||
};
|
||||
extraMeta.platforms = [ "aarch64-linux" ];
|
||||
} // (args.argsOverride or {}))
|
3
1systems/sdcard/source.nix
Normal file
3
1systems/sdcard/source.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
name="iso";
|
||||
}
|
Loading…
Reference in a new issue