mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-02 01:50:18 +00:00
android-tools-conf-configfs: add an alternative to anrdoid-tools-conf
The package android-tools-conf depends on presence of /sys/class/android_usb, which is not present in default (mainline) kernels. Add a set of scripts that will use ConfigFS to configure USB gadget rather than using non-standard device class. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
049f0b3e83
commit
f371896070
+4
@@ -0,0 +1,4 @@
|
|||||||
|
[Service]
|
||||||
|
ExecStartPre=/usr/bin/android-gadget-setup
|
||||||
|
ExecStartPost=/usr/bin/android-gadget-start
|
||||||
|
ExecStopPost=/usr/bin/android-gadget-cleanup
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ -d /sys/kernel/config/usb_gadget ] || exit 0
|
||||||
|
|
||||||
|
cd /sys/kernel/config/usb_gadget
|
||||||
|
|
||||||
|
cd adb
|
||||||
|
|
||||||
|
echo "" > UDC || true
|
||||||
|
|
||||||
|
killall adbd || true
|
||||||
|
|
||||||
|
umount /dev/usb-ffs/adb
|
||||||
|
|
||||||
|
rm configs/c.1/ffs.usb0
|
||||||
|
|
||||||
|
rmdir configs/c.1/strings/0x409
|
||||||
|
rmdir configs/c.1
|
||||||
|
|
||||||
|
rmdir functions/ffs.usb0
|
||||||
|
rmdir strings/0x409
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rmdir adb
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
manufacturer=RPB
|
||||||
|
model="Android device"
|
||||||
|
serial=0123456789ABCDEF
|
||||||
|
|
||||||
|
if [ -r /etc/android-gadget-setup.machine ] ; then
|
||||||
|
. /etc/android-gadget-setup.machine
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -d /sys/kernel/config/usb_gadget ] || modprobe libcomposite
|
||||||
|
|
||||||
|
cd /sys/kernel/config/usb_gadget
|
||||||
|
|
||||||
|
[ -d adb ] && /usr/bin/android-gadget-cleanup || true
|
||||||
|
|
||||||
|
mkdir adb
|
||||||
|
cd adb
|
||||||
|
|
||||||
|
mkdir configs/c.1
|
||||||
|
mkdir functions/ffs.usb0
|
||||||
|
mkdir strings/0x409
|
||||||
|
mkdir configs/c.1/strings/0x409
|
||||||
|
echo 0x18d1 > idVendor
|
||||||
|
echo 0xd002 > idProduct
|
||||||
|
echo "$serial" > strings/0x409/serialnumber
|
||||||
|
echo "$manufacturer" > strings/0x409/manufacturer
|
||||||
|
echo "$model" > strings/0x409/product
|
||||||
|
echo "Conf 1" > configs/c.1/strings/0x409/configuration
|
||||||
|
ln -s functions/ffs.usb0 configs/c.1
|
||||||
|
|
||||||
|
mkdir -p /dev/usb-ffs/adb
|
||||||
|
mount -t functionfs usb0 /dev/usb-ffs/adb
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/adb/UDC
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
DESCRIPTION = "Different utilities from Android - corressponding configuration files for using ConfigFS"
|
||||||
|
SECTION = "console/utils"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
file://android-gadget-setup \
|
||||||
|
file://android-gadget-start \
|
||||||
|
file://android-gadget-cleanup \
|
||||||
|
file://10-adbd-configfs.conf \
|
||||||
|
"
|
||||||
|
|
||||||
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir}
|
||||||
|
install -m 0755 ${WORKDIR}/android-gadget-start ${D}${bindir}
|
||||||
|
install -m 0755 ${WORKDIR}/android-gadget-cleanup ${D}${bindir}
|
||||||
|
|
||||||
|
if [ -r ${WORKDIR}/android-gadget-setup.machine ] ; then
|
||||||
|
install -d ${D}${sysconfdir}
|
||||||
|
install -m 0644 ${WORKDIR}/android-gadget-setup.machine ${D}${sysconfdir}
|
||||||
|
fi
|
||||||
|
|
||||||
|
install -d ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
|
||||||
|
install -m 0644 ${WORKDIR}/10-adbd-configfs.conf ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${systemd_unitdir}/system/ \
|
||||||
|
"
|
||||||
|
|
||||||
|
PROVIDES += "android-tools-conf"
|
||||||
|
RPROVIDES_${PN} = "android-tools-conf"
|
||||||
Reference in New Issue
Block a user