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 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)