智能路由器-OpenWRT 系列四 (挂载移动设备)

 

每次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 usbutilslsusb  #列出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 fdiskfdisk -l #列出所有磁盘信息# 磁盘分区 /dev/sda
root@OpenWrt:~# fdisk /dev/sdaWelcome 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 #查看磁盘使用情况

参考

  • Mounting Block Devices
  • Fstab Configuration

错误处理

wget: can't execute 'openssl': No such file or directory
wget: error getting response: Connection reset by peerOpenWRT 默认安装的wget不支持SSL。如果需要使用SSL(https),需要重新安装wgetopkg 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

转载于:https://www.cnblogs.com/wizju/p/6915042.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283488.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows系统vscode检查更新菜单消失且不能自动更新(1.70.0不能自动更新到1.70.2

翻了半天vscode的issues中终于找到了https://github.com/microsoft/vscode/issues/157624 解决方案 不能用管理员身份运行vscode,不然就没有检查更新菜单,关闭后重启vscode就有更新菜单了 相关回答 翻译一下,就是vscode分用户类型和系统类型两…

WPF 用户控件分享之边上带输入框的圆圈

WPF 用户控件分享之边上带输入框的圆圈独立观察员 2022 年 8 月 20 日最近有这样一个需求,有一圈圆形,每个圆形边上有个输入框,以下是完成后的效果图:拿到这个需求后,分析界面上每个圆形和输入框应该视为一个用户控件&…

Unity 将是驱动 C# 增长的引擎吗 ?

C# 在中国的采用需要一个杀手级应用的带动, 那么这样的一个杀手级应用是 Unity吗,我这里大胆推测采用CoreCLR 的新一代完全采用C#构建的Unity 将是这样的一个杀手级应用。Unity已被广泛应用于数字孪生、数字城市、数字工厂等场景,成为各产业加…

Windows 超级开源实用工具:Microsoft PowerToys

实用工具集: Always on Top ​通过 Always on Top,可使用快捷键方式 (⊞ WinCtrlT) 将窗口固定在其他窗口的顶部。 ​ PowerToys Awake PowerToys Awake旨在使计算机保持唤醒状态,且无需管理其电源和睡眠设置。 运行耗时较长的任务时&#…

Python入门之数据类型

字符串 列表 元组 字典 转载于:https://www.cnblogs.com/py17/p/8919495.html

Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)

kubeadm 简介kubeadm 是 Kubernetes(以下简称 k8s)官方提供的用于快速安装部署 k8s 集群的工具,伴随 k8s 每个版本的发布都会同步更新,kubeadm 会对集群配置方面的一些实践做调整,通过实验 kubeadm 可以学习到 k8s 官方…

汇编试验五:编写、调试具有多个段的程序

ds 数据段放入数据正确; 两次push 操作后,ss栈段正确; 由于pop 操作顺序,ds数据段并没有发生改变; Source Code: assume cs:code, ds:data, ss:stackdata segmentdw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H …

SVN四部曲之SVN设置详解深入

想知道不同的设置是干什么用的,你只需将鼠标指针在编辑框/选项框上停留一秒钟...一个帮助提示气泡就会弹出来。 常规设置 图 4.68. 设置对话框,常规设置页面 这个对话框允许你指定自己喜欢的语言,同时也可做那些与Subversion相关的特殊设置。…

Vue3.2单文件组件setup的语法糖总结

目录 前言 setup语法糖 一、基本用法 二、data和methods 三、计算属性computed 四、监听器watch、watchEffect 五、自定义指令directive 六、import导入的内容可直接使用 七、声明props和emits 八、父组件获取子组件的数据 九、provide和inject传值 十、路由useRou…

使用dotnet-monitor分析在Kubernetes的应用程序:Sidecar模式

dotnet-monitor可以在Kubernetes中作为Sidecar运行,Sidecar是一个容器,它与应用程序在同一个Pod中运行,利用Sidecar模式使我们可以诊断及监控应用程序。如下图所示,这是我们最终要实现的目标,通过可视化界面查看应用程…

SFB 项目经验-07-Skype for Business 话机 Polycom CX700

本系列博文:Lync 项目经验-01-共存迁移-Lync2013-TO-SFB 2015-规划01http://dynamic.blog.51cto.com/711418/1858520 Lync 项目经验-02-共存迁移-Lync2013-TO-SFB 2015-规划02http://dynamic.blog.51cto.com/711418/1859143 Lync 项目经验-03-共存迁移-Lync2013-TO…

亿方云CEO程远:转型第一式:链接企业人与数据

传统企业一直在探讨如何做好互联网转型,那么互联网核心是什么?转型目标是什么?亿方云CEO程远在此次峰会上发表了自己看法,他认为快、人、连接是互联网核心基因,转型第一步就在于企业、人与数据的充分链接。中国企业的互…

使用.NET简单实现一个Redis的高性能克隆版(七-完结)

译者注该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启…

解决 Vue 里 Script 标签首层不缩进 - VS Code

问题: 在 vscode 使用 vue 的时候,发现 script 标签首层不缩进??? 下载扩展:prettier 解决方法一: 打开 setting.json文件 添加:"prettier.vueIndentScriptAndStyle": tru…

Android应用开发性能优化完全分析

1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾。不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结、我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只给出啥啥啥不能用&am…

ZBLOG-ASP2.2如何给图片增加ALT标签说明文字?

2019独角兽企业重金招聘Python工程师标准>>> 一直以来,我们在建设网站的时候,都容易犯下一个大错误,那就是没有重视图片的文字说明,而大多数时候,技术方面并不能很好的识别图片的内容,这也是受限…

[asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?

在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收、我传的数组为什么Action的model中接收不到、或者我在ajax的data中设置了一些数组,为什么后台还是接收不了、还有一些怎么传送一个复杂的对象或者Action怎么接收一…

拒绝“高冷”词汇!初学C#中的委托

拒绝“高冷”词汇!初学C#中的委托 有一天,你写了好多好多带“形参”的构造函数(就是“方法”,同义),而且需要向这些构造函数里传递同样的“实参”,然后你就憨憨地一个一个函数的调用并赋予同样的…

JAVA企业级应用TOMCAT实战视频课程

1. Tomcat简介Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器…

WPF 系列-01默认程序结构

WPF应用程序启动项创建一个WPF应用程序&#xff0c;系统为我们自动生成了App.xaml和一个普通的MainWindow.xaml窗体文件。App.xaml 和cs 文件文件如下&#xff1a;<Application x:Class"Example_01.App"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/…