Skip to content

Instantly share code, notes, and snippets.

@Patagonicus
Created June 30, 2020 06:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Patagonicus/d7a9b968580ce027aa2838d9c6ca341b to your computer and use it in GitHub Desktop.
Save Patagonicus/d7a9b968580ce027aa2838d9c6ca341b to your computer and use it in GitHub Desktop.
{
imports = [
./configuration.nix
<nixpkgs/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix>
];
nixpkgs.crossSystem = {
system = "armv7l-linux";
};
}
{ config, pkgs, lib, ... }:
{
imports = [
<nixpkgs/nixos/modules/profiles/minimal.nix>
<nixpkgs/nixos/modules/profiles/installation-device.nix>
<nixpkgs/nixos/modules/installer/cd-dvd/sd-image.nix>
];
sdImage.compressImage = false;
nixpkgs.overlays = [(self: super: {
# Does not cross-compile...
alsa-firmware = pkgs.runCommandNoCC "neutered-firmware" {} "mkdir -p $out";
# A "regression" in nixpkgs, where python3 pycryptodome does not cross-compile.
crda = pkgs.runCommandNoCC "neutered-firmware" {} "mkdir -p $out";
})];
# (Failing build in a dep to be investigated)
security.polkit.enable = false;
# cifs-utils fails to cross-compile
# Let's simplify this by removing all unneeded filesystems from the image.
boot.supportedFilesystems = lib.mkForce [ "vfat" ];
# texinfoInteractive has trouble cross-compiling
documentation.info.enable = lib.mkForce false;
# `xterm` is being included even though this is GUI-less.
# → https://github.com/NixOS/nixpkgs/pull/62852
services.xserver.desktopManager.xterm.enable = lib.mkForce false;
# ec6224b6cd147943eee685ef671811b3683cb2ce re-introduced udisks in the installer
# udisks fails due to gobject-introspection being not cross-compilation friendly.
services.udisks2.enable = lib.mkForce false;
environment.systemPackages = with pkgs; [
ddrescue
htop
tmux
wget
odroid-xu3-bootloader
];
}
# Build with:
# nix-build system.nix
# Commit 22a3bf9fb9edad917fb6cd1066d58b5e426ee975 is known to be working.
{}:
(import <nixpkgs/nixos> { configuration = ./armv7l-linux.nix; })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment