From 468fb228868687c94fe3ca6e9f818af657674992 Mon Sep 17 00:00:00 2001 From: Andrii Pientsov Date: Mon, 15 Jun 2020 17:32:54 +0300 Subject: Refactoring udev rules. --- recipes-core/udev/eudev/cellular_radios.rules | 86 -------------- recipes-core/udev/eudev/init | 138 ----------------------- recipes-core/udev/eudev/udev-cache.default | 5 - recipes-core/udev/eudev_%.bbappend | 20 +--- recipes-core/udev/udev-extraconf/automount.rules | 24 ---- recipes-core/udev/udev-extraconf/mount.patch | 81 ------------- recipes-core/udev/udev-extraconf_%.bbappend | 5 - 7 files changed, 5 insertions(+), 354 deletions(-) delete mode 100644 recipes-core/udev/eudev/cellular_radios.rules delete mode 100644 recipes-core/udev/eudev/init delete mode 100644 recipes-core/udev/eudev/udev-cache.default delete mode 100644 recipes-core/udev/udev-extraconf/automount.rules delete mode 100644 recipes-core/udev/udev-extraconf/mount.patch delete mode 100644 recipes-core/udev/udev-extraconf_%.bbappend diff --git a/recipes-core/udev/eudev/cellular_radios.rules b/recipes-core/udev/eudev/cellular_radios.rules deleted file mode 100644 index d7c0521..0000000 --- a/recipes-core/udev/eudev/cellular_radios.rules +++ /dev/null @@ -1,86 +0,0 @@ -ACTION=="remove", GOTO="mlinux_end" -SUBSYSTEM!="tty", GOTO="mlinux_end" -KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="mlinux_end" - -SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" -ENV{ID_IFACE}=="", GOTO="mlinux_end" - -# All modem ports -# H5 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="02", SYMLINK+="modem1" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="04", SYMLINK+="modem2" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem3" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="08", SYMLINK+="modem4" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0c", SYMLINK+="modem6" -# LAT3, LVW3 and LEU3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="02", SYMLINK+="modem1" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="04", SYMLINK+="modem2" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem3" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="08", SYMLINK+="modem4" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" -# EV3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="01", SYMLINK+="modem1" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem2" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem3" -# H4 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="01", SYMLINK+="modem1" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="02", SYMLINK+="modem2" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem3" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem4" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem5" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="06", SYMLINK+="modem6" -# EV2 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", SYMLINK+="modem$env{ID_PORT}" - -# AT Command ports -# H5: ttyACM0, ttyACM3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# LAT3, LVW3 and LEU3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# EV3: ttyUSB2, ttyUSB3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" -# H4: ttyUSB3, ttyUSB4, ttyUSB5 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem_at1" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem_at2" -# EV2: ttyUSB0 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", ENV{ID_PORT}=="0", SYMLINK+="modem_at0" -# LAT1, LEU1, LVW2: ttyUSB2, ttyUSB3 (port 04 and port 05) -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="04", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="05", SYMLINK+="modem_at1" -# LJP1(LE910-JN1), LNA3(LE910-NA1): ttyACM0, ttyACM3 (port 00 and port 03) -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# LJP1(LE866) ttyACM0, ttyACM2 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# G3: ttyACM0, ttyACM1 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" -# C2: ttyUSB0, ttyUSB1 (Telit Documentation: Modem Port = USB1, Aux Port = USB0) -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="00", SYMLINK+="modem_at1" -# CATM Telit ME910 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" -# CATM Telit ME910 dual USB -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" - -# Quectel EG-95 -ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" - -# Quectel EG-25 -ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" - -LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/init b/recipes-core/udev/eudev/init deleted file mode 100644 index bd716b0..0000000 --- a/recipes-core/udev/eudev/init +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: udev -# Required-Start: mountvirtfs -# Required-Stop: -# Default-Start: S -# Default-Stop: -# Short-Description: Start udevd, populate /dev and load drivers. -### END INIT INFO - -export TZ=/etc/localtime - -[ -d /sys/class ] || exit 1 -[ -r /proc/mounts ] || exit 1 -[ -x @UDEVD@ ] || exit 1 -[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache -[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf -[ -f /etc/default/rcS ] && . /etc/default/rcS - -readfiles () { - READDATA="" - for filename in $@; do - if [ -r $filename ]; then - while read line; do - READDATA="$READDATA$line" - done < $filename - fi - done -} - -kill_udevd () { - pid=`pidof -x udevd` - [ -n "$pid" ] && kill $pid -} - -case "$1" in - start) - export ACTION=add - # propagate /dev from /sys - echo "Starting udev" - - # Check for requireed devtmpfs before trying to start udev and - # mount a no-existant fs. - if ! grep -q devtmpfs /proc/filesystems - then - echo "Missing devtmpfs, which is required for udev to run"; - echo "Halting..." - halt - fi - # mount the devtmpfs on /dev, if not already done - LANG=C awk '$2 == "/dev" && ($3 == "devtmpfs") { exit 1 }' /proc/mounts && { - mount -n -o mode=0755 -t devtmpfs none "/dev" - } - [ -e /dev/pts ] || mkdir -m 0755 /dev/pts - [ -e /dev/shm ] || mkdir -m 1777 /dev/shm - # the automount rule for udev needs /tmp directory available, as /tmp is a symlink - # to /var/tmp which in turn is a symlink to /var/volatile/tmp, we need to make sure - # /var/volatile/tmp directory to be available. - mkdir -p /var/volatile/tmp - - # Cache handling. - # A list of files which are used as a criteria to judge whether the udev cache could be reused. - CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices /proc/atags" - if [ "$DEVCACHE" != "" ]; then - if [ -e $DEVCACHE ]; then - readfiles $CMP_FILE_LIST - NEWDATA="$READDATA" - readfiles /etc/udev/cache.data - OLDDATA="$READDATA" - if [ "$OLDDATA" = "$NEWDATA" ]; then - (cd /; tar xf $DEVCACHE > /dev/null 2>&1) - not_first_boot=1 - [ "$VERBOSE" != "no" ] && echo "udev: using cache file $DEVCACHE" - [ -e /dev/shm/udev.cache ] && rm -f /dev/shm/udev.cache - else - # Output detailed reason why the cached /dev is not used - if [ "$VERBOSE" != "no" ]; then - echo "udev: udev cache not used" - echo "udev: we use $CMP_FILE_LIST as criteria to judge whether the cache /dev could be resued" - echo "udev: olddata: $OLDDATA" - echo "udev: newdata: $NEWDATA" - fi - echo "$NEWDATA" > /dev/shm/udev.cache - fi - else - if [ "$ROOTFS_READ_ONLY" != "yes" ]; then - # If rootfs is not read-only, it's possible that a new udev cache would be generated; - # otherwise, we do not bother to read files. - readfiles $CMP_FILE_LIST - echo "$READDATA" > /dev/shm/udev.cache - fi - fi - fi - - # make_extra_nodes - kill_udevd > "/dev/null" 2>&1 - - # trigger the sorted events - echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug - @UDEVD@ -d - - udevadm control --env=STARTUP=1 - if [ "$not_first_boot" != "" ];then - if [ "$PROBE_PLATFORM_BUS" != "yes" ]; then - PLATFORM_BUS_NOMATCH="--subsystem-nomatch=platform" - else - PLATFORM_BUS_NOMATCH="" - fi - udevadm trigger --action=add --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux $PLATFORM_BUS_NOMATCH - (udevadm settle --timeout=10; udevadm control --env=STARTUP=)& - else - udevadm trigger --action=add - udevadm settle - fi - ;; - stop) - echo "Stopping udevd" - start-stop-daemon --stop --name udevd --quiet - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - status) - pid=`pidof -x udevd` - if [ -n "$pid" ]; then - echo "udevd (pid $pid) is running ..." - else - echo "udevd is stopped" - fi - ;; - *) - echo "Usage: $0 {start|stop|status|restart}" - exit 1 -esac -exit 0 diff --git a/recipes-core/udev/eudev/udev-cache.default b/recipes-core/udev/eudev/udev-cache.default deleted file mode 100644 index b1aa63f..0000000 --- a/recipes-core/udev/eudev/udev-cache.default +++ /dev/null @@ -1,5 +0,0 @@ -# Default for /etc/init.d/udev - -# Comment this out to disable device cache -#DEVCACHE="/etc/dev.tar" -PROBE_PLATFORM_BUS="yes" diff --git a/recipes-core/udev/eudev_%.bbappend b/recipes-core/udev/eudev_%.bbappend index db8a12d..ac17fc2 100644 --- a/recipes-core/udev/eudev_%.bbappend +++ b/recipes-core/udev/eudev_%.bbappend @@ -1,21 +1,11 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" - -PR .= ".mlinux5" - -# add custom rules for persistent modem device names -SRC_URI += " file://cellular_radios.rules \ - file://${MACHINE}.rules \ - " FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI_append_mtcdt = " file://accessory_ethernet.rules \ - " +PR .= ".mlinux6" -do_install_append() { - install -m 644 ${WORKDIR}/cellular_radios.rules ${D}${sysconfdir}/udev/rules.d/ - install -m 644 ${WORKDIR}/${MACHINE}.rules ${D}${sysconfdir}/udev/rules.d/ -} +SRC_URI_append_mtcdt = " \ + file://accessory_ethernet.rules \ + " do_install_append_mtcdt() { - install -m 644 ${WORKDIR}/accessory_ethernet.rules ${D}${sysconfdir}/udev/rules.d/ + install -m 644 ${WORKDIR}/accessory_ethernet.rules ${D}${sysconfdir}/udev/rules.d/ } diff --git a/recipes-core/udev/udev-extraconf/automount.rules b/recipes-core/udev/udev-extraconf/automount.rules deleted file mode 100644 index b4a8f22..0000000 --- a/recipes-core/udev/udev-extraconf/automount.rules +++ /dev/null @@ -1,24 +0,0 @@ -# There are a number of modifiers that are allowed to be used in some -# of the different fields. They provide the following subsitutions: -# -# %n the "kernel number" of the device. -# For example, 'sda3' has a "kernel number" of '3' -# %e the smallest number for that name which does not matches an existing node -# %k the kernel name for the device -# %M the kernel major number for the device -# %m the kernel minor number for the device -# %b the bus id for the device -# %c the string returned by the PROGRAM -# %s{filename} the content of a sysfs attribute -# %% the '%' char itself -# - -SUBSYSTEM!="block", GOTO="automount_end" -# only mount SD cards and mass storage devices -KERNEL!="sd[a-z][0-9]*|mmcblk[0-9]p[0-9]*", GOTO="automount_end" - -# Media automounting -SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" -SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" - -LABEL="automount_end" diff --git a/recipes-core/udev/udev-extraconf/mount.patch b/recipes-core/udev/udev-extraconf/mount.patch deleted file mode 100644 index 1b475f3..0000000 --- a/recipes-core/udev/udev-extraconf/mount.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -Naru orig/mount.blacklist new/mount.blacklist ---- orig/mount.blacklist 2019-10-24 17:08:59.796796272 -0500 -+++ new/mount.blacklist 2019-10-24 17:16:31.768782892 -0500 -@@ -3,3 +3,16 @@ - /dev/mtdblock - /dev/md - /dev/dm-* -+# These should all be mounted in fstab or not at all. -+[PARTLABEL=uboot] -+[PARTLABEL=root] -+[PARTLABEL=root1] -+[PARTLABEL=root2] -+[PARTLABEL=uboot] -+[PARTLABEL=oem] -+[PARTLABEL=oem1] -+[PARTLABEL=oem2] -+[PARTLABEL=config] -+[PARTLABEL=config1] -+[PARTLABEL=config2] -+[PARTLABEL=user_data] -diff -Naru orig/mount.sh new/mount.sh ---- orig/mount.sh 2019-10-24 17:09:11.344795931 -0500 -+++ new/mount.sh 2019-10-24 18:11:38.612684994 -0500 -@@ -25,9 +25,32 @@ - fi - - PMOUNT="/usr/bin/pmount" -- --for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*` -+for line in `grep -h -v '^#$' /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/* 2>/dev/null` - do -+ if [[ $line =~ ^\[([^=]*)=([^\]]*)\] ]] ; then -+ fsspectype=${BASH_REMATCH[1]} -+ tmp="$(lsblk -o $fsspectype $DEVNAME | sed -e '1d')" -+ case $fsspectype in -+ PARTLABEL) -+ if [[ ${BASH_REMATCH[2]} == $tmp ]] ; then -+ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" -+ logger "$line" -+ exit 0 -+ fi -+ ;; -+ -+ PARTUUID) -+ if [[ ${BASH_REMATCH[2]^^} == $tmp ]] ; then -+ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" -+ logger "$line" -+ exit 0 -+ fi -+ ;; -+ *) -+ logger "[$fsspectype] is unsupported in blacklist -- ignoring blacklist item" -+ ;; -+ esac -+ fi - if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ]; - then - logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" -@@ -49,6 +72,10 @@ - - [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" - -+ if [ "$name" = mmcblk0p1 ] ; then -+ ln -sf /run/media/$name /run/media/card -+ fi -+ - MOUNT="$MOUNT -o silent" - - # If filesystemtype is vfat, change the ownership group to 'disk', and -@@ -78,7 +105,11 @@ - if [ -x "$PMOUNT" ]; then - $PMOUNT $DEVNAME 2> /dev/null - elif [ -x $MOUNT ]; then -+ if [[ $ID_FS_TYPE =~ fat ]] ; then -+ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null -+ else - $MOUNT $DEVNAME 2> /dev/null -+ fi - fi - - # If the device isn't mounted at this point, it isn't diff --git a/recipes-core/udev/udev-extraconf_%.bbappend b/recipes-core/udev/udev-extraconf_%.bbappend deleted file mode 100644 index 708a07c..0000000 --- a/recipes-core/udev/udev-extraconf_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -PR = "m1" - -SRC_URI += "file://mount.patch" -- cgit v1.2.3