diff --git a/.gitignore b/.gitignore index 08acf41..6833589 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ .task /result /target +/out +/initrd.gz .*.swp .*.swo .nixos-test-history diff --git a/flake.nix b/flake.nix index fcb6233..b8d7461 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,8 @@ kernel = pkgs.callPackage ./kernel { }; glibc = pkgs.callPackage ./glibc { }; + systemd = pkgs.callPackage ./systemd { }; + mkinitrd = pkgs.writeShellScriptBin "mkinitrd" '' echo "make initrd..." mkdir -p out @@ -113,7 +115,7 @@ chmod 644 ./etc/group # get shared libs - find . -type f -executable | xargs ldd | awk '{print $3}' | grep -v systemd | sort -u | xargs cp -t usr/lib + find . -type f -executable | xargs ldd 2> /dev/null | awk '{print $3}' | grep -v systemd | sort -u | xargs cp -t usr/lib find . -type f -executable | xargs chmod 755 # FIXME: hacky patch elf patching. Is there a better way???????? @@ -125,7 +127,6 @@ # gen initrd find . -print0 | ${pkgs.lib.getExe pkgs.cpio} --null --owner=root:root -o --format=newc | ${pkgs.lib.getExe pkgs.gzip} -9 > ../initrd.gz ''; - systemd = pkgs.callPackage ./systemd { }; }; checks = {