每次ssh登陸OpenWRT安裝新軟件時,都必須更新opkg
opkg update
安裝驅動
為了可以識別U盤/移動硬盤,必須安裝相關的驅動。 一類是usb相關的驅動
opkg install kmod-usb-core #usb驅動
opkg install kmod-scsi-core #SCSI總線驅動
opkg install kmod-scsi-generic #scsi驅動
opkg install kmod-usb-uhci #USB OHCI controllers
opkg install kmod-usb-ohci #USB UHCI controllers
opkg install kmod-usb2 #usb2.0驅動
opkg install kmod-usb3 #usb3.0驅動,當前少有openwrt支持的存在usb3.0的路由器。確認自己的路由器支持usb3才需要安裝
opkg install kmod-usb-storage #usb存儲設備驅動
opkg install kmod-usb-storage-extras #其他USB讀卡器設備驅動
另外一類是磁盤格式驅動,U盤上的磁盤分區有文件系統,根據上面的分區文件系統不同,需要不同的驅動模塊
opkg install kmod-fs-ext2 #安裝ext2分區支持
opkg install kmod-fs-ext3 #安裝ext3分區格式支持組件
opkg install kmod-fs-ext4 #安裝ext4分區格式支持組件
opkg install kmod-fs-ntfs #ntfs內核驅動
opkg install kmod-fs-vfat #掛載FAT
驅動安裝完畢后即可識別usb設備.建議在電腦上將U盤或移動硬盤格式好后再連接OpenWRT路由器。
ls /dev/sda* #查看掛載的usb設備
/dev/sda /dev/sda1 /dev/sda2
顯示有一個磁盤/dev/sda,兩個分區 /dev/sda1,/dev/sda2 .下面我們就可以掛載分區
#分區1掛載到 /smb1目錄
mkdir /smb1
mount -t ext4 /dev/sda1 /smb1 -o noatime,async
#分區2掛載到 /smb2目錄
mkdir /smb2
mount /dev/sda2 /smb2 -o noatime,rw,async
掛載成功后,既可以進入目錄進行任何文件操作。但是mount命令掛載的設備,系統重啟后需要重新掛載。
umount /smb1 #取消掛載
umount /smb2 #取消掛載
自動掛載、開機自動掛載
可以通過安裝 block-mount 工具集實現開機自動掛載文件系統。
#安裝
opkg update
opkg install block-mount
#生成標准配置文件
block detect > /etc/config/fstab
#編輯fstab配置文件
vi /etc/config/fstab
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option 'target' '/smb1'
option 'device' '/dev/sda1'
option 'fstype' 'ext4' #磁盤分區類型,根據自己分區格式填寫
option 'options' 'rw,async'
option 'enabled' '1' #是否啟動時自動掛載
option 'enabled_fsck' '0'
除了根據device掛載硬盤外,還可以通過uuid的形式掛載,如上一步 block detect > /etc/config/fstab,自動檢測到掛載的配置。
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option target '/mnt/sda1'
option uuid '5ff96782-7fe8-47bf-baa0-e35200228368'
option enabled '1'
config 'mount'
option target '/mnt/sda2'
option uuid '8c46f52a-c19b-4570-b4f0-2441106dda8e'
option enabled '1'
不要忘記執行以下操作,啟動自動掛載
/etc/init.d/fstab enable
安裝好mount-block后,可以通過如下命令查看當前系統文件系統信息。
block info
/dev/ubiblock0_0: UUID="8b37173e-52c98b73-cb093366-dac33c6c" VERSION="4.0" TYPE="squashfs"
/dev/ubi0_0: UUID="8b37173e-52c98b73-cb093366-dac33c6c" VERSION="4.0" TYPE="squashfs"
/dev/ubi0_1: UUID="1d29bc1e-08cc-4c5c-abd4-76fe27c5c16c" VERSION="w4r0" TYPE="ubifs"
/dev/ubiblock0_0: UUID="8b37173e-52c98b73-cb093366-dac33c6c" VERSION="4.0" TYPE="squashfs"
/dev/sda1: UUID="5ff96782-7fe8-47bf-baa0-e35200228368" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"
/dev/sda2: UUID="8c46f52a-c19b-4570-b4f0-2441106dda8e" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"
block mount #掛載所有列在fstab文件中的設備
block umount #取消列在fstab文件中設備的掛載
block detect #獲取block設備信息
其他工具
usbutils 工具 lsusb
opkg install usbutils
lsusb #列出usb信息
Bus 001 Device 002: ID 0480:a202 Toshiba America Info. Systems, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
fdisk 硬盤分區管理工具
opkg install fdisk
fdisk -l #列出所有磁盤信息
# 磁盤分區 /dev/sda
root@OpenWrt:~# fdisk /dev/sda
Welcome to fdisk (util-linux 2.24.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
如果磁盤未分區可以使用fdisk命令進行分區,具體分區的命令操作自行搜索
e2fsprogs 格式化工具
opkg install e2fsprogs
mkfs.ext3 /dev/sda1 #以ext3文件格式格式化 /dev/sda1
mkfs.ext4 /dev/sda1 #以ext4文件格式格式化 /dev/sda2
df
df -h #查看磁盤使用情況
參考
錯誤處理
wget: can't execute 'openssl': No such file or directory
wget: error getting response: Connection reset by peer
OpenWRT 默認安裝的wget不支持SSL。如果需要使用SSL(https),需要重新安裝wget
opkg update
opkg install wget
/usr/bin/wget points now to the full version.
不過opkg install wget 仍然有可能報如上的錯誤,進入一個死循環。所以最好的辦法是從自己的電腦上下載好wget,然后傳到openwrt中。
如作者在本機命令行操作如下:
wget http://openwrt.proxy.ustclug.org/chaos_calmer/15.05.1/ar71xx/nand/packages/packages/wget_1.17.1-1_ar71xx.ipk
scp wget_1.17.1-1_ar71xx.ipk root@192.168.1.1:/tmp
然后登陸到openwrt,執行
opkg install /tmp/wget_1.17.1-1_ar71xx.ipk