pmaports/main/postmarketos-mkinitfs/init.sh.in
Luca Weiss 7699f8d537
main/postmarketos-mkinitfs: set pmOS-specific firmware path (!515)
Currently we rely on the fact, that the kernel asks user space to load
the firmware for it, so we can use the /lib/firmware/postmarketos
directory for firmware.

As the kernel has support for loading the firmware itself since
v3.7, and the parameter for adding an additional path to the search
paths was added with v3.10, we can use that to not rely on
CONFIG_FW_LOADER_USER_HELPER being set.
2019-07-25 20:30:04 +02:00

61 lines
1.4 KiB
Bash

#!/bin/sh
# shellcheck disable=SC1091
[ -e /etc/postmarketos-mkinitfs/hooks/10-verbose-initfs.sh ] && set -x
. /etc/deviceinfo
. ./init_functions.sh
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
/bin/busybox --install -s
/bin/busybox-extras --install -s
# Mount everything, set up logging, modules, mdev
mount_proc_sys_dev
setup_log
setup_firmware_path
# shellcheck disable=SC2154,SC2086
[ -d /lib/modules ] && modprobe -a ${deviceinfo_modules_initfs} ext4
setup_mdev
mount_subpartitions
setup_framebuffer
# Hooks
for hook in /etc/postmarketos-mkinitfs/hooks/*.sh; do
[ -e "$hook" ] || continue
sh "$hook"
done
show_splash /splash-loading.ppm.gz
# Always run dhcp daemon/usb networking for now (later this should only
# be enabled, when having the debug-shell hook installed for debugging,
# or get activated after the initramfs is done with an OpenRC service).
setup_usb_network
start_udhcpd
mount_boot_partition
extract_initramfs_extra @INITRAMFS_EXTRA@
start_charging_mode
wait_root_partition
resize_root_partition
unlock_root_partition
resize_root_filesystem
mount_root_partition
# Switch root
killall telnetd mdev msm-fb-refresher 2>/dev/null
umount /boot
umount /proc
umount /sys
umount /dev/pts
umount /dev
# shellcheck disable=SC2093
exec switch_root /sysroot /sbin/init
echo "ERROR: switch_root failed!"
echo "Looping forever. Install and use the debug-shell hook to debug this."
echo "For more information, see <https://postmarketos.org/debug-shell>"
loop_forever