Using USB Mass Storage Peripheral driver » make_usb_mem.sh
| 1 |
#!/bin/sh
|
|---|---|
| 2 |
|
| 3 |
# Create a loopback file in /dev/shm. Format fat32 and give to g_mass_storage driver.
|
| 4 |
|
| 5 |
FILE=/dev/shm/20M |
| 6 |
set -x |
| 7 |
|
| 8 |
die()
|
| 9 |
{
|
| 10 |
echo $@ |
| 11 |
exit
|
| 12 |
}
|
| 13 |
|
| 14 |
rm -f $FILE |
| 15 |
|
| 16 |
# Create 20M file with all zeros
|
| 17 |
dd if=/dev/zero of=$FILE bs=1M count=20 || die |
| 18 |
|
| 19 |
# opkg install util-linux-sfdisk
|
| 20 |
# Create one large fat32 partition
|
| 21 |
sfdisk --force $FILE << EOF |
| 22 |
unit: sectors
|
| 23 |
8,,c;
|
| 24 |
EOF
|
| 25 |
|
| 26 |
# Attach loopback file to /dev/loop0
|
| 27 |
[ ! -e /dev/loop0 ] && mknod /dev/loop0 b 7 0 |
| 28 |
losetup -o 4096 /dev/loop0 $FILE || die |
| 29 |
|
| 30 |
# Format fat32
|
| 31 |
mkfs.vfat /dev/loop0 || die
|
| 32 |
|
| 33 |
# Mount fat32 partition
|
| 34 |
mkdir -p /mnt/loop |
| 35 |
mount -t vfat /dev/loop0 /mnt/loop || die |
| 36 |
|
| 37 |
# Add files to loop device
|
| 38 |
touch /mnt/loop/testfile || die |
| 39 |
|
| 40 |
# Unmount and unAttach
|
| 41 |
umount /mnt/loop || die
|
| 42 |
losetup -d /dev/loop0 || die |
| 43 |
|
| 44 |
# Load mass storage driver module
|
| 45 |
modprobe g_mass_storage file=$FILE stall=0 removable=1 || die |
| 46 |
|
| 47 |
echo "Plugin usb cable" |
| 48 |
|
- « Previous
- 1
- 2
- Next »