設置 | 登錄 | 註冊

目前共有4篇帖子。

瑞芯微RV1106從SD卡啟動自己的busybox1.36.1根文件系統

5樓 巨大八爪鱼 2025-6-19 20:02

【板子從板載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通。

巨大八爪鱼 2025-6-19 20:15
這裏面用到的libnl3.11.0和wpa_supplicant2.11是目前的最新版本。
巨大八爪鱼 2025-6-20 17:22
arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf是arm官網目前最新版本的交叉編譯器。
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads/14-2-rel1
x86_64 Linux hosted cross toolchains
AArch32 GNU/Linux target with hard float (arm-none-linux-gnueabihf)
巨大八爪鱼 2025-6-23 10:25

忘記修改文件所有者為root了。

【電腦上的linux虛擬機:打包(arm官網下載的)交叉編譯器裏面的libc庫】
cp -r ~/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc ~/libc
cd ~/libc
sudo chown -R root:root *
tar cvf libc.tar *
mv libc.tar /var/www/html/oct1158
cd ~
sudo rm -rf ~/libc

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。