Files

50 lines
980 B
Bash
Raw Permalink Normal View History

2026-08-18 22:45:02 +02:00
#!/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!"