【板子从板载flash中的luckfox根文件系统启动的方法】
不做任何处理,直接开机进内核。
【板子从sd卡第三分区上的busybox根文件系统启动的方法】
在uboot提示Hit key to stop autoboot('CTRL+C'):时按下ctrl+c键,运行下面的命令
setenv sys_bootargs root=/dev/mmcblk1p3 rw rootfstype=ext4 init=/linuxrc
boot
然后在串口打印[ 0.390894] usb 1-1: new high-speed USB device number 2 using xhci-hcd时,按下回车键。即可进入命令行界面。
设置板子的系统UTC时间为14:35:40:
(北京时间减8小时)
date -s "2025-06-19 06:35:40"
【板子:从luckfox根文件系统启动,复制之前编译好的wifi内核模块和配置文件】
https://blog.csdn.net/ZLK1214/article/details/147461755
umount /dev/mmcblk1p3
umount /dev/mmcblk1p2
mount /dev/mmcblk1p3 /mnt/sdcard
mkdir /mnt/sdcard/root/wifi
cp /etc/wpa_supplicant.conf /mnt/sdcard/root/wifi
cp /oem/usr/ko/cfg80211.ko /oem/usr/ko/aic_load_fw.ko /oem/usr/ko/aic8800_fdrv.ko /mnt/sdcard/root/wifi
cp -r /oem/usr/ko/aic_fw /mnt/sdcard/root/wifi
umount /dev/mmcblk1p3
【电脑上的linux虚拟机:打包(arm官网下载的)交叉编译器里面的libc库】
cd ~/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc
tar cvf libc.tar *
mv libc.tar /var/www/html/oct1158
【电脑上的linux虚拟机:交叉编译openssl、libnl和wpa_supplicant】
cd ~/Downloads
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./Configure linux-armv4 no-asm --cross-compile-prefix=~/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers shared
(考虑到后面板子上要跑apache服务器,也要用到openssl,为了让apache的https支持xp系统的ie6和ie8浏览器,所以在这里开启了ssl3.0协议和3des算法)
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf openssl-1.1.1w-binary.tar usr
cd ~/Downloads
wget https://github.com/thom311/libnl/releases/download/libnl3_11_0/libnl-3.11.0.tar.gz
tar xf libnl-3.11.0.tar.gz
cd libnl-3.11.0
export PATH=$PATH:/home/oct1158/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin
./configure --host=arm-none-linux-gnueabihf
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf libnl-3.11.0-binary.tar usr
cd ~/Downloads
wget https://w1.fi/releases/wpa_supplicant-2.11.tar.gz
tar xf wpa_supplicant-2.11.tar.gz
cd wpa_supplicant-2.11/wpa_supplicant
cp defconfig .config
修改.config文件,在顶部添加
CC=/home/oct1158/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc
CFLAGS += -I/home/oct1158/Downloads/openssl-1.1.1w/_install/usr/local/include -I/home/oct1158/Downloads/libnl-3.11.0/_install/usr/local/include/libnl3 -I/home/oct1158/Downloads/libnl-3.11.0/include/linux-private
LIBS += -L/home/oct1158/Downloads/openssl-1.1.1w/_install/usr/local/lib -L/home/oct1158/Downloads/libnl-3.11.0/_install/usr/local/lib
(路径中不能使用~符号)
然后在文件中找到CONFIG_CTRL_IFACE_DBUS_NEW=y,在前面加上#。
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar cf wpa_supplicant-2.11-binary.tar usr
cp ~/Downloads/openssl-1.1.1w/_install/openssl-1.1.1w-binary.tar /var/www/html/oct1158
cp ~/Downloads/libnl-3.11.0/_install/libnl-3.11.0-binary.tar /var/www/html/oct1158
cp ~/Downloads/wpa_supplicant-2.11/wpa_supplicant/_install/wpa_supplicant-2.11-binary.tar /var/www/html/oct1158
【板子:从luckfox根文件系统启动,从电脑上下载交叉编译器里面的libc库并解压到sd卡第三分区上的busybox根文件系统中,使交叉编译器编译出来的程序能在busybox里面运行,不会提示not found错误】
umount /dev/mmcblk1p3
umount /dev/mmcblk1p2
mkdir /mnt/myfat
mount /dev/mmcblk1p2 /mnt/myfat
cd /mnt/myfat
wget http://192.168.2.142/oct1158/libc.tar
mount /dev/mmcblk1p3 /mnt/sdcard
tar xf libc.tar -C /mnt/sdcard
cd ..
umount /dev/mmcblk1p2
umount /dev/mmcblk1p3
【板子:从luckfox根文件系统启动,从电脑上下载刚才交叉编译的openssl库、libnl库和wpa_supplicant软件并解压到sd卡第三分区上的busybox根文件系统中】
umount /dev/mmcblk1p3
umount /dev/mmcblk1p2
mkdir /mnt/myfat
mount /dev/mmcblk1p2 /mnt/myfat
cd /mnt/myfat
wget http://192.168.2.142/oct1158/openssl-1.1.1w-binary.tar
wget http://192.168.2.142/oct1158/libnl-3.11.0-binary.tar
wget http://192.168.2.142/oct1158/wpa_supplicant-2.11-binary.tar
mount /dev/mmcblk1p3 /mnt/sdcard
tar xf openssl-1.1.1w-binary.tar -C /mnt/sdcard
tar xf libnl-3.11.0-binary.tar -C /mnt/sdcard
tar xf wpa_supplicant-2.11-binary.tar -C /mnt/sdcard
cd ..
umount /dev/mmcblk1p2
umount /dev/mmcblk1p3
修改/etc/profile文件:
在# no-op下添加
export PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
执行exit命令再按回车键生效。
新建一个/etc/ld.so.conf文件,文件内容为/usr/local/lib。保存好文件后,执行ldconfig命令。
【板子:从sd卡第三分区上的busybox根文件系统启动,加载wifi内核模块并连接热点】
insmod /root/wifi/cfg80211.ko
(可忽悠cfg80211: failed to load regulatory.db这个错误,没有影响)
insmod /root/wifi/aic_load_fw.ko aic_fw_path=/root/wifi/aic_fw
insmod /root/wifi/aic8800_fdrv.ko
mkdir /var/run
wpa_supplicant -B -i wlan0 -c /root/wifi/wpa_supplicant.conf
这个时候板子已经成功连上路由器了,但不会自动从路由器获取IP地址。
手工配置IP地址:
ifconfig wlan0 192.168.60.100 netmask 255.255.255.0
route add default gw 192.168.60.1
ping 8.8.8.8 -c 4
可以ping通。