|
开发板TQ2440。最近需要利用mdev做一个在U盘插入之后启动一个应用程序将某个文件夹下的文件复制到u盘中。看了busybox的mdev.txt并结合了linux移植之step by step pdf的11.2节关于mdev的介绍。做了以下操作:
在mdev.conf中添加了一句话:sd[a-z]*[0-9] 0:0 0660 @(/usr/sbin/mybash.sh)
mdev.conf下的内容如下:
sd[a-z]*[0-9] 0:0 0660 @(mount -t vfat -o iocharset=cp936 /dev $MDEV /opt/myusb)
sd[a-z]*[0-9] 0:0 0660 @(/usr/sbin/mybash.sh) //added by me
sd[a-z]*[0-9] 0:0 0660 *(umount /opt/myusb)
mmcblk[0-9]*p[0-9] 0:0 0660 @(mount -t vfat -o iocharset=cp936 /dev/$MDEV /mnt/sd)
mmcblk[0-9]*p[0-9] 0:0 0660 *(umount /mnt/sd)
mybash.sh的内容如下:
#!/bin/sh
echo "-----Creat myfile----"
mkdir -p /home/myfile
echo "/home/myfile is created"
mybash.sh放在了/usr/sbin目录下。然后我执行了 chmod +x /usr/sbin/mybash.sh,使其具有可执行。
然后启动开发板,插上U盘之后,命令行有如下提示:
[root@EmbedSky /home]# usb 1-1: USB disconnect, address 2
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: New USB device found, idVendor=0951, idProduct=1643
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: DataTraveler G3
usb 1-1: Manufacturer: Kingston
usb 1-1: SerialNumber: 0014785448B4F081A7881294
usb 1-1: configuration #1 chosen from 1 choice
scsi1 : SCSI emulation for USB Mass Storage devices
scsi 1:0:0:0: Direct-Access Kingston DataTraveler G3 1.00 PQ: 0 ANSI: 2
sd 1:0:0:0: [sdb] 7818184 512-byte hardware sectors: (4.00 GB/3.72 GiB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 1:0:0:0: [sdb] Attached SCSI removable disk
但是查看/home文件夹,文件夹myfile并没有创建。我怀疑是不是mdev没有运行起来,修改了如下:
sd[a-z]*[0-9] 0:0 0660 @(mount -t vfat -o iocharset=cp936 /dev/$MDEV /opt/myusb)
#sd[a-z]*[0-9] 0:0 0660 @(/usr/sbin/mybash.sh)
sd[a-z]*[0-9] 0:0 0660 *(umount /opt/myusb)
mmcblk[0-9]*p[0-9] 0:0 0660 @(mount -t vfat -o iocharset=cp936 /dev/$MDEV /mnt/sd)
mmcblk[0-9]*p[0-9] 0:0 0660 *(umount /mnt/sd)
将U盘挂载到/opt/myusb目录下,结果OK。所以我现在确定我添加的那句话没有被执行到。
现在我想问的是为什么我在mdev.conf中添加的那句话没有被执行呢? |
|