set -ex -p pipefail echo "Building initram disk" mkdir -p $out/root pushd $out/root ### copy rootfs cp -prP $rootfs/* . find . -type d -exec chmod 755 {} \; ### create directories ln -sf ../usr/lib/systemd/systemd init mkdir sysroot ### Create needed files echo patos > ./etc/hostname ln -sf /etc/os-release ./etc/initrd-release cat < ./etc/passwd root::0:0:root:/root:/bin/sh bin:x:1:1:bin:/bin:/usr/bin/nologin daemon:x:2:2:daemon:/:/usr/bin/nologin mail:x:8:12:mail:/var/spool/mail:/usr/bin/nologin ftp:x:14:11:ftp:/srv/ftp:/usr/bin/nologin http:x:33:33:http:/srv/http:/usr/bin/nologin uuidd:x:68:68:uuidd:/:/usr/bin/nologin messagebus:x:81:81:messagebus:/:/usr/bin/nologin nobody:x:99:99:nobody:/:/usr/bin/nologin systemd-coredump:x:151:992::/var/empty:/usr/bin/nologin systemd-network:x:152:152::/var/empty:/usr/bin/nologin systemd-resolve:x:153:153::/var/empty:/usr/bin/nologin systemd-timesync:x:154:154::/var/empty:/usr/bin/nologin EOF chmod 644 ./etc/passwd cat < ./etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin adm:x:4:root,daemon tty:x:5: disk:x:6:root lp:x:7:daemon mem:x:8: kmem:x:9: wheel:x:10:root ftp:x:11: mail:x:12: uucp:x:14: log:x:19:root utmp:x:20: locate:x:21: rfkill:x:24: smmsp:x:25: proc:x:26: http:x:33: games:x:50: lock:x:54: uuidd:x:68: messagebus:x:81: systemd-journal:x:62: systemd-network:x:152: systemd-resolve:x:153: systemd-timesync:x:154: systemd-oom:x:991: systemd-coredump:x:992: network:x:90: video:x:91: audio:x:92: optical:x:93: floppy:x:94: storage:x:95: scanner:x:96: input:x:97: power:x:98: nobody:x:99: EOF chmod 644 ./etc/group # gen initrd find . -print0 | cpio --null --owner=root:root -o --format=newc | xz -9 --check=crc32 > ../initrd.xz popd rm -rf $out/root