User:Vaukai/Wireless networking at first boot
Some deviations from the handbook are needed to enable wireless networking from the first reboot after installation. eiwd will be installed to act as network manager and network supplicant.
- Computer needs to have a wireless device known to work
- Known ESSID and Passphrase (psk) of the network
Device driver and firmware
While configuring the Linux kernel, the necessary device drivers need to be enabled as modules (<M>) and in case the driver needs firmware the sys-kernel/linux-firmware package should be installed.
While configuring the system, from the section Host and domain information only the first step (setting the hostname hostname="tux") should be applied.
The sections Configuring the network and Automatically start networking at boot will be skipped and the upcoming eiwd will be installed instead of netifrc.
To avoid netifrc to get pulled in, the USE flag needs to be disabled:
On next recompilation of openrc then netifrc should disappear:
emerge --ask --newuse --oneshot sys-apps/openrc
emerge --ask --verbose --depclean net-misc/netifrc
Since eiwd at the time of writing is available only in the guru ebuild repository this repository needs to be added.
# created by eselect-repo [guru] location = /var/db/repos/guru sync-type = git sync-uri = https://github.com/gentoo-mirror/guru.git
After syncing with guru the package can be installed:
emaint sync -r guru
emerge --ask net-wireless/eiwd net-dns/openresolv
For authentication with the network, a configuration file named after the ESSID is needed to hold the passphrase (psk).
The filename must be identical with the network name and the suffix with the network type. Passphrase= is the same as psk= known from wpa_supplicant but without quotation.
Finally eiwd will be added to the default runlevel:
rc-update add iwd default
Continue from the Handbook
The installation according to the handbook should continue starting from The hosts file.
- eiwd crashes when rfkill is touched but it can be restarted rc-service iwd restart. The bug is located upstream in src/wiphy.c.