在編譯的時候經常會遇到flash
不夠用的問題,怎麼解決呢?可以通過掛載usb
或者sd
卡解決問題。
$ make kernel_menuconfig
依次進入選項device drivers —> mmc/sd/sdio card support —>
:
依照上圖在相關選項前打上」*」
號。
進入kernel modules —>native language support —>
:
進入kernel modules –> other modules —>
:
儲存並退出,接下來make v=s
編譯。
編譯完成後將.bin
檔案燒寫至路由器內,通過ssh
連線至路由器。
dmesg
檢視當前是否有識別的sd
卡:
fdisk -l
檢視當前硬碟個數和裝置名稱:
可以看到sd
卡名稱是mmcblk0
,接下來進行sd
卡的掛載:
# mkdir -p /mnt/mmcblk0
# mount /dev/mmcblk0 /mnt/mmcblk0
在掛載的過程中可能會遇到failed: invalid argument
的問題,如果遇到這樣的問題,就把sd
卡格式化成所識別的格式:
# opkg update
# opkg install e2fsprogs
# mkfs.ext4 /dev/sda1
# mkfs.ext3 /dev/sda1
# mkfs.ext2 /dev/sda1
格式化好之後再進行掛載:
對於openwrt
來說,開機自啟的命令一般放在rc.local
這個檔案中。寫乙個指令碼insert_sd.sh
來實現sd
卡的開機自動掛載,指令碼的內容如下:
#!/bin/sh在path="/mnt/mmcblk0"
path_dev="/dev/mmcblk0"
if [ -b "$path_dev" ] ;then
if [ ! -d
"$path" ]; then
/bin/mkdir -p $path
fi /bin/mount -t vfat $path_dev
$path
fi
openwrt
中一些指令碼都會放在/sbin/
這個目錄下,所以將寫的這個指令碼放package/base-files/files/sbin
目錄進去。在rc.loacl
檔案(這個檔案在package/base-files/files/etc
下)中新增開機執行命令/sbin/insert_sd.sh &
,儲存並編譯。至此,燒錄新的韌體就可以實現openwrt
上sd
卡的自動掛載了。
openwrt自動掛載sd卡
知識點:openwrt
openwrt自動掛載sd卡
openwrt 自動掛載u盤、行動硬碟
OpenWrt之U盤SD卡掛載overlay
官方參考 掛載擴充套件儲存指令碼 bin sh 一鍵指令碼掛載rootfs到sd卡,u盤則改mmcblk0p1為sda1 umount dev mmcblk0p1 mkfs.ext4 dev mmcblk0p1 f mount dev mmcblk0p1 mnt tar c overlay cvf ...
U盤 SD卡掛載
說明 u盤和sd卡大部分操作上是一樣的,因此下面將用u盤進行說明,如無特別說明在u盤上的操作在sd卡上同樣有效 u盤和sd卡里的檔案系統比較常用的是fat32 這裡也是基於fat32來說明的 掛載 掛載前首先要保證u盤已經被系統識別到了。被識別到了後在 dev下會有節點顯示,需要注意的是u盤的節點和...
openwrt的自動掛載功能
openwrt使用hotplug管理自動掛載,官網wiki有介紹 當有usb等插拔事件發生時,hotplug會執行 etc hotplug.d 目錄下相應的指令碼。只要寫好自動掛載指令碼就好了。推薦小熊論壇上藍山的指令碼 原創 銀河系最 chui 強 niu 的openwrt自動掛載指令碼,完美相容...