diff --git a/build.sh b/build.sh index d26f620..cde0275 100755 --- a/build.sh +++ b/build.sh @@ -3,4 +3,5 @@ nix-build "" \ -I nixpkgs=https://github.com/danielfullmer/nixpkgs/archive/e69838e006a7271006ab834b521187891bf93ff4.tar.gz \ -I nixos-config=./sd-image.nix \ - -A config.system.build.sdImage + -A config.system.build.sdImage \ + --keep-failed \ No newline at end of file diff --git a/configuration.nix b/configuration.nix index fdbc27d..b76ce99 100644 --- a/configuration.nix +++ b/configuration.nix @@ -27,7 +27,20 @@ ]; boot.kernelModules = [ "spi-nor" ]; # Not sure why this doesn't autoload. Provides SPI NOR at /dev/mtd0 - boot.extraModulePackages = [ config.boot.kernelPackages.rtl8189es ]; + boot.extraModulePackages = [ + config.boot.kernelPackages.rtl8189es + config.boot.kernelPackages.sunxi-cedar + ]; + + nixpkgs.overlays = [ + # add sunxi-cedar kernel module + (self: super: { + linuxPackages_5_9 = super.linuxPackages_5_9.extend (lpself: lpsuper: { + sunxi-cedar = lpself.callPackage ./kernel/sunxi-cedar.nix {}; + }); + }) + ]; + zramSwap.enable = true; # 128MB is not much to work with diff --git a/kernel/sunxi-cedar.nix b/kernel/sunxi-cedar.nix new file mode 100644 index 0000000..4f48a1d --- /dev/null +++ b/kernel/sunxi-cedar.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, kernel }: + +stdenv.mkDerivation rec { + pname = "sunxi-cedar"; + version = "8bfe1150ea24537523465a77df56cd78076cda4a"; + + src = fetchFromGitHub { + owner = "uboborov"; + repo = "sunxi-cedar-mainline"; + rev = "${version}"; + sha256 = "s/Cxr1GlmvORBvoJvU0LCpezacuQv5qT/9GyJYcAtq4="; + }; + + makeFlags = [ + # For Makefile.linux + #"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + #"INSTALL_MOD_PATH=$(out)" + #"KERNELRELEASE=${kernel.modDirVersion}" + + # For Makefile + "KERNEL_SOURCE=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + nativeBuildInputs = kernel.moduleBuildDependencies; + + hardeningDisable = [ "pic" ]; + + meta = with lib; { + description = "sunxi cedar kernel module - device: /dev/cedar_dev - targeting mainline kernel - linux-4.11.y and higher "; + homepage = "https://github.com/uboborov/sunxi-cedar-mainline"; + platforms = platforms.linux; + license = licenses.gpl2Plus; + }; +} \ No newline at end of file