usb:add usb mass storage more config

In emmc/sdcard boot case, add more usb device
mass storage configs.

Signed-off-by: minda.chen <minda.chen@starfivetech.com>
This commit is contained in:
minda.chen
2023-01-17 10:34:01 +08:00
parent 0a417a545e
commit 5e82470c44
+19 -14
View File
@@ -5,21 +5,24 @@ PID="0x0010"
mass_storage_create() mass_storage_create()
{ {
mkdir -p /var/sdcard/sda mkdir -p $1
cd /var/sdcard cd $1
dd if=/dev/zero of=/var/sdcard/disk.img bs=1M count=$1 dd if=/dev/zero of=$2.img bs=1M count=$3
mkdosfs -F 32 disk.img mkdosfs -F 32 $2.img
mkdir -p /mnt/$2
mount -t vfat -o sync $2.img /mnt/$2
} }
mass_storage_delete() mass_storage_delete()
{ {
echo "" > /sys/kernel/config/usb_gadget/mass_storage/functions/mass_storage.0/lun.0/file echo "" > /sys/kernel/config/usb_gadget/mass_storage/functions/mass_storage.0/lun.0/file
umount /var/sdcard/sda umount /mnt/$2
rm -rf /var/sdcard/disk.img rm -rf $1/$2.img
} }
mass_storage_start() mass_storage_start()
{ {
umount /mnt/$2
cd /sys/kernel/config/usb_gadget cd /sys/kernel/config/usb_gadget
mkdir -p mass_storage mkdir -p mass_storage
cd mass_storage cd mass_storage
@@ -36,7 +39,7 @@ mass_storage_start()
echo "mass_storage" > configs/config.1/strings/0x409/configuration echo "mass_storage" > configs/config.1/strings/0x409/configuration
sleep 1 sleep 1
mkdir -p functions/mass_storage.0 mkdir -p functions/mass_storage.0
echo "/var/sdcard/disk.img" > functions/mass_storage.0/lun.0/file echo "$1/$2.img" > functions/mass_storage.0/lun.0/file
echo 1 > functions/mass_storage.0/lun.0/removable echo 1 > functions/mass_storage.0/lun.0/removable
echo 0 > functions/mass_storage.0/lun.0/nofua echo 0 > functions/mass_storage.0/lun.0/nofua
ln -s functions/mass_storage.0 configs/config.1 ln -s functions/mass_storage.0 configs/config.1
@@ -49,25 +52,25 @@ mass_storage_stop()
cd /sys/kernel/config/usb_gadget/mass_storage cd /sys/kernel/config/usb_gadget/mass_storage
echo "" > UDC echo "" > UDC
echo "" > functions/mass_storage.0/lun.0/file echo "" > functions/mass_storage.0/lun.0/file
umount /var/sdcard/sda
rm -rf configs/config.1/mass_storage.0 rm -rf configs/config.1/mass_storage.0
echo "" > configs/config.1/strings/0x409/configuration echo "" > configs/config.1/strings/0x409/configuration
mount -t vfat -o sync $1/$2.img /mnt/$2
} }
mass_storage_process() mass_storage_process()
{ {
case "$1" in case "$1" in
start) start)
mass_storage_start mass_storage_start $2 $3
;; ;;
stop) stop)
mass_storage_stop mass_storage_stop $2 $3
;; ;;
create) create)
mass_storage_create $2 mass_storage_create $2 $3 $4
;; ;;
delete) delete)
mass_storage_delete mass_storage_delete $2 $3
;; ;;
esac esac
} }
@@ -134,10 +137,12 @@ case "$1" in
adb_process $2 adb_process $2
;; ;;
mass_storage) mass_storage)
mass_storage_process $2 $3 mass_storage_process $2 $3 $4 $5
;; ;;
*) *)
echo "Usage: $0 {adb|mass_storage} {*}" echo "Usage: $0 {adb} {start/stop}"
echo "Usage: $0 {mass_storage} {create} {path} {imagename} {size/[Mi]}"
echo "Usage: $0 {mass_storage} {delete/start/stop} {path} {imagename}"
exit 1 exit 1
esac esac