diff --git a/zynq_image.nix b/zynq_image.nix deleted file mode 100644 index 3c2d57e..0000000 --- a/zynq_image.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ config, pkgs, ... }: - -# Copy of zynq_image.nix from https://github.com/cleverca22/not-os with added patch - -let - # dont use overlays for the qemu, it causes a lot of wasted time on recompiles - x86pkgs = import pkgs.path { system = "x86_64-linux"; }; - build = config.system.build; - customKernel = pkgs.linux.override { - extraConfig = '' - OVERLAY_FS y - CORESIGHT_LINKS_AND_SINKS m - CORESIGHT_SINK_TPIU m - CORESIGHT_SOURCE_ETM3X m - ''; - }; - customKernelPackages = pkgs.linuxPackagesFor customKernel; -in { - boot.kernelPackages = customKernelPackages; - nixpkgs.system = "armv7l-linux"; - system.build.zynq_image = let - cmdline = "root=/dev/mmcblk0 console=ttyPS0,115200n8 systemConfig=${builtins.unsafeDiscardStringContext build.toplevel}"; - qemuScript = '' - #!/bin/bash -v - export PATH=${x86pkgs.qemu}/bin:$PATH - set -x - base=$(dirname $0) - - mkdir ./tmp/ - cp $base/root.squashfs ./tmp/ - chmod +w ./tmp/root.squashfs - truncate -s 64M ./tmp/root.squashfs - - qemu-system-arm \ - -M xilinx-zynq-a9 \ - -serial /dev/null \ - -serial stdio \ - -display none \ - -dtb $base/zynq-zc706.dtb \ - -kernel $base/zImage \ - -initrd $base/initrd \ - -drive file=./tmp/root.squashfs,if=sd,format=raw \ - -append "${cmdline}" - ''; - in pkgs.runCommand "zynq_image" { - inherit qemuScript; - passAsFile = [ "qemuScript" ]; - preferLocalBuild = true; - } '' - mkdir $out - cd $out - cp ${build.squashfs} root.squashfs - cp ${build.kernel}/*zImage . - cp ${build.initialRamdisk}/initrd initrd - cp ${build.kernel}/dtbs/zynq-zc706.dtb . - ln -sv ${build.toplevel} toplevel - cp $qemuScriptPath qemu-script - chmod +x qemu-script - patchShebangs qemu-script - ls -ltrh - ''; - environment.systemPackages = [ pkgs.strace ]; - environment.etc."service/getty/run".source = pkgs.writeShellScript "getty" '' - bash /dev/ttyPS0 - ''; - environment.etc."pam.d/other".text = ""; - - nixpkgs.overlays = [ - (self: super: { - # armv7l cross-compile fixes - libuv = super.libuv.overrideAttrs (old: { doCheck = false;}); - elfutils = super.elfutils.overrideAttrs (old: { doCheck = false; doInstallCheck = false;}); - systemd = super.systemd.override { withEfi = false; }; - procps = super.procps.override { withSystemd = false; }; - nix = super.nix.override { enableDocumentation = false; }; - - # closure size fixes - openssh = super.openssh.override { withFIDO = false; withKerberos = false; }; - util-linux = super.util-linux.override { - pamSupport=false; - capabilitiesSupport=false; - ncursesSupport=false; - systemdSupport=false; - nlsSupport=false; - translateManpages=false; }; - utillinuxCurses = self.util-linux; - utillinuxMinimal = self.util-linux; - }) - ]; -} \ No newline at end of file