openwifi用到了linux内核,是一个比较完整的嵌入式linux系统。这里还是需要用到装好vivado2018.3的ubuntu系统(虚拟机也可)。因为openwifi作者已经做好了很方便的脚本,所以我们操作的步骤也是非常简单。
1,首先是递归下载openwifi的整个项目。
git clone --recursive https://github.com/open-sdr/openwifi
如果多次失败,可以使用我另外一个博客介绍的脚本,进行自动尝试下载。
2,编译linux内核。下载完毕之后运行一下脚本。
cd openwifi
git checkout sdrpi
export XILINX_DIR=/tools/Xilinx
cd user_space
./prepare_kernel.sh $XILINX_DIR 32 build
之后就是几分钟的运行:
运行成功后会在openwifi/adi-linux/arch/arm/boot目录看到生成的uImage内核文件,此文件将被拷贝到sd的boot分区。
3,编译驱动,由于驱动是和内核完全对应的,每次编译完内核建议一定要编译一下对应的驱动。步骤很简单,openwifi作者也给出了脚本。执行如下:
cd openwifi/driver
./make_all.sh $XILINX_DIR 32
驱动编译完毕之后会在driver目录下生成若干.ko文件。我们保存在一个新建的目录ko里面。
cd openwifi/driver
mkdir ko
cp `find ./ -name \*.ko` ./ko
总结这样我们就得到了linux的内核文件uImage,以及对应的动态加载驱动放在KO文件夹里面。
其中uImage是放在SD卡的boot区,ko文件夹最终我们要拷贝到sd得rootfs分区下面的openwifi目录里面供安装脚本wgd.sh和fosdem.sh调用。保存这些文件我们后续详细介绍如何使用。
网盘连接A:2022-0921下载的openwifi项目包:
链接:https://pan.baidu.com/s/1NUaAbnqDHU8cLdVReh2Z9g
提取码:iagz
网盘连接B:A经过上述介绍的步骤操作后得到的项目代码压缩包。
链接:https://pan.baidu.com/s/1LcKkumHbkz0cS7p4AixBYA
提取码:wxxv
网盘连接C:上述生成的uImage文件以及ko目录的压缩包。
链接:https://pan.baidu.com/s/1ekPEr2mDzYWYYKjrud-c8A
提取码:978q