Linux 在路由器上安装USB设备-OpenWrt
我是OpenWrt和Linux/Unix shell的新手。在此之前,我们已经使用dd wrt两年了。最近切换到OpenWrt并完成了基本设置(wifi/互联网工作)。我需要安装我的路由器。但是,USB设备无法安装 路由器的详细信息如下: 路由器型号: 华硕RT-N13U B1 图像闪烁: chaos_calmer 15.05.1(openwrt-15.05.1-ramips-rt305x-rt-n13u-squashfs-sysupgrade.bin) Usb详细信息: Cruiser Blade 16GB usb 2.0 使用GParted可引导cd格式化为ext4 已安装的驱动程序:Linux 在路由器上安装USB设备-OpenWrt,linux,usb,mount,openwrt,Linux,Usb,Mount,Openwrt,我是OpenWrt和Linux/Unix shell的新手。在此之前,我们已经使用dd wrt两年了。最近切换到OpenWrt并完成了基本设置(wifi/互联网工作)。我需要安装我的路由器。但是,USB设备无法安装 路由器的详细信息如下: 路由器型号: 华硕RT-N13U B1 图像闪烁: chaos_calmer 15.05.1(openwrt-15.05.1-ramips-rt305x-rt-n13u-squashfs-sysupgrade.bin) Usb详细信息: Cruiser Bla
- kmod usb核心(预装)
- kmod-usb-dwc2(预装)
- kmod-usb2
- kmod usb存储器
- kmod-fs-ext4
- kmod scsi核心(预装)
~# mount -t ext4 /dev/sda1 /mnt
mount: mounting /dev/sda1 on /mnt failed: No such file or directory
echo $?
255
sda1存在于dev中,并且/mnt目录存在。但它仍然显示出一个错误
我尝试过安装/重新安装,然后安装,但结果相同。此外,当我断开USBsda和sda1时,文件夹会消失,然后在重新连接USB时重新出现,因此我猜设备已成功检测到
我错过了什么
编辑:
添加了评论中建议的编辑
(输出非常大,因此将其链接)
编辑2:
切换到LEDE 17。更稳定,在过去一周内没有任何问题。dmesg输出的关键部分是 [9.410000]mount_root:从内部覆盖加载kmods [9.940000]SCSI子系统已初始化 [9.960000]ehci_hcd:USB 2.0“增强型”主机控制器(ehci)驱动程序 [9.980000]ehci平台:ehci通用平台驱动程序[9.990000]usb存储1-1:1.0:_节点编号;不解析pinctrl DT [9.990000]usb存储1-1:1.0:检测到usb大容量存储设备 [10.010000]scsi主机0:usb存储1-1:1.0 [10.020000]usbcore:已注册的新接口驱动程序usb存储 [10.100000]块:尝试加载/tmp/jffs\u cfg/upper/etc/config/fstab [10.120000]块:外部根:未配置 [10.130000]挂载根:切换到jffs2覆盖 [10.180000]程序:-早期- [11.020000]scsi 0:0:0:0:直接访问SanDisk Cruzer刀片服务器1.27 PQ:0 ANSI:6 [11.030000]sd 0:0:0:0:_节点编号;不解析pinctrl DT [11.050000]sd 0:0:0:0:[sda]30529536 512字节逻辑块:(15.6 GB/14.5 GiB) [11.070000]sd 0:0:0:0:[sda]写保护已关闭 [11.070000]sd 0:0:0:0:[sda]模式检测:43 00 [11.090000]sd 0:0:0:0:[sda]写缓存:禁用,读缓存:启用,不支持DPO或FUA [11.120000]sda:sda1 [11.130000]sd 0:0:0:0:[sda]连接的SCSI可移动磁盘 [11.550000]EXT4 fs(sda1):无法加载crc32c驱动程序 哦,不,这好像是个虫子 错误#819725:crc32c模块上缺少ext4 softdep 以下解决方法不适用,因为initramfs在启动时()是本机文件系统,并且在系统完全启动(rootfs已装载)时没有影响: 在内核包中修复此问题之前,您可以通过 要么:
- 将基本安装程序/initramfs工具/驱动程序策略设置为“most”而不是“dep”
- 将base config/late_命令设置为将crc32c添加到/etc/initramfs工具/模块的脚本
这不是权限错误。权限错误将返回EPERM->错误代码1不允许操作 知道
mount
返回的退出代码会很有趣。“退出行为在几种装载版本中非常不同”,即装载(2)
和装载(8)
要获取返回值,请在shell中键入以下命令
mount/dev/sda1/mnt
然后
echo$?
该数字是装载返回的退出代码(255表示“退出状态超出范围”,在本例中为“-1”)
挂载(8)退出代码列表如下所示:
除了返回值mount(2)之外,还在errno
()中设置错误代码。在shell中打印errno
有点困难。获取类似的引用并搜索错误字符串比较容易,在这种情况下,没有这样的文件或目录
没有这样的文件或目录的字符串是系统错误enoint
由于系统错误enoint意味着路径名为空或不存在组件。()
尝试sudo mount-t ext4/dev/sda1/mnt
,因为棍子的格式是ext4
如果这不起作用,dmesg
输出会很有趣
分离usb设备,重新连接usb设备,键入dmesg
,然后查看输出。在dmesg
的输出中,您还可以看到为设备加载了哪些驱动程序
表示您还需要几个驱动程序(block mount
,kmod scsi core
,…),因为U盘(usb大容量存储类)也是scsi和块设备
(linux系统错误)
~# mount -t ext4 /dev/sda1 /mnt
mount: mounting /dev/sda1 on /mnt failed: No such file or directory
echo $?
255