Files

120 lines
2.2 KiB
Bash

# Maintainer: Kira <[@kira](https://dev.kira-linux.org/kira)>
pkgname=bzz-initrd
pkgver=0.2.1
pkgrel=1
pkgdesc='Initrd image for Kira Linux'
url='https://dev.kira-linux.org'
arch=(x86_64)
_nyanit_ver=0.2.1
_nyanit_src=v${_nyanit_ver}.tar.gz
_nyanit_src_dir=nyanit
makedepends=(
bcachefs-tools
dosfstools
coreutils
pax-utils
rust
tar
bc
cpio
gettext
pahole
perl
python
xz
gzip
zstd
)
options=(
!debug
)
source=(
https://dev.kira-linux.org/kira-linux/nyanit/archive/${_nyanit_src}
)
# source=(
# nyanit.zip
# )
sha256sums=('b4a5518e49a798c71e27e4638dbadf57b85b4961817333ebba3f449a3ee87a01')
b2sums=('0d3c6be735d41b23bfd460ae5d87cc008ac9fb75653e0115e289440e8e5f43211cdaacfca29f9120ee866d3dafad4bd7b7c3e298382f47825efd83cea286b4d8')
_tools_list=(
/usr/bin/bcachefs
/usr/bin/fsck
/usr/bin/fsck.vfat
/usr/bin/switch_root
/usr/bin/blkid
)
build() {
echo "Building NYANIT..."
cd $_nyanit_src_dir
cargo build --release
cp target/release/nyanit $srcdir/init
chmod +x $srcdir/init
echo "##### DONE Building NYANIT #####"
echo ""
echo "Populate initdramfs tree..."
cd $srcdir
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 $srcdir/initramfs
ln -s usr/lib lib64
ln -s usr/lib lib
ln -s usr/bin bin
cd $srcdir/initramfs/usr
ln -s lib lib64
echo "Install NYANIT..."
cd $srcdir
lddtree --bindir / --copy-to-tree $srcdir/initramfs init
echo "Copy libs and binaries"
cd $srcdir
lddtree --copy-to-tree $srcdir/initramfs "${_tools_list[@]}"
echo "Remove setuid flag from everything..."
chmod -R a-s $srcdir/initramfs
}
package() {
pkgdesc="The $pkgdesc kernel and modules"
license=(
GPL-3.0-or-later
GPL-2.0-or-later
GPL-2.0-only
Zlib
)
echo "Create device node"
cd $srcdir/initramfs
mknod -m 622 dev/console c 5 1
# echo "Change owner to root"
# chown -R root:root $srcdir/initramfs
# echo "Run ldconfig"
# ldconfig -r $srcdir/initramfs -v
# Create cpio archive
echo "Create cpio archive"
cd $srcdir/initramfs
find . | cpio -ov --format=newc > ../initramfs.cpio
echo "Installing bzz-initrd"
install -vDm 644 $srcdir/initramfs.cpio -t "$pkgdir/usr/share/$pkgname/"
}