diff --git a/flake.nix b/flake.nix index db75ca2..78a8947 100644 --- a/flake.nix +++ b/flake.nix @@ -22,32 +22,22 @@ default = self.packages.${system}.image; image = pkgs.writeShellScriptBin "image" '' echo "make UKI..." - echo ${self.packages.${system}.kernel.kernel}/bzImage - ${self.packages.${system}.systemd.out}/usr/bin/ukify build \ + ${self.packages.${system}.systemd.out}/bin/ukify build \ --linux ${self.packages.${system}.kernel.kernel}/bzImage \ - --initrd ./initrd.gz \ + --initrd ./out/initrd.gz \ --cmdline "console=ttyS0" \ - -o patos.efi + -o patos.uki ''; kernel = pkgs.callPackage ./kernel { }; initrd = pkgs.writeShellScriptBin "mkinitrd" '' echo "make initrd..." - mkdir -p out + mkdir -p out/lib # copy systemd cp -r ${self.packages.${system}.systemd.out}/* out/ pushd out - chmod 755 etc usr/lib - - mkdir -p dev proc sys tmp root - ln -sf usr/bin bin - ln -sf usr/sbin sbin - ln -sf usr/lib lib - ln -sf usr/lib lib64 - - ln -sf ../proc/self/mounts etc/mtab - ln -sf usr/lib/systemd/systemd init + chmod 755 etc echo patos > ./etc/hostname cat <<EOF > ./etc/os-release @@ -109,10 +99,10 @@ 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 | awk '{print $3}' | grep -v systemd | sort -u | xargs cp -t lib # gen initrd - find . -print0 | ${pkgs.lib.getExe pkgs.cpio} --null --owner=root:root -o --format=newc | ${pkgs.lib.getExe pkgs.gzip} -9 > ../initrd.gz + 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 { }; }; diff --git a/systemd/default.nix b/systemd/default.nix index 4c95e07..05aeba4 100644 --- a/systemd/default.nix +++ b/systemd/default.nix @@ -171,7 +171,7 @@ stdenv.mkDerivation (finalAttrs: { "--sysconfdir=/etc" "--localstatedir=/var" "--libdir=/usr/lib" - "--bindir=/usr/bin" + "--bindir=/bin" "--includedir=/usr/include" "--localedir=/usr/share/locale"