我正在尝试将 USB 拇指驱动器安装到我的路由器上。
我的 USB 拇指驱动器是 32GB,分为两个分区:
16GB NTFS 和 16GB ext4。
16GB NTFS 分区将在路由器中自动检测为 sda1,并默认安装到 /mnt/sda1 和 /tmp/ftp/Volume_A1。
16GB ext4 在路由器中自动检测为 sda2 但尚未安装。
所以我想将 sda2 挂载到 /test
这些是我所做的:
mount /dev/sda2 /test
<====== sda2 将被挂载到 /test,但在路由器重启后消失/dev/sda2
添加了如下的UUID以/etc/fstab
将其安装到/test
。<========== 我检查df
从未安装过,请参见下文
root@router:/# blkid
/dev/sda2: UUID="14a0f0f0-27ac-4101-8d11-3057f10d1385" TYPE="ext4"
/dev/sda1: LABEL="usbdata" UUID="23D9FBBC72AB064E" TYPE="ntfs"
/dev/ubi1_0: UUID="9c7f4c41-289f-4c49-8036-3698b24c7687" TYPE="ubifs"
/dev/ubi0_0: UUID="66fa53a5-cc19-454d-b1a4-6a691051fb9e" TYPE="ubifs"
/dev/sda2
我添加了(上面列出的)的 UUID以/etc/fstab
将其安装在/test
:
root@router:/# nano /etc/fstab
# fstab file - used to mount file systems
proc /proc proc defaults 0 0
tmpfs /var tmpfs size=420k,noexec 0 0
tmpfs /mnt tmpfs size=16k,noexec 0 0
tmpfs /dev tmpfs size=64k,mode=0755,noexec 0 0
sysfs /sys sysfs defaults 0 0
debugfs /sys/kernel/debug debugfs nofail 0 0
mtd:bootfs /bootfs jffs2 ro 0 0
UUID=14a0f0f0-27ac-4101-8d11-3057f10d1385 /test auto nosuid,nodev,nofail 0 0
root@router:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
ubi:rootfs_ubifs 44840 38760 6080 86% /
mtd:bootfs 4480 3440 1040 77% /bootfs
mtd:data 4096 464 3632 11% /data
ubi1:tp_data 4584 844 3472 20% /tp_data
ubi:rootfs_ubifs 44840 38760 6080 86% /tmp/root
/dev/sda1 15452156 84620 15367536 1% /mnt/sda1
/dev/sda1 15452156 84620 15367536 1% /tmp/ftp/Volume_A1
[为了提高可读性,间距已被修改。]
请指教并谢谢
=================================================== =========================
后续评论如下:
=================================================== =========================
作为由亚伦·马拉斯科 (Aaron D. Marasco) 建议,我auto
改为ext4
:
UUID=14a0f0f0-27ac-4101-8d11-3057f10d1385 /test ext4 nosuid,nodev,nofail 0 0
还是没有运气。df
与之前的结果相同
这是输出ps
,根据 Hauke Laging 的要求。 (路由器的 Busybox 无法识别该 -p
选项。)
root@router:/# ps -o pid,args
PID COMMAND
1 init
2 [kthreadd]
3 [ksoftirqd/0]
4 [kworker/0:0]
5 [kworker/0:0H]
6 [kworker/u4:0]
7 [rcu_preempt]
8 [rcu_sched]
9 [rcu_bh]
10 [migration/0]
11 [migration/1]
12 [ksoftirqd/1]
14 [kworker/1:0H]
15 [khelper]
122 [writeback]
125 [ksmd]
126 [crypto]
127 [bioset]
129 [kblockd]
151 [skbFreeTask]
152 [bcmFapDrv]
173 [kswapd0]
174 [fsnotify_mark]
294 [cfinteractive]
344 [kworker/1:1]
351 [linkwatch]
352 [ipv6_addrconf]
357 [deferwq]
362 [ubi_bgt0d]
926 [jffs2_gcd_mtd2]
947 [ubi_bgt1d]
962 [ubifs_bgt1_0]
1039 [bcmFlwStatsTask]
1113 [kworker/1:2]
1137 {rcS} /bin/sh /etc/init.d/rcS S boot
1139 init
1140 logger -s -p 6 -t sysinit
1286 /sbin/klogd
1540 /sbin/hotplug2 --override --persistent --set-rules-file /etc/hotplug2.rul
1550 /usr/sbin/logd -C 128
1555 /sbin/ubusd
1558 {S12ledctrl} /bin/sh /etc/rc.common /etc/rc.d/S12ledctrl boot
1560 /usr/bin/ledctrl
1627 [bcmsw_rx]
1629 [bcmsw]
1636 [pdc_rx]
1649 /bin/swmdk
1766 /sbin/netifd
4265 [dhd_watchdog_th]
4272 [wfd0-thrd]
4425 [check_task]
4493 [kworker/0:2]
4559 [scsi_eh_0]
4562 [scsi_tmf_0]
4568 [usb-storage]
4917 [kworker/u4:2]
4919 [kworker/1:1H]
5039 /usr/sbin/imbd
5207 /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf
5219 [ telnetDBGD ]
5220 [ acktelnetDBGD ]
5243 [NU TCP]
5248 [NU UDP]
5356 eapd
5369 nas
5395 wps_monitor
6095 acsd
7008 /usr/sbin/mcud
7592 /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22
7598 {S50postcenter} /bin/sh /etc/rc.common /etc/rc.d/S50postcenter boot
7600 /usr/sbin/postcenter
7612 /usr/sbin/sysmond
7620 {S50tmpServer} /bin/sh /etc/rc.common /etc/rc.d/S50tmpServer boot
7622 /usr/bin/tmpServer
7626 /usr/sbin/tsched
7628 /usr/bin/tmpServer
7777 /usr/bin/client_mgmt
8350 /usr/sbin/ntpd -n -p time.nist.gov -p time-nw.nist.gov -p time-a.nist.gov
8398 [ubifs_bgt0_0]
8403 /usr/bin/cloud-https
8639 {S99switch_led} /bin/sh /etc/rc.common /etc/rc.d/S99switch_led boot
8644 /usr/bin/switch_led
8758 /usr/bin/tm_shn -b start
8948 [tntfsiupdated]
9217 /usr/sbin/smbd -D
9219 /usr/sbin/nmbd -D
9264 proftpd: (accepting connections)
9279 udhcpc -p /var/run/udhcpc-eth0.pid -s /lib/netifd/dhcp.script -O 33 -O 12
9330 /usr/sbin/minidlnad -f /tmp/minidlna.conf -P /var/run/minidlnad.pid
9533 /usr/sbin/crond -c /etc/crontabs -l 5
9568 {dnsproxy_deamon} /bin/sh /usr/lib/dnsproxy/dnsproxy_deamon.sh
9974 /usr/sbin/improxy -c /etc/improxy.conf -p /tmp/improxy.pid
10122 /usr/sbin/miniupnpd -f /var/etc/miniupnpd.conf
10332 /usr/bin/cloud-brd -c /etc/cloud_config.cfg
10341 /usr/bin/cloud-client
10778 {lic-setup.sh} /bin/sh ./lic-setup.sh
10783 ./gen_lic
11185 {tcd_monitor.sh} /bin/sh ./tcd_monitor.sh
11186 {dc_monitor.sh} /bin/sh ./dc_monitor.sh
11187 {wred-setup.sh} /bin/sh ./wred-setup.sh
11200 ./tcd
11204 ./dcd -i 1800 -p 43200 -S 4 -b
11217 ./wred -B
11241 {clean-cache.sh} /bin/sh ./clean-cache.sh
11244 /usr/bin/tm_shn -t start
15903 sh /lib/deleteTmSigToken.sh 86400
15906 sleep 86400
19612 /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22
19771 -ash
19884 sleep 600
21950 sleep 30
22135 sleep 5
22137 sleep 5
22158 sleep 5
22160 sleep 5
正如 Hauke Laging 的回答。听起来不错,我这样做mount -a
或mount /test
并且 sda2 将被安装到/test
,如何使用 udev 规则永久安装?
在我的路由器上,我不知道运行 udev 规则(找不到任何 udev.conf ),因此我使用运行脚本进行测试mount /test
,/etc/rc.local
重新启动路由器,但仍然无法安装, /test
然后我sleep 20
在脚本中添加延迟并通过重新启动进行测试路由器,并且正在工作,现在自动安装/测试!谢谢你们
答案1
在 SystemD 系统上,/etc/fstab
其中列出的设备在引导时不存在但稍后出现,会自动安装。其他系统不会这样做(至少不是全部)。
mount /test
因此,您需要在设备可用时触发呼叫的功能。这可以通过 udev 规则 ( RUN=
) 来完成。
答案2
也许你可以尝试:
UID=14a0f0f0-27ac-4101-8d11-3057f10d1385 /test errors=remount-ro,user,noatime 0 2
如果有错误,应该让任何错误显示并挂载为只读。