您的当前位置:首页正文

OpenWRT挂载硬盘U盘

2020-10-03 来源:布克知识网
OpenWRT挂载硬盘U盘

每次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 controllersopkg install kmod-usb-ohci #USB UHCI controllersopkg 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/fstabconfig '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 hubfdisk 硬盘分区管理⼯具

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/sda1mkfs.ext4 /dev/sda1 #以ext4⽂件格式格式化 /dev/sda2df

df -h #查看磁盘使⽤情况

参考错误处理

wget: can't execute 'openssl': No such file or directorywget: error getting response: Connection reset by peer

OpenWRT 默认安装的wget不⽀持SSL。如果需要使⽤SSL(https),需要重新安装wgetopkg updateopkg 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.ipkscp wget_1.17.1-1_ar71xx.ipk root@192.168.1.1:/tmp然后登陆到openwrt,执⾏

opkg install /tmp/wget_1.17.1-1_ar71xx.ipk

因篇幅问题不能全部显示,请点此查看更多更全内容