Compare commits

...
Author SHA1 Message Date
Caleb Connolly cb4d745d4f initramfs pinch
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-16 15:04:21 +00:00
Caleb Connolly 194616923b pinch: new aport
Pinch is a first-stage init for postmarketOS written in Rust and Lua.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-16 00:32:37 +00:00
5 changed files with 78 additions and 1 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
/bin
/boot
/dev
/etc
/lib
/proc
/run
/sbin
/sys
/sysroot
/tmp
/usr
+5
View File
@@ -0,0 +1,5 @@
/etc/deviceinfo
/usr/share/deviceinfo/deviceinfo
/sbin/init
/usr/lib/pinch/pinch
/usr/lib/pinch/*.lua
+53
View File
@@ -0,0 +1,53 @@
# Maintainer: Caleb Connolly <caleb@postmarketos.org>
pkgname=pinch
pkgver=0.1.0
pkgrel=0
pkgdesc="A small, fast, semi-modular initramfs PID-1"
url="https://github.com/calebccff/pinch"
arch="all !s390x" # s390x: fails to build
license="GPL-3.0-only"
source="https://github.com/calebccff/pinch/archive/$pkgver/pinch-$pkgver.tar.gz
00-initramfs-base.dirs
00-initramfs-pinch.files"
#provides="postmarketos-initramfs=$pkgver-r$pkgrel"
makedepends="cargo eudev-dev cargo-auditable lld"
_cargo_opts="--frozen --no-default-features"
RUSTFLAGS="-C target-feature=+crt-static -C strip=symbols"
prepare() {
default_prepare
cargo fetch --target="$CTARGET" --locked
}
build() {
cargo auditable build $_cargo_opts --release
}
check() {
cargo test $_cargo_opts
}
package() {
install -Dm755 target/release/pinch -t "$pkgdir"/usr/lib/pinch/
mkdir -p "$pkgdir"/sbin/
ln -s /usr/lib/pinch/pinch "$pkgdir"/sbin/init
for script in $(find "$builddir"/lua/ -type f); do
echo "installing $script"
install -Dm644 "$script" -t "$pkgdir"/usr/lib/pinch/
done
# install -Dm644 "$srcdir"/00-initramfs-base.dirs \
# -t "$pkgdir"/usr/share/mkinitfs/dirs/
install -Dm644 "$srcdir"/00-initramfs-pinch.files \
-t "$pkgdir"/usr/share/mkinitfs/files/
}
sha512sums="
0fe114cbda7d0b031a2f300de95d753c0d248560257fdc01e76bd3d3498ff87347e8779885851cf3369868921d2576048f8d51de2edf2726154a3465cba090a9 hkdm-0.2.1.tar.gz
be538eeebeccc2454817a1df11b8ce6063f51df888c852f2e361aa2ebd9ad94b9c82c7c71fa1215be426aa5fa59993e1bb6132c9b2ff352cadc1e2b4125cb392 hkdm.openrc
8dac666f468bc27fc9b8083f61a6bc0cac493784cd74ac1103fd44daa00103676ea836c48c82bd8cb5772cae07cc42f283b7ff326172cd40e7f91191577788ad hkdm.conf
"
+1 -1
View File
@@ -88,7 +88,7 @@ sha512sums="
5b364300f31c91fd0591eb0715f67cbf5383f45246a5fb9f34b79f7cb2e3b15768b2130e5f32f816cc169950f988c1beabc879ba31645c58ce131a288dbc071d 00-initramfs-base.dirs
ab41b45b0613f25a61114ed8c8b92bc53c60838f6e2e0ba18c76e5369b2984e6023a0661887692673aca3f647f268c468a468f6b1ac424cfee609017a89481dd 00-initramfs-base.files
8a4adad3785af474b36a09a05f6a3b2c4b4f43aac331a53b903abfa51ea12be1e3d1d807b7a6e66a1346815f3b0044daf8cd62e21e2dc75d2db13ee265a72985 00-initramfs-extra-base.files
b1462989633c65a102e7ae7ced9c41a00673b4c7434cd3fe16c229c39bb870d7e850b0d317487191b7d7ca32c75b2eed1561b1facf405bd4d876d32c71badcf3 init.sh
8f26a3e4b55293d207c3dd51ea149ba85a02864126717df1d68564632cb2f1282f673eae70d4cdc37df7e01232d7aff741031815816669c62c8dbabd73e55464 init.sh
8ff684e8245217cc9461297bce55dd8b417f0478ef38cdbddf7662f9ecc4324ca09e75978261084e00f5a1f2e36cc3b25a609a9bdca4addc5a60d3c370cbdb90 init_functions.sh
ba3275a9af788c7c782322a22a0f144d5e50e3498ea6886486a29331f23ae89cd32d500a3635cfa7cab369afba92edc18aeca64ccbf0cd589061cce23d15b46c unudhcpd.conf
675e7d5bee39b2df7d322117f8dcaccc274d61beaf4d50ead19bbf2109446d64b1c0aa0c5b4f9846eb6c1c403418f28f6364eff4537ba41120fbfcbc484b7da7 mdev.conf
+7
View File
@@ -1,6 +1,13 @@
#!/bin/sh
# shellcheck disable=SC1091
echo "Launching pinch!"
exec /usr/lib/pinch/pinch
while true; do
sh -i
done
IN_CI="false"
[ -e /hooks/10-verbose-initfs.sh ] && set -x