mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +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:
parent
049f0b3e83
commit
f371896070
@ -0,0 +1,4 @@
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/android-gadget-setup
|
||||
ExecStartPost=/usr/bin/android-gadget-start
|
||||
ExecStopPost=/usr/bin/android-gadget-cleanup
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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"
|
||||
Loading…
x
Reference in New Issue
Block a user