From: Denys Dmytriyenko <[email protected]>

Signed-off-by: Denys Dmytriyenko <[email protected]>
---
 .../recipes-core/systemd/systemd/10-eth.network    |  5 +++
 .../recipes-core/systemd/systemd/30-wlan.network   |  5 +++
 .../recipes-core/systemd/systemd/60-usb.network    |  5 +++
 .../recipes-core/systemd/systemd/local.rules       | 26 +++++++++++++++
 .../recipes-core/systemd/systemd/usb1-rules.sh     |  3 ++
 .../recipes-core/systemd/systemd/usb2-rules.sh     |  3 ++
 .../recipes-core/systemd/systemd_%.bbappend        | 38 ++++++++++++++++++++--
 7 files changed, 82 insertions(+), 3 deletions(-)
 create mode 100644 
meta-arago-distro/recipes-core/systemd/systemd/10-eth.network
 create mode 100644 
meta-arago-distro/recipes-core/systemd/systemd/30-wlan.network
 create mode 100644 
meta-arago-distro/recipes-core/systemd/systemd/60-usb.network
 create mode 100644 meta-arago-distro/recipes-core/systemd/systemd/local.rules
 create mode 100755 meta-arago-distro/recipes-core/systemd/systemd/usb1-rules.sh
 create mode 100755 meta-arago-distro/recipes-core/systemd/systemd/usb2-rules.sh

