有没有人让WiFi在Raspberry Pi的buildroot里工作?我在上面找不到任何网上笔记或漫游。
raspberrypi0_defconfig运行得相当好,但不包括无线。
我正在使用buildroot的最新版本,2017-08。我增加了rpi-wifi固件。连接到WiFi网络所需的最起码的软件包是什么?
发布于 2017-10-05 13:19:26
事实证明,错误的/etc/网络/接口和/或/etc/wpa_恳求者是罪魁祸首。在构建过程中,我一直在添加额外的包,所以我不能100%确定这些包是否都需要,但无论如何,这些都是我包括的:
硬件处理Hardware Handling -> Firmware -> linux-firmware -> Broadcom BRCM bcm43xxx Hardware Handling -> Firmware -> rpi-firmware (extended 'x' firmware) Hardware Handling -> Firmware -> Install DTB overlays Hardware Handling -> Firmware -> rpi-wifi-firmware Hardware Handling -> dbus Hardware Handling -> dbus-glib
网络应用Networking applications -> dhcpd Networking applications -> ifupdown scripts Networking applications -> iproute2 Networking applications -> iptables Networking applications -> wireless-tools (+install shared lib) Networking applications -> wpa_supplicant Networking applications -> wpa_supplicant - Enable 80211 support Networking applications -> wpa_supplicant - Enable EAP Networking applications -> wpa_supplicant - Install wpa_cli binary Networking applications -> wpa_supplicant - Install wpa_client shared library Networking applications -> wpa_supplicant - Install wpa_passphrase binary
我不认为任何其他类别都与WiFi网络相关。
/etc/网络/接口auto lo iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
/etc/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant update_config=1 network={ ssid="OpenWrt" psk=<your psk key here> }
启动后我运行:wpa_supplicant -B -i wlan0 -W -D nl80211, wext -c /etc/wpa_supplicant.conf wpa_cli -B -i wlan0 -p /var/run/wpa_supplicant -a /sbin/wpa_action dhcpcd -q -w
因为它是嵌入式linux,所以我希望网络能够在引导后很好地发挥出来,并且需要首先启动一些更重要的东西。因此,我将把它添加到某个post引导脚本中。如果您希望在启动时启动您的接口,那么将它们添加到您的启动进程的某个位置。我会考虑这个问题的范围之外。
所以,这是可行的,它并不完美,但对于那些像我这样挣扎的人来说,这将是一个很好的起点。我非常肯定,并不是所有提到的包都是最小值,也不存在/sbin/wpa_action,但是如果不使用它,您将进入交互模式。一旦我对这个问题有了更好的把握,我就会进一步完善这个答案。欢迎提出建议!
发布于 2018-06-07 19:37:25
我还试图使用buildroot为RPi Zero W找到“最起码的无线”,所以这个Q&A在搜索结果上非常高。尽管最初的答案有些帮助,但肯定不是最好的答案,所以我认为值得分享我自己的发现:
使用buildroot 2018.02.2
make raspberrypi0_defconfig清理你的配置。然后(进行menuconfig并)从目标包中选择以下内容:
Hardware Handling -> Firmware -> rpi-wifi-firmware
Networking applications -> wpa_supplicant
Networking applications -> wpa_supplicant - Enable 80211 support其他所有必要的东西都应该预先选择好。
然后在/etc/网络/接口处
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
post-down killall -q wpa_supplicant和at /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="My WLAN"
psk="my_wlan_password"
}现在,我们仍然缺少一个秘密要素:无线网络驱动程序必须在网络脚本启动之前加载。您可以启用WCHAR支持(在工具链-menu上),以便让eudev作为/dev管理(在系统配置-menu上),它将自动处理驱动程序加载。实际上,如果你要把瑞银的设备连接到你的RPi上,我建议你这么做.
如果不是...but,请在rc脚本运行之前自己编辑/etc/inittab和mod探测brcmfmac:
...
# Load Wifi driver
::sysinit:/sbin/modprobe brcmfmac
# now run any rc scripts
::sysinit:/etc/init.d/rcS
...就这样。
更新21.03.2022。使用来自git://git.buildroot.net/buildroot的最新buildroot,似乎有一些更改:
rpi-wifi-firmware被重命名为brcmfmac-sdio-firmware-rpi-wifi,在硬件处理时可以在brcmfmac_sdio-firmware-rpi下找到它。ctrl_interface=/var/run/wpa_supplicant at wpa_supplicant.conf似乎不再有效,也不再有必要了(如果它曾经有效的话)我还发现,如果需要通过SSH访问wifi,则应该将OpenSSH与haveged配对,以加快随机生成器的初始化速度。没有它,引导时间可以是几分钟!
为了为直接无头访问做好充分的准备,并考虑到上述情况,我使用rpi-wifi包制作了一个外部buildroot库,它处理从wifi安装到SSH配置的所有必要配置:
https://unix.stackexchange.com/questions/396151
复制相似问题