From 5ef902fc29fff75ae14f83712883fb85cff0645ad5b913c20b2ce6044f9a75fd Mon Sep 17 00:00:00 2001 From: Kira Date: Tue, 18 Aug 2026 22:45:02 +0200 Subject: [PATCH] Added script to build initcpio image --- build_initcpio.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 build_initcpio.sh diff --git a/build_initcpio.sh b/build_initcpio.sh new file mode 100755 index 0000000..4eab3ce --- /dev/null +++ b/build_initcpio.sh @@ -0,0 +1,50 @@ +#!/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!" \ No newline at end of file