买了个usbwifi CF-812AC,里面芯片型号应该是88x2bu,这个大把驱动安装教程,但是关键的来了。ONL系统的headers不是类似于标准内核头,可以直接APT安装的。所以费劲千辛万苦去找这个内核头文件。不然modules编译不出来。
千辛万苦找到了deb安装内核头,也能成功编译出*.ko文件,insmod 的时候dmesg出现很多symbol error,一番搜索之后发现,编译内核的时候还需要启用802.11协议,所以在此对整个流程进行记录。
首先一些关键的目录

下面来看下我们启用的配置:
1.启用802.11相关的协议支持
image
2.启用USB network,wireless lan的支持
image

之后保存完成后记得按照我上文描述的覆盖x86-all.config,并且删除原来的deb来达到增量编译的效果

将新编出来的系统安装完成后我们使用dksm来进行ko的编译,步骤如下:

#先安装我们的内核头文件,目录位于~/opennetworklinux/REPO/buster/packages/binary-amd64onl-kernel-5.4-lts-x86-64-all_1.0.0_amd64.deb,拷贝到设备上dpkg -i 安装
ln -s /usr/share/onl/packages/amd64/onl-kernel-5.4-lts-x86-64-all/mbuilds ./build #链接头文件到安装目录
sudo apt-get update
sudo apt-get -y install wget dkms
git clone https://github.com/cilynx/rtl88x2bu
sudo dkms add ./rtl88x2bu
sudo dkms install -m rtl88x2bu -v 5.8.7.1
sudo modprobe 88x2bu
sudo reboot

成功后lsmod,应该可以看到88x2bu的驱动

root@localhost:~# lsmod
Module                  Size  Used by
bf_kdrv                24576  0
88x2bu               2592768  0
x86_pkg_temp_thermal    20480  0
gpio_ich               16384  0
root@localhost:~# 

之后就是无线网卡的配置了,我这里出现的是:

wlx200db0430647: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.225  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fda2:95fb:a68b::82c  prefixlen 128  scopeid 0x0<global>
        inet6 fe80::1b63:7c6:d420:201f  prefixlen 64  scopeid 0x20<link>
        inet6 fda2:95fb:a68b:0:1b5e:5811:5e0f:e1d  prefixlen 64  scopeid 0x0<global>
        ether 20:0d:b0:43:06:47  txqueuelen 1000  (Ethernet)
        RX packets 2613553  bytes 3900898666 (3.6 GiB)
        RX errors 0  dropped 53416  overruns 0  frame 0
        TX packets 481522  bytes 52926003 (50.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这里不推荐任何其余的工具进行网络配置,只推荐nmcli工具

#安装
sudo apt update
sudo apt install network-manager
#连接
nmcli device wifi connect SSID_NAME password PASSWORD
#查看状态
root@localhost:~# nmcli device show
GENERAL.DEVICE:                         wlx200db0430647
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         20:0D:B0:43:06:47
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     FOXING_5G
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/8
IP4.ADDRESS[1]:                         192.168.31.225/24
IP4.GATEWAY:                            192.168.31.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.31.1, mt = 600
IP4.ROUTE[2]:                           dst = 192.168.31.0/24, nh = 0.0.0.0, mt = 600
IP4.DNS[1]:                             192.168.31.1
IP4.DOMAIN[1]:                          lan
IP6.ADDRESS[1]:                         fda2:95fb:a68b:0:1b5e:5811:5e0f:e1d/64
IP6.ADDRESS[2]:                         fda2:95fb:a68b::82c/128
IP6.ADDRESS[3]:                         fe80::1b63:7c6:d420:201f/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[2]:                           dst = fda2:95fb:a68b::/48, nh = fe80::5233:f0ff:fed7:6610, mt = 600
IP6.ROUTE[3]:                           dst = fda2:95fb:a68b::/64, nh = ::, mt = 600
IP6.ROUTE[4]:                           dst = fda2:95fb:a68b::82c/128, nh = ::, mt = 600
IP6.ROUTE[5]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.DNS[1]:                             fda2:95fb:a68b::1

nmcli会自动dhcp获取到地址非常方便。