Unverified Commit 216529c3 authored by Emily's avatar Emily Committed by GitHub
Browse files

[staging-next] tree-wide: switch initrd generators back to gnu cpio (#352498)

parents 7c347c33 0f216e25
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@ let
        ${lib.optionalString (config.boot.initrd.secrets == {})
            "exit 0"}

        export PATH=${pkgs.coreutils}/bin:${pkgs.libarchive}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin
        export PATH=${pkgs.coreutils}/bin:${pkgs.cpio}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin

        function cleanup {
          if [ -n "$tmp" -a -d "$tmp" ]; then
@@ -426,7 +426,7 @@ let
         }

        # mindepth 1 so that we don't change the mode of /
        (cd "$tmp" && find . -mindepth 1 | xargs touch -amt 197001010000 && find . -mindepth 1 -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @-) | \
        (cd "$tmp" && find . -mindepth 1 | xargs touch -amt 197001010000 && find . -mindepth 1 -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null) | \
          ${compressorExe} ${lib.escapeShellArgs initialRamdisk.compressorArgs} >> "$1"
      '';

+3 −3
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ let
  # compression type and filename extension.
  compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1;
in
{ stdenvNoCC, libarchive, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, binutils, runCommand
{ stdenvNoCC, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, binutils, runCommand
# Name of the derivation (not of the resulting file!)
, name ? "initrd"

@@ -74,7 +74,7 @@ in
  passAsFile = ["contents"];
  contents = builtins.toJSON contents;

  nativeBuildInputs = [makeInitrdNGTool libarchive] ++ lib.optional makeUInitrd ubootTools ++ lib.optional strip binutils;
  nativeBuildInputs = [makeInitrdNGTool cpio] ++ lib.optional makeUInitrd ubootTools ++ lib.optional strip binutils;

  STRIP = if strip then "${pkgsBuildHost.binutils.targetPrefix}strip" else null;
}) ''
@@ -85,7 +85,7 @@ in
  for PREP in $prepend; do
    cat $PREP >> $out/initrd
  done
  (cd root && find . -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- | eval -- $compress >> "$out/initrd")
  (cd root && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd")

  if [ -n "$makeUInitrd" ]; then
      mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img
+2 −2
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ let
  # compression type and filename extension.
  compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1;
in
{ stdenvNoCC, perl, libarchive, ubootTools, lib, pkgsBuildHost
{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost
# Name of the derivation (not of the resulting file!)
, name ? "initrd"

@@ -80,7 +80,7 @@ in stdenvNoCC.mkDerivation (rec {

  builder = ./make-initrd.sh;

  nativeBuildInputs = [ perl libarchive ]
  nativeBuildInputs = [ perl cpio ]
    ++ lib.optional makeUInitrd ubootTools;

  compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}";
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ for PREP in $prepend; do
  cat $PREP >> $out/initrd
done
(cd root && find * .[^.*] -exec touch -h -d '@1' '{}' +)
(cd root && find * .[^.*] -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- | eval -- $compress >> "$out/initrd")
(cd root && find * .[^.*] -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd")

if [ -n "$makeUInitrd" ]; then
    mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img