Skip to content

Commit 1ead8ef

Browse files
committed
split /data attachment from kvm media attachment
1 parent a4978d9 commit 1ead8ef

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

kvmapp/system/init.d/S03usbdev

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,10 @@ start_usb_dev(){
8282
ln -s functions/hid.GS2 configs/c.1
8383
fi
8484

85-
if [ -e /boot/usb.disk0 ]
85+
# dedicated for media
86+
if [ ! -e /boot/usb.disk0.disabled ]
8687
then
88+
touch /boot/usb.disk0
8789
mkdir functions/mass_storage.disk0
8890
ln -s functions/mass_storage.disk0 configs/c.1/
8991
echo 1 > functions/mass_storage.disk0/lun.0/removable
@@ -95,17 +97,20 @@ start_usb_dev(){
9597
disk=$(cat /boot/usb.disk0)
9698
if [ -z "${disk}" ]
9799
then
98-
# if [ ! -e /mnt/usbdisk.img ]
99-
# then
100-
# fallocate -l 8G /mnt/usbdisk.img
101-
# mkfs.vfat /mnt/usbdisk.img
102-
# fi
103-
echo /dev/mmcblk0p3 > functions/mass_storage.disk0/lun.0/file
100+
echo "" > functions/mass_storage.disk0/lun.0/file
104101
else
105102
cat /boot/usb.disk0 > functions/mass_storage.disk0/lun.0/file
106103
fi
107104
fi
108105

106+
# mount data partition
107+
if [ -e /boot/usb.disk1 ]
108+
then
109+
mkdir functions/mass_storage.disk1
110+
ln -s functions/mass_storage.disk1 configs/c.1/
111+
echo /dev/mmcblk0p3 > functions/mass_storage.disk1/lun.0/file
112+
fi
113+
109114
ls /sys/class/udc/ | cat > UDC
110115
echo device > /proc/cviusb/otg_role
111116
}

server/service/storage/image.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616

1717
const (
1818
imageDirectory = "/data"
19-
imageNone = "/dev/mmcblk0p3"
19+
imageNone = ""
2020
cdromFlag = "/sys/kernel/config/usb_gadget/g0/functions/mass_storage.disk0/lun.0/cdrom"
2121
mountDevice = "/sys/kernel/config/usb_gadget/g0/functions/mass_storage.disk0/lun.0/file"
2222
roFlag = "/sys/kernel/config/usb_gadget/g0/functions/mass_storage.disk0/lun.0/ro"
@@ -105,8 +105,9 @@ func (s *Service) MountImage(c *gin.Context) {
105105

106106
// reset usb
107107
commands := []string{
108-
"echo > /sys/kernel/config/usb_gadget/g0/UDC",
109-
"ls /sys/class/udc/ | cat > /sys/kernel/config/usb_gadget/g0/UDC",
108+
// this should not be required for media change, reset of the full gadget can break hid on some devices
109+
//"echo > /sys/kernel/config/usb_gadget/g0/UDC",
110+
//"ls /sys/class/udc/ | cat > /sys/kernel/config/usb_gadget/g0/UDC",
110111
}
111112

112113
for _, command := range commands {

server/service/vm/virtual-device.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
const (
1616
virtualNetwork = "/boot/usb.rndis0"
17-
virtualDisk = "/boot/usb.disk0"
17+
virtualDisk = "/boot/usb.disk1"
1818
)
1919

2020
var (
@@ -32,15 +32,15 @@ var (
3232
}
3333

3434
mountDiskCommands = []string{
35-
"touch /boot/usb.disk0",
35+
"touch /boot/usb.disk1",
3636
"/etc/init.d/S03usbdev stop",
3737
"/etc/init.d/S03usbdev start",
3838
}
3939

4040
unmountDiskCommands = []string{
4141
"/etc/init.d/S03usbdev stop",
42-
"rm -rf /sys/kernel/config/usb_gadget/g0/configs/c.1/mass_storage.disk0",
43-
"rm /boot/usb.disk0",
42+
"rm -rf /sys/kernel/config/usb_gadget/g0/configs/c.1/mass_storage.disk1",
43+
"rm /boot/usb.disk1",
4444
"/etc/init.d/S03usbdev start",
4545
}
4646
)

0 commit comments

Comments
 (0)