diff --git a/meta-arago-distro/recipes-core/systemd/systemd/10-eth.network 
b/meta-arago-distro/recipes-core/systemd/systemd/10-eth.network
new file mode 100644
index 0000000..93dc1c5
--- /dev/null
+++ b/meta-arago-distro/recipes-core/systemd/systemd/10-eth.network
@@ -0,0 +1,5 @@
+[Match]
+Name=eth*
+
+[Network]
+DHCP=yes
diff --git a/meta-arago-distro/recipes-core/systemd/systemd/30-wlan.network 
b/meta-arago-distro/recipes-core/systemd/systemd/30-wlan.network
new file mode 100644
index 0000000..dd2daea
--- /dev/null
+++ b/meta-arago-distro/recipes-core/systemd/systemd/30-wlan.network
@@ -0,0 +1,5 @@
+[Match]
+Name=wlan*
+
+[Network]
+DHCP=yes
diff --git a/meta-arago-distro/recipes-core/systemd/systemd/60-usb.network 
b/meta-arago-distro/recipes-core/systemd/systemd/60-usb.network
new file mode 100644
index 0000000..dbba189
--- /dev/null
+++ b/meta-arago-distro/recipes-core/systemd/systemd/60-usb.network
@@ -0,0 +1,5 @@
+[Match]
+Name=usb*
+
+[Network]
+DHCP=yes
diff --git a/meta-arago-distro/recipes-core/systemd/systemd/local.rules 
b/meta-arago-distro/recipes-core/systemd/systemd/local.rules
new file mode 100644
index 0000000..b0e9f84
--- /dev/null
+++ b/meta-arago-distro/recipes-core/systemd/systemd/local.rules
@@ -0,0 +1,26 @@
+# 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
+#
+
+# Try and modprobe for drivers for new hardware
+ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", 
RUN+="/sbin/modprobe $env{MODALIAS}"
+
+# Create a symlink to any touchscreen input device
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", ENV{ID_INPUT_TOUCHSCREEN}=="1", 
SYMLINK+="input/touchscreen0"
+
+# Auto-mount any SD cards
+ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", SUBSYSTEM=="block", 
RUN+="/etc/udev/scripts/mount.sh"
+ACTION=="remove", KERNEL=="mmcblk[0-9]p[0-9]", SUBSYSTEM=="block", 
RUN+="/etc/udev/scripts/mount.sh"
+ACTION=="add", 
DEVPATH=="/devices/44000000\.ocp/48880000\.omap_dwc3_1/48890000\.usb/udc*", 
RUN+="/etc/udev/scripts/usb1-rules.sh"
+ACTION=="add", 
DEVPATH=="/devices/44000000\.ocp/488c0000\.omap_dwc3_2/488d0000\.usb/udc*", 
RUN+="/etc/udev/scripts/usb2-rules.sh"
diff --git a/meta-arago-distro/recipes-core/systemd/systemd/usb1-rules.sh 
b/meta-arago-distro/recipes-core/systemd/systemd/usb1-rules.sh
new file mode 100755
index 0000000..51dfd71
--- /dev/null
+++ b/meta-arago-distro/recipes-core/systemd/systemd/usb1-rules.sh
@@ -0,0 +1,3 @@
+#!bin/sh
+/sbin/modprobe g_ncm -r
+/sbin/modprobe g_ncm
diff --git a/meta-arago-distro/recipes-core/systemd/systemd/usb2-rules.sh 
b/meta-arago-distro/recipes-core/systemd/systemd/usb2-rules.sh
new file mode 100755
index 0000000..f00565e
--- /dev/null
+++ b/meta-arago-distro/recipes-core/systemd/systemd/usb2-rules.sh
@@ -0,0 +1,3 @@
+#!bin/sh
+/sbin/modprobe g_zero -r
+/sbin/modprobe g_zero
diff --git a/meta-arago-distro/recipes-core/systemd/systemd_%.bbappend 
b/meta-arago-distro/recipes-core/systemd/systemd_%.bbappend
index 5556eea..f2e7fbb 100644
--- a/meta-arago-distro/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-arago-distro/recipes-core/systemd/systemd_%.bbappend
@@ -1,6 +1,38 @@
-PR_append = ".arago0"
+PR_append = ".arago1"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PACKAGECONFIG_append = " networkd"
+USERADD_PARAM_${PN} += "--system -d / -M --shell /bin/nologin systemd-network;"
+
+SRC_URI_append = " \
+    file://local.rules \
+    file://usb1-rules.sh \
+    file://usb2-rules.sh \
+    file://10-eth.network \
+    file://30-wlan.network \
+    file://60-usb.network \
+"
 
 do_install_append() {
-    install -d ${D}/${base_libdir}
-    ln -sf libudev.so.1 ${D}${base_libdir}/libudev.so.0
+    install -d ${D}${sysconfdir}/udev/rules.d/
+    install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/
+
+    install -d ${D}${sysconfdir}/udev/scripts/
+    install -m 0755 ${WORKDIR}/usb1-rules.sh 
${D}${sysconfdir}/udev/scripts/usb1-rules.sh
+    install -m 0755 ${WORKDIR}/usb2-rules.sh 
${D}${sysconfdir}/udev/scripts/usb2-rules.sh
+
+    install -d ${D}${sysconfdir}/systemd/network/
+    install -m 0644 ${WORKDIR}/10-eth.network 
${D}${sysconfdir}/systemd/network/
+    install -m 0644 ${WORKDIR}/30-wlan.network 
${D}${sysconfdir}/systemd/network/
+    install -m 0644 ${WORKDIR}/60-usb.network 
${D}${sysconfdir}/systemd/network/
+
+    # Allow automount from udev
+    install -d ${D}${sysconfdir}/systemd/system/
+    install -m 0644 ${D}${systemd_system_unitdir}/systemd-udevd.service 
${D}${sysconfdir}/systemd/system/
+    sed -i 's/MountFlags=slave/MountFlags=shared/g' 
${D}${sysconfdir}/systemd/system/systemd-udevd.service
+
+    # Need NAMESPACES enabled in the kernel, workaround for now
+    install -m 0644 ${D}${systemd_system_unitdir}/systemd-hostnamed.service 
${D}${sysconfdir}/systemd/system/
+    sed -i 's/PrivateNetwork=yes/PrivateNetwork=no/g' 
${D}${sysconfdir}/systemd/system/systemd-hostnamed.service
 }
-- 
2.2.0

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to