Skip to content

Instantly share code, notes, and snippets.

@qknight
Created May 8, 2015 21:42
Show Gist options
  • Save qknight/29995346a5846b2f0836 to your computer and use it in GitHub Desktop.
Save qknight/29995346a5846b2f0836 to your computer and use it in GitHub Desktop.
# configuration.nix
{pkgs, config, lib,...}:
{
networking.firewall.enable = false;
services.openssh.enable = false;
services.nixosManual.enable = false; # slows down nixos-rebuilds, also requires nixpkgs.config.allowUnfree here..?
services.nscd.enable = false;
services.cron.enable = false;
services.ntp.enable = false;
security.sudo.enable = false;
sound.enable = false;
#services.mingetty.autologinUser = "nixos";
users.extraUsers.nixos = {
isNormalUser = true;
uid = 1000;
extraGroups = ["wheel"];
};
boot = {
kernelPackages = pkgs.linuxPackages_rpi;
#kernelPackages = pkgs.linuxPackages_odroid_u; # odroid u3 image
kernelParams = [
"console=tty1 console=ttySAC1,115200 mem=2047M console=tty1 console=ttySAC1,115200n8"
"mem=2047M"
"smsc95xx.turbo_mode=N"
"dwc_otg.lpm_enable=0"
"root=/dev/mmcblk0p2"
"rootwait"
];
loader.grub.enable = false;
};
fileSystems = [
{
device = "/dev/mmcblk0p1";
mountPoint = "/boot";
fsType = "vfat";
}
{
device = "/dev/mmcblk0p2";
mountPoint = "/";
fsType = "ext4";
}
];
#
# services.xserver.enable = false;
# services.openssh = {
# enable = true;
# permitRootLogin = "yes";
# };
#
nixpkgs.config = {
platform = pkgs.platforms.odroid_u;
};
nix.binaryCaches = [];
}
# nix.conf
build-users-group = nixbld
build-max-jobs = 2
build-cores = 4
build-use-chroot = true
trusted-binary-caches =
build-chroot-dirs = /bin/sh=/nix/store/bafimhdj1yaxj6m1hvq7wvhwwizc939x-bootstrap-tools/bin/bash /nix/store/bafimhdj1yaxj6m1hvq7wvhwwizc939x-bootstrap-tools
#build-chroot-dirs = /bin/sh=/nix/store/4dd49ybmqlaq2xw6cb4wxrgs51zhv19s-bash-4.3-p33/bin/bash /nix/store/4dd49ybmqlaq2xw6cb4wxrgs51zhv19s-bash-4.3-p33 /nix/store/93zfs0zzndi7pkjkjxawlafdj8m90kg5-glibc-2.20 /nix/store/f4pdhyn64xrswv869blvvy05y1p7vyfn-linux-headers-3.12.32
# git patch on top of staging
diff --git a/pkgs/os-specific/linux/kernel/linux-odroid_u.nix b/pkgs/os-specific/linux/kernel/linux-odroid_u.nix
new file mode 100644
index 0000000..46f4d6a
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-odroid_u.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchgit, ... } @ args:
+
+import ./generic.nix (args // rec {
+ version = "3.19";
+
+ modDirVersion = "3.19";
+
+ src = fetchgit {
+ url = "https://github.com/nixcloud/linux-odroid.git";
+ rev = "684c5f18e43b200d07f8aa347ae0836d8d1e4076";
+ sha256 = "0f4i94r40r67a1kmd6xkp8kcplp6nkpr4lfqnhb1d8w9qx9xsydi";
+ };
+
+ #features.iwlwifi = true;
+
+ extraMeta.hydraPlatforms = [];
+})
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index 7924615..8c0f0e9 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
- sha256 = "1w7d10h6hzgz5zww8g4aja2fbl7xwx30vd07hcg1fcy7hm8yc1q2";
+ sha256 = "16703m6g5l97af3jwpypgac7gpmh3yjkdpqygf5a2scfip0hxm2g";
};
# Look for ‘sysless’ in /etc.
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a730220..3f2058c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9242,6 +9242,10 @@ let
];
};
+ linux_odroid_u = makeOverridable (import ../os-specific/linux/kernel/linux-odroid_u.nix) {
+ inherit fetchgit fetchurl stdenv perl buildLinux;
+ };
+
linux_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi.nix) {
inherit fetchurl stdenv perl buildLinux;
kernelPatches = [ kernelPatches.bridge_stp_helper ];
@@ -9478,6 +9482,7 @@ let
linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi linuxPackages_rpi;
+ linuxPackages_odroid_u = linuxPackagesFor pkgs.linux_odroid_u linuxPackages_odroid_u;
linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice;
linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12);
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index fc0fe23..6df5925 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -214,6 +214,23 @@ rec {
};
};
+ odroid_u = {
+ name = "odroid_u";
+ kernelMajor = "3.19";
+ # this config is also used to compile the 3.12 kernel but why does it require kernel 3.12 at all?
+ kernelHeadersBaseConfig = "multi_v7_defconfig";
+ kernelBaseConfig = "exynos_defconfig";
+ kernelArch = "arm";
+ kernelAutoModules = false;
+ kernelTarget = "zImage";
+ uboot = null;
+ gcc = {
+ arch = "armv7-a";
+ fpu = "vfpv3-d16";
+ float = "hard";
+ };
+ };
+
raspberrypi2 = {
name = "raspberrypi2";
kernelMajor = "3.14";
# error message
`hst_map_free' referenced in section `__libc_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_freeres_fn' of /ni[392/1968]
build-glibc-2.21.drv-1/build/libc_pic.os
`serv_map_free' referenced in section `__libc_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_freeres_fn' of /nix/tmp/nix
-build-glibc-2.21.drv-1/build/libc_pic.os
`pw_map_free' referenced in section `__libc_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_freeres_fn' of /nix/tmp/nix-b
uild-glibc-2.21.drv-1/build/libc_pic.os
`free_mem' referenced in section `__libc_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_freeres_fn' of /nix/tmp/nix-buil
d-glibc-2.21.drv-1/build/libc_pic.os
`arena_thread_freeres' referenced in section `__libc_thread_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_thread_freere
s_fn' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os
`strerror_thread_freeres' referenced in section `__libc_thread_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_thread_fre
eres_fn' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os
`res_thread_freeres' referenced in section `__libc_thread_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_thread_freeres_
fn' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os
`__rpc_thread_destroy' referenced in section `__libc_thread_subfreeres' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os: defined in discarded section `__libc_thread_freere
s_fn' of /nix/tmp/nix-build-glibc-2.21.drv-1/build/libc_pic.os
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: BFD (GNU Binutils) 2.23.1 assertion fail elf32-arm.c:7677
/nix/store/v1r2y9kvd9p662cywc5gji2jxqc8gvdm-binutils-2.23.1/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[2]: *** [/nix/tmp/nix-build-glibc-2.21.drv-1/build/libc.so] Error 1
make[2]: Leaving directory `/nix/tmp/nix-build-glibc-2.21.drv-1/glibc-2.21/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/nix/tmp/nix-build-glibc-2.21.drv-1/glibc-2.21'
make: *** [all] Error 2
builder for ‘/nix/store/sf1i451443h2pfkk7rw3816i82zc8kpb-glibc-2.21.drv’ failed with exit code 2
cannot build derivation ‘/nix/store/0czl9mvqi4ld71ckwfcyvc02zzxrb0n1-bootstrap-gcc-wrapper.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/ifnyaqm83pbnvska8yjvwc70qnhcf67k-stdenv-linux-boot.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/qv5bq6pk0vmyaci6cipfhz3sipzjh3fx-gnum4-1.4.17.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/i5zg0dchi3afxxzr27qf7ly92l3k6gqm-libelf-0.8.13.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/6mdz49n9wmd35ml4bcl8bxb01rgnl7zb-which-2.21.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/ifcabl0klwwv2w1jsy745z22rabjg9fy-xz-5.2.1.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/qfxr3q5rjs0hqyfgfdgzpqkrghyj259r-zlib-1.2.8.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/hg2022v1524319y36dvyxx6h0q8cazzh-gettext-0.19.4.drv’: 2 dependencie
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment