{
  busybox
, pkgsBuildBuild
, runCommand
, cpio
, writeReferencesToFile
, writeScript
} :
let
  inherit (pkgsBuildBuild) gen_init_cpio;
  script =  writeScript "init" ''
    #!/bin/sh
    exec >/dev/console
    echo Running in initramfs
    PATH=${busybox}/bin:$PATH
    export PATH
    mount -t proc none /proc
    mount -t sysfs none /sys
    ${busybox}/bin/sh
  '';
  refs = writeReferencesToFile busybox;
in runCommand "initramfs.cpio" { } ''
  cat << SPECIALS | ${gen_init_cpio}/bin/gen_init_cpio /dev/stdin > out
  dir /proc 0755 0 0
  dir /sys 0755 0 0
  dir /dev 0755 0 0
  nod /dev/console 0600 0 0 c 5 1
  nod /dev/mtdblock0 0600 0 0 b 31 0
  dir /nix 0755 0 0
  dir /nix/store 0755 0 0
  dir /bin 0755 0 0
  file /bin/sh  ${busybox}/bin/sh 0755 0 0
  file /init ${script} 0755 0 0
  SPECIALS
  find $(cat ${refs}) | ${pkgsBuildBuild.cpio}/bin/cpio -H newc -o -A -v -O out
  cp out $out
''