7699f8d537
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.
61 lines
1.4 KiB
Bash
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
|