archboot/usr/lib/initcpio/install/archboot_wireless
2022-06-16 22:42:15 +02:00

40 lines
1.5 KiB
Bash

#!/usr/bin/env bash
# Created by Tobias Powalowski <tpowa@archlinux.org>
_KEYDIR="/usr/share/archboot/keys/MOK"
build ()
{
add_checked_modules '/drivers/net/wireless/|/net/wireless/|/net/ieee80211/|/net/mac80211/'
if [[ "$(uname -m)" == "x86_64" ]]; then
# sign add_checked_module
local kver="$(kver /boot/vmlinuz-linux)"
xz -d /lib/modules/$kver/extramodules/wl.ko.xz || exit 1
archboot-sign-file sha512 "${_KEYDIR}"/MOK.KEY "${_KEYDIR}"/MOK.CRT /lib/modules/$kver/extramodules/wl.ko
xz /lib/modules/$kver/extramodules/wl.ko
# add broadcom wl support
add_module 'wl.ko'
map add_file "/usr/lib/modprobe.d/broadcom-wl.conf" \
"/usr/share/licenses/broadcom-wl/LICENSE"
fi
map add_binary iwconfig iwevent iwgetid iwlist iwpriv iwspy ifrename b43-fwcutter wpa_cli wpa_passphrase \
wpa_supplicant iw set-wireless-regdom rfkill hwsim iwctl iwmon set-wireless-regdom
add_dir "/etc/wpa_supplicant"
# crda support
map add_file "/etc/conf.d/wireless-regdom" "/usr/lib/crda/regulatory.bin" \
"/usr/lib/crda/pubkeys/sforshee.key.pub.pem"
# fixing licenses
map add_file "/usr/share/licenses/expat/COPYING" "/usr/share/licenses/wireless-regdb/LICENSE"
if [[ "$(uname -m)" == "x86_64" ]]; then
map add_file "/usr/share/licenses/ipw2200-fw/LICENSE" "/usr/share/licenses/ipw2100-fw/LICENSE"
fi
}
help ()
{
cat<<HELPEOF
This hook includes wireless on an archboot image.
HELPEOF
}