#!/bin/sh echo "work dir: $1" _tools_list=( /usr/bin/bcachefs /usr/bin/fsck /usr/bin/fsck.vfat /usr/bin/switch_root /usr/bin/blkid ) workdir=$1 echo "Populate initdramfs tree..." cd $workdir mkdir -p initramfs/{dev,proc,sys,run,mnt,mnt/bee_root,tmp,etc,usr,usr/bin,usr/lib} echo "Create /bin /lib /lib64 simlinks" cd $workdir/initramfs ln -s usr/lib lib64 ln -s usr/lib lib ln -s usr/bin bin cd $workdir/initramfs/usr ln -s lib lib64 echo "Install NYANIT..." cd $workdir lddtree --bindir / --copy-to-tree $workdir/initramfs init echo "Copy libs and binaries" cd $workdir lddtree --copy-to-tree $workdir/initramfs "${_tools_list[@]}" echo "Remove setuid flag from everything..." chmod -R a-s $workdir/initramfs fakeroot -- sh << EOF echo "Create console device node" cd $workdir/initramfs mknod -m 622 dev/console c 5 1 # Create cpio archive echo "Create cpio archive" cd $workdir/initramfs find . | cpio -ov --format=newc > ../initramfs.cpio EOF echo "Done!"