diff --git a/main/postmarketos-mkinitfs-hook/00-apx.files b/main/postmarketos-mkinitfs-hook-apx/00-apx.files similarity index 100% rename from main/postmarketos-mkinitfs-hook/00-apx.files rename to main/postmarketos-mkinitfs-hook-apx/00-apx.files diff --git a/main/postmarketos-mkinitfs-hook/00-apx.sh b/main/postmarketos-mkinitfs-hook-apx/00-apx.sh similarity index 100% rename from main/postmarketos-mkinitfs-hook/00-apx.sh rename to main/postmarketos-mkinitfs-hook-apx/00-apx.sh diff --git a/main/postmarketos-mkinitfs-hook-apx/APKBUILD b/main/postmarketos-mkinitfs-hook-apx/APKBUILD new file mode 100644 index 000000000..13812e7d4 --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-apx/APKBUILD @@ -0,0 +1,24 @@ +# Documentation: https://wiki.postmarketos.org/wiki/Nvidia_Tegra#APX +maintainer="Aster Boese " +pkgname=postmarketos-mkinitfs-hook-apx +pkgver=1 +pkgrel=3 +pkgdesc="Enter APX on boot for NVIDIA Tegra devices" +url="https://postmarketos.org" +depends="postmarketos-mkinitfs devmem2" +source="00-apx.sh 00-apx.files" +arch="aarch64 armv7" +license="GPL-2.0-or-later" +options="!check" + +package() { + install -Dm644 "$srcdir"/00-apx.sh \ + "$pkgdir"/usr/share/mkinitfs/hooks/00-apx.sh + install -Dm644 "$srcdir"/00-apx.files \ + "$pkgdir"/usr/share/mkinitfs/files/00-apx.files +} + +sha512sums=" +9dba7ac8266ed3bd74895a7f1d0353d3a01e6b63c78e9eb6bf33a23a4a86fef647858e2069e7d82f3dac4e9b3f4d7b6239373018212f0dd6dc01ad9f15e18d2a 00-apx.sh +3fbe0463aa08e7a1ed8141c2d1d84e0e2ced53dc9b0d3a06dbca4a302bf5d96bc1a2e5c9a9600efc19b57c178326f4f0194a8839bb50de3192d8f19cc92fb980 00-apx.files +" diff --git a/main/postmarketos-mkinitfs-hook/05-ci.files b/main/postmarketos-mkinitfs-hook-ci/05-ci.files similarity index 100% rename from main/postmarketos-mkinitfs-hook/05-ci.files rename to main/postmarketos-mkinitfs-hook-ci/05-ci.files diff --git a/main/postmarketos-mkinitfs-hook/05-ci.sh b/main/postmarketos-mkinitfs-hook-ci/05-ci.sh similarity index 90% rename from main/postmarketos-mkinitfs-hook/05-ci.sh rename to main/postmarketos-mkinitfs-hook-ci/05-ci.sh index dd520a307..792208d12 100644 --- a/main/postmarketos-mkinitfs-hook/05-ci.sh +++ b/main/postmarketos-mkinitfs-hook-ci/05-ci.sh @@ -1,8 +1,9 @@ #!/bin/sh # shellcheck shell=busybox -# shellcheck disable=SC1091 +# shellcheck source=../postmarketos-initramfs/init_functions.sh . ./init_functions.sh +# shellcheck source=../devicepkg-utils/source_deviceinfo . /usr/share/misc/source_deviceinfo # Prints a given string a couple of times, over a span of time diff --git a/main/postmarketos-mkinitfs-hook-ci/APKBUILD b/main/postmarketos-mkinitfs-hook-ci/APKBUILD new file mode 100644 index 000000000..e538e09b1 --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-ci/APKBUILD @@ -0,0 +1,26 @@ +# Co-Maintainer: Pablo Correa Gomez +maintainer="Casey Connolly " +pkgname=postmarketos-mkinitfs-hook-ci +pkgver=3 +pkgrel=0 +pkgdesc="Hook for doing automated CI tests in the initramfs" +url="https://postmarketos.org" +source=" + 05-ci.sh + 05-ci.files +" +arch="noarch" +license="GPL2" +options="!check" + +package() { + install -Dm755 "$srcdir"/05-ci.sh \ + "$pkgdir"/usr/share/mkinitfs/hooks/05-ci.sh + install -Dm644 "$srcdir"/05-ci.files \ + "$pkgdir"/usr/share/mkinitfs/files/05-ci.files +} + +sha512sums=" +1fed0452581f0384c5fa1178e800f8d8aa1a3af8ecb2626006a3b284d7983d772c6abf3cf23c5cbca105344915224377059dcf6784e9cf70ca54720e6d5fa896 05-ci.sh +26d665b817a4978dca44e0c697d98e12c58fa7941da86b9e3bfef6ecb0791d55859c0b671c00d7f88cfca688acf0dcc3e593ca5d8dd3cc094f582b49dabea645 05-ci.files +" diff --git a/main/postmarketos-mkinitfs-hook/20-debug-shell.files b/main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.files similarity index 100% rename from main/postmarketos-mkinitfs-hook/20-debug-shell.files rename to main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.files diff --git a/main/postmarketos-mkinitfs-hook-debug-shell/APKBUILD b/main/postmarketos-mkinitfs-hook-debug-shell/APKBUILD new file mode 100644 index 000000000..d0701c91b --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-debug-shell/APKBUILD @@ -0,0 +1,20 @@ +maintainer="Aster Boese " +pkgname=postmarketos-mkinitfs-hook-debug-shell +pkgver=0.8.1 +pkgrel=1 +pkgdesc="Root shell in the initramfs (security hole, for debugging only)" +url="https://postmarketos.org" +depends="postmarketos-mkinitfs devicepkg-utils fbdebug evtest linuxconsoletools reboot-mode libinput libinput-tools" +source="20-debug-shell.files" +arch="noarch" +license="GPL2" +options="!check" + +package() { + install -Dm644 "$srcdir"/20-debug-shell.files \ + "$pkgdir"/usr/share/mkinitfs/files/20-debug-shell.files +} + +sha512sums=" +793760737487d0034d93dd0ff526959cda9cd639f489d417cdd69bc49576b709a37f57cd496afca1fa91d3fd3a3e24a0cf641aeaa4ff2a2bbb27434eca0be1ce 20-debug-shell.files +" diff --git a/main/postmarketos-mkinitfs-hook/00-kernel-panic.sh b/main/postmarketos-mkinitfs-hook-kernel-panic/00-kernel-panic.sh similarity index 100% rename from main/postmarketos-mkinitfs-hook/00-kernel-panic.sh rename to main/postmarketos-mkinitfs-hook-kernel-panic/00-kernel-panic.sh diff --git a/main/postmarketos-mkinitfs-hook-kernel-panic/APKBUILD b/main/postmarketos-mkinitfs-hook-kernel-panic/APKBUILD new file mode 100644 index 000000000..d9e8cd04f --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-kernel-panic/APKBUILD @@ -0,0 +1,19 @@ +maintainer="Aster Boese " +pkgname=postmarketos-mkinitfs-hook-kernel-panic +pkgver=0.1.0 +pkgrel=2 +pkgdesc="Script to cause a kernel panic after 30s from the initramfs (for debugging only)" +url="https://postmarketos.org" +depends="postmarketos-mkinitfs" +source="00-kernel-panic.sh" +arch="noarch" +license="GPL2" +# no tests +options="!check" + +package() { + install -Dm644 "$srcdir"/00-kernel-panic.sh \ + -t "$pkgdir"/usr/share/mkinitfs/hooks/ +} + +sha512sums="39be4de98daf4306c15dc8196bcd7649a149e5babccf9860c753d40f1e17ef550556444f65238d30d9dbc3d8610319b0d00f9ff99f128fd8a6bd4cdfb3b38dbe 00-kernel-panic.sh" diff --git a/main/postmarketos-mkinitfs-hook/00-maximum-attention.sh b/main/postmarketos-mkinitfs-hook-maximum-attention/00-maximum-attention.sh similarity index 69% rename from main/postmarketos-mkinitfs-hook/00-maximum-attention.sh rename to main/postmarketos-mkinitfs-hook-maximum-attention/00-maximum-attention.sh index e9b711444..671c7bc4b 100644 --- a/main/postmarketos-mkinitfs-hook/00-maximum-attention.sh +++ b/main/postmarketos-mkinitfs-hook-maximum-attention/00-maximum-attention.sh @@ -1,6 +1,4 @@ #!/bin/sh - -# shellcheck disable=SC1091 . ./init_functions.sh BLINK_INTERVAL=2 # seconds @@ -8,7 +6,7 @@ VIBRATION_DURATION=400 #ms VIBRATION_INTERVAL=2 #s find_leds() { - find /sys -name "max_brightness" -print0 | xargs -0 -I{} dirname {} + find /sys -name "max_brightness" | xargs -I{} dirname {} } find_vibrator() { @@ -22,13 +20,13 @@ find_vibrator() { blink_leds() { state=false # false = off, true=on while true; do - for led in "$@"; do + for led in $@; do if [ "$state" = true ]; then - cat "$led"/max_brightness > "$led"/brightness + cat $led/max_brightness > $led/brightness else - echo 0 > "$led"/brightness + echo 0 > $led/brightness fi - echo blinking LED: "$led" + echo blinking LED: $led done sleep ${BLINK_INTERVAL}s if [ "$state" = true ]; then @@ -42,17 +40,17 @@ blink_leds() { # vibrate_loop vibrates each VIBRATION_INTERVAL for VIBRATION_DURATION # it takes a timed_device path to the vibrator as $1 vibrate_loop() { - if [ ! -f "$1"/enable ]; then + if [ ! -f $1/enable ]; then return; fi while true; do - echo $VIBRATION_DURATION > "$1"/enable + echo $VIBRATION_DURATION > $1/enable sleep ${VIBRATION_INTERVAL}s done } -blink_leds "$(find_leds)" & -vibrate_loop "$(find_vibrator)" & +blink_leds $(find_leds) & +vibrate_loop $(find_vibrator) & fail_halt_boot diff --git a/main/postmarketos-mkinitfs-hook-maximum-attention/APKBUILD b/main/postmarketos-mkinitfs-hook-maximum-attention/APKBUILD new file mode 100644 index 000000000..3ca297c96 --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-maximum-attention/APKBUILD @@ -0,0 +1,20 @@ +maintainer="Aster Boese " +pkgname=postmarketos-mkinitfs-hook-maximum-attention +pkgver=0.2.0 +pkgrel=1 +pkgdesc="Script to activate all user-visible outputs from the initramfs (to confirm working kernel, for debugging only)" +url="https://postmarketos.org" +depends="postmarketos-mkinitfs" +source="00-maximum-attention.sh" +arch="noarch" +license="GPL2" +# no tests +options="!check" + +package() { + install -Dm644 "$srcdir"/00-maximum-attention.sh \ + -t "$pkgdir"/usr/share/mkinitfs/hooks/ +} +sha512sums=" +ca3ef48e76e21fdb67fdf7477fb4739e329ce6ea04a52ac14e9365adb92058b21e08fcbc4020519c61ba20cd3c91d254118ece3d1818cb46f86e86f5ffa1b90a 00-maximum-attention.sh +" diff --git a/main/postmarketos-mkinitfs-hook-netboot/APKBUILD b/main/postmarketos-mkinitfs-hook-netboot/APKBUILD new file mode 100644 index 000000000..71a9bf3a1 --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-netboot/APKBUILD @@ -0,0 +1,26 @@ +maintainer="Aster Boese " +pkgname=postmarketos-mkinitfs-hook-netboot +pkgver=4.2.0 +pkgrel=2 +pkgdesc="Netboot postmarketOS using nbd feature" +url="https://postmarketos.org" +depends="devicepkg-utils postmarketos-mkinitfs !usb-moded" +source=" + netboot.sh + netboot.modules + " +arch="noarch" +license="GPL-2.0-or-later" +options="!check" # No tests + +package() { + install -Dm644 "$srcdir"/netboot.sh \ + "$pkgdir"/usr/share/mkinitfs/hooks/netboot.sh + install -Dm644 "$srcdir"/netboot.modules \ + "$pkgdir"/usr/share/mkinitfs/modules/30-netboot.modules +} + +sha512sums=" +c681d0c39eecd9fe5d284e07f9c6f79e41085628abe1c645b8ea3cc4e621fd603fca9db4a555fa689a3268925cb6d23c12baa98986baed452375acd1e3fe26b1 netboot.sh +3c9c812a6cd25640e6cf4d722cff6c6356d5666ec6009b4c65f89e62211cc406d2cd09e0fdda6b1c1906ee32c3854988ab701cee8811208e3ef666f09e638568 netboot.modules +" diff --git a/main/postmarketos-mkinitfs-hook/30-netboot.modules b/main/postmarketos-mkinitfs-hook-netboot/netboot.modules similarity index 100% rename from main/postmarketos-mkinitfs-hook/30-netboot.modules rename to main/postmarketos-mkinitfs-hook-netboot/netboot.modules diff --git a/main/postmarketos-mkinitfs-hook/00-netboot.sh b/main/postmarketos-mkinitfs-hook-netboot/netboot.sh similarity index 100% rename from main/postmarketos-mkinitfs-hook/00-netboot.sh rename to main/postmarketos-mkinitfs-hook-netboot/netboot.sh diff --git a/main/postmarketos-mkinitfs-hook/10-verbose-initfs.sh b/main/postmarketos-mkinitfs-hook-verbose-initfs/10-verbose-initfs.sh similarity index 100% rename from main/postmarketos-mkinitfs-hook/10-verbose-initfs.sh rename to main/postmarketos-mkinitfs-hook-verbose-initfs/10-verbose-initfs.sh diff --git a/main/postmarketos-mkinitfs-hook-verbose-initfs/APKBUILD b/main/postmarketos-mkinitfs-hook-verbose-initfs/APKBUILD new file mode 100644 index 000000000..8cc32fab7 --- /dev/null +++ b/main/postmarketos-mkinitfs-hook-verbose-initfs/APKBUILD @@ -0,0 +1,19 @@ +maintainer="Aster Boese " +pkgname=postmarketos-mkinitfs-hook-verbose-initfs +pkgver=0.1.0 +pkgrel=2 +pkgdesc="Print all shell commands executed by initramfs to the console" +url="https://postmarketos.org" +depends="postmarketos-mkinitfs" +source="10-verbose-initfs.sh" +arch="noarch" +license="GPL2" +# no tests +options="!check" + +package() { + install -Dm644 "$srcdir"/10-verbose-initfs.sh \ + -t "$pkgdir"/usr/share/mkinitfs/hooks/ +} + +sha512sums="97d92de64dc870e293a47bb2959877b63f20692030277083e56e499022fc643c1f199a65bd11f8dce9634ac3b80a43dd6934e29de4cf0b53fb2e663f46675a0f 10-verbose-initfs.sh" diff --git a/main/postmarketos-mkinitfs-hook/APKBUILD b/main/postmarketos-mkinitfs-hook/APKBUILD deleted file mode 100644 index 3002c00c3..000000000 --- a/main/postmarketos-mkinitfs-hook/APKBUILD +++ /dev/null @@ -1,119 +0,0 @@ -# Co-Maintainer: Casey Connolly -# Co-Maintainer: Pablo Correa Gomez -maintainer="Aster Boese " -pkgname=postmarketos-mkinitfs-hook -pkgver=2 -pkgrel=0 -pkgdesc="Meta package for mkinitfs hooks" -url="https://postmarketos.org" -arch="noarch" -license="GPL-3.0-or-later" -depends="postmarketos-mkinitfs" -subpackages=" - $pkgname-apx - $pkgname-ci - $pkgname-debug-shell:debug_shell - $pkgname-kernel-panic:kernel_panic - $pkgname-maximum-attention:maximum_attention - $pkgname-netboot - $pkgname-verbose-initfs:verbose_initfs - " -_hooks=" - 00-apx.sh - 00-kernel-panic.sh - 00-maximum-attention.sh - 00-netboot.sh - 05-ci.sh - 10-verbose-initfs.sh - " -_files=" - 00-apx.files - 05-ci.files - 20-debug-shell.files - " -source="$_hooks $_files 30-netboot.modules" -# check: no tests -options="!check" - -package() { - for hook in $_hooks; do - install -Dm755 "$srcdir"/"$hook" \ - "$pkgdir"/usr/share/mkinitfs/hooks/"$hook" - done - for file in $_files; do - install -Dm644 "$srcdir"/"$file" \ - "$pkgdir"/usr/share/mkinitfs/files/"$file" - done - install -Dm644 "$srcdir"/30-netboot.modules \ - -t "$pkgdir"/usr/share/mkinitfs/modules/ -} - -apx() { - pkgdesc="Hook for entering APX on boot for NVIDIA Tegra devices" - depends="$depends devmem2" - - amove usr/share/mkinitfs/hooks/00-apx.sh - amove usr/share/mkinitfs/files/00-apx.files -} - -ci() { - pkgdesc="Hook for doing automated CI tests in the initramfs" - - amove usr/share/mkinitfs/hooks/05-ci.sh - amove usr/share/mkinitfs/files/05-ci.files -} - -debug_shell() { - pkgdesc="Files for root shell in the initramfs (testing only)" - depends=" - $depends - devicepkg-utils - evtest - fbdebug - libinput - libinput-tools - linuxconsoletools - reboot-mode - " - - amove usr/share/mkinitfs/files/20-debug-shell.files -} - -kernel_panic() { - pkgdesc="Hook to cause a kernel panic after 30 seconds in the initramfs" - - amove usr/share/mkinitfs/hooks/00-kernel-panic.sh -} - -maximum_attention() { - pkgdesc="Hook to activate all user-visible outputs in the initramfs" - - amove usr/share/mkinitfs/hooks/00-maximum-attention.sh -} - -netboot() { - pkgdesc="Hook to netboot a rootfs using nbd" - depends="$depends devicepkg-utils nbd !usb-moded" - - amove usr/share/mkinitfs/hooks/00-netboot.sh - amove usr/share/mkinitfs/modules/30-netboot.modules -} - -verbose_initfs() { - pkgdesc="Hook to print all shell commands executed by the initramfs to the console" - - amove usr/share/mkinitfs/hooks/10-verbose-initfs.sh -} - -sha512sums=" -9dba7ac8266ed3bd74895a7f1d0353d3a01e6b63c78e9eb6bf33a23a4a86fef647858e2069e7d82f3dac4e9b3f4d7b6239373018212f0dd6dc01ad9f15e18d2a 00-apx.sh -39be4de98daf4306c15dc8196bcd7649a149e5babccf9860c753d40f1e17ef550556444f65238d30d9dbc3d8610319b0d00f9ff99f128fd8a6bd4cdfb3b38dbe 00-kernel-panic.sh -9c3ec5bee3bcdd79c8996bf8ee39067121873d705db6e8aa96212bd41c5b9db854e10d9c105e515ed1a5dcc29ac37fa726aa5bd910feb00b5024b76c1dd70059 00-maximum-attention.sh -c681d0c39eecd9fe5d284e07f9c6f79e41085628abe1c645b8ea3cc4e621fd603fca9db4a555fa689a3268925cb6d23c12baa98986baed452375acd1e3fe26b1 00-netboot.sh -9c2958c3e7d9c103249308eeebb0476b1a24a0a6f6e841ac7442a9b0d1897e14268bef391ae66cf17b4ac5c45caa046426fee0624d6517ee5830615518ba46be 05-ci.sh -97d92de64dc870e293a47bb2959877b63f20692030277083e56e499022fc643c1f199a65bd11f8dce9634ac3b80a43dd6934e29de4cf0b53fb2e663f46675a0f 10-verbose-initfs.sh -3fbe0463aa08e7a1ed8141c2d1d84e0e2ced53dc9b0d3a06dbca4a302bf5d96bc1a2e5c9a9600efc19b57c178326f4f0194a8839bb50de3192d8f19cc92fb980 00-apx.files -26d665b817a4978dca44e0c697d98e12c58fa7941da86b9e3bfef6ecb0791d55859c0b671c00d7f88cfca688acf0dcc3e593ca5d8dd3cc094f582b49dabea645 05-ci.files -793760737487d0034d93dd0ff526959cda9cd639f489d417cdd69bc49576b709a37f57cd496afca1fa91d3fd3a3e24a0cf641aeaa4ff2a2bbb27434eca0be1ce 20-debug-shell.files -3c9c812a6cd25640e6cf4d722cff6c6356d5666ec6009b4c65f89e62211cc406d2cd09e0fdda6b1c1906ee32c3854988ab701cee8811208e3ef666f09e638568 30-netboot.modules -"