main/postmarketos-initramfs: enforce usage of busybox ash for init

It's possible some other (more strict) shells might provide /bin/sh and
get pulled into the initramfs, if that happens they may fail from our
usage of `local`. By explicitly listing busybox ash in the shebang, we
guarantee that we'll always use the shell we expect.

fixes #3518

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7313>
This commit is contained in:
Clayton Craft 2025-11-07 22:03:03 -08:00 committed by The Friendly Merge Bot
parent 6ae9319ac4
commit 6d52a314b7
No known key found for this signature in database
6 changed files with 10 additions and 11 deletions

View file

@ -1,6 +1,5 @@
/bin/busybox
/bin/busybox-extras
/bin/sh
/etc/deviceinfo
/etc/unudhcpd.conf
/sbin/blkid

View file

@ -1,7 +1,7 @@
# Maintainer: Casey Connolly <kcxt@postmarketos.org>
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-initramfs
pkgver=3.8.6
pkgver=3.8.7
pkgrel=0
pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra"
url="https://postmarketos.org"
@ -109,12 +109,12 @@ package() {
sha512sums="
4f32746781d6c73c3e97def5ad127633827ce0e4cf87824b212b58d897e21cfefb391f6cdffcf4b40378c488c64a6b8559973996bba8a9cbb6a1e5db9ba33c80 00-default.modules
9c0e8f6f61d5da191e03a1aa9d5d0ceb5baf1eae6dbb9bfb0af59817783525119ac8394b135f303f7b6434a3eab0b49185fb90379e06823db847a4999c75ce33 00-initramfs-base.dirs
c0233d22858a5901db64e1d2fe1f6d39a2e2cfd1b94a10932483f55fed9461e9b8aa2d73b154b9d99a7a8b49ee02abfbddfe917ce0c6d7576601ba2668589c01 00-initramfs-base.files
e268094cbd25e063fdab2226f8cf93885bd8b90455991a53296231a3401a03669440333025ca44b2a8459df98787a5725f7b227ccb9750f8fcad17ef58ba21a1 00-initramfs-base.files
d0f35562365756d93066ce45924d17fb347b54095179c3262daa2f073e12743505cd5d9372ad30485915ca754d95a8edba9a74314e7949e0b3cf6978a87d03a5 00-initramfs-extra-base.files
1dbb25b9dd29c0c0c7e62bd13b44c3d55e166cf16956892b8c98b9dad248ac52c3d810875658db4a5067afc4d94870150ac225c4129078e855dd8b8867c72aca init.sh
8948bb1bb17cf707790e0dc91a51a1c1293b883deea08137bbb92b19584282173d5ba7bb4481daafe5d84ee300808c5e9b23fae1256b64f4c2c7ef192b7a97a7 init_functions.sh
9584421edc21840deb60965dd0b9e8bc8ff3d72b62641f70ed08f7d00c3a5aa5b448da1409e75fef34e7aa3828031e4661207a2b65e71d201d671b02b86b8fdf init_2nd.sh
bb421896e7bebdc13822258d219795da79f3b17f4f0016f16e00cfc46c46beaf7b4873dd0418fc397a839570512a18030a6d8d452a0b54fd35b48be2de06be08 init_functions_2nd.sh
e90596540805662211bd2a2e427ce7cc38f6a30023267f902e23f2bae136b6cd8f4f4716b8fb611be9d671a964edd2ecce03fa32bc8024e29b8375b0097fde0c init.sh
65b4a7fae6f54cb98dfc505572eba3e73dccafc20316661197ed5b355971136c3ab078dc351099754a8e7165c1eda5c006d22186e84d9be53e2f6aa046107bec init_functions.sh
6b4881f9b43c90ebcc70d7b7a192d26a2e3ce01c43b8536fe900c2ffaf74ef035803b9aa083e7a9d5c49c75be8ba6ff22997a037ae4f399e6ee5e1978c4b3f9c init_2nd.sh
d7d003e906ee017dacd1e994729ce1c94ac628ea4a36636bc78eedd16125e3f2cf500ecddac144cc11d69cc741fc5f4512510209236c2fda8a893d506773b965 init_functions_2nd.sh
675e7d5bee39b2df7d322117f8dcaccc274d61beaf4d50ead19bbf2109446d64b1c0aa0c5b4f9846eb6c1c403418f28f6364eff4537ba41120fbfcbc484b7da7 mdev.conf
ba3275a9af788c7c782322a22a0f144d5e50e3498ea6886486a29331f23ae89cd32d500a3635cfa7cab369afba92edc18aeca64ccbf0cd589061cce23d15b46c unudhcpd.conf
"

View file

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/busybox ash
# shellcheck disable=SC1091
# Export all variables so they're available in /init_2nd.sh

View file

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/busybox ash
# shellcheck disable=SC1091
# This is the "real" init.sh script, it's either jumped to immediately

View file

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/busybox ash
# This file will be in /init_functions.sh inside the initramfs.
# NOTE!!! The file is sourced again in init_2nd.sh, avoid

View file

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/busybox ash
# Additional functions that depend on initramfs-extra
# Functions are notated with the reason they're only in
# initramfs-extra