* [PATCH] eudev: create static nodes from modules
@ 2018-04-19 6:35 Li Zhou
2018-06-04 2:23 ` Zhou, Li
0 siblings, 1 reply; 4+ messages in thread
From: Li Zhou @ 2018-04-19 6:35 UTC (permalink / raw)
To: openembedded-core
Revert commit <src/udev/udevd.c: remove create static nodes from modules>
because /dev/net/tun is usually needed to already been there when system
boots up. With this commit, /dev/net/tun is missing when sysvinit is
used.
Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
...01-eudev-create-static-nodes-from-modules.patch | 106 +++++++++++++++++++++
meta/recipes-core/udev/eudev_3.2.5.bb | 1 +
2 files changed, 107 insertions(+)
create mode 100644 meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
diff --git a/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
new file mode 100644
index 0000000..583873e
--- /dev/null
+++ b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
@@ -0,0 +1,106 @@
+From 73df4fe0bd6fd2f2600f0d82b3f121c604baf1be Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Thu, 12 Apr 2018 05:14:27 -0400
+Subject: [PATCH] eudev: create static nodes from modules
+
+Revert commit <src/udev/udevd.c: remove create static nodes from modules>
+
+Upstream-Status: Inappropriate [Just for user's convinence]
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ src/udev/udevd.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 71 insertions(+)
+
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index 9c33eba..95774a1 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -979,6 +979,76 @@ static void handle_signal(struct udev *udev, int signo) {
+ }
+ }
+
++static void static_dev_create_from_modules(struct udev *udev) {
++ struct utsname kernel;
++ char modules[UTIL_PATH_SIZE];
++ char buf[4096];
++ FILE *f;
++
++ if (uname(&kernel) < 0) {
++ log_error("uname failed: %m");
++ return;
++ }
++
++ strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
++ f = fopen(modules, "re");
++ if (f == NULL)
++ return;
++
++ while (fgets(buf, sizeof(buf), f) != NULL) {
++ char *s;
++ const char *modname;
++ const char *devname;
++ const char *devno;
++ int maj, min;
++ char type;
++ mode_t mode;
++ char filename[UTIL_PATH_SIZE];
++
++ if (buf[0] == '#')
++ continue;
++
++ modname = buf;
++ s = strchr(modname, ' ');
++ if (s == NULL)
++ continue;
++ s[0] = '\0';
++
++ devname = &s[1];
++ s = strchr(devname, ' ');
++ if (s == NULL)
++ continue;
++ s[0] = '\0';
++
++ devno = &s[1];
++ s = strchr(devno, ' ');
++ if (s == NULL)
++ s = strchr(devno, '\n');
++ if (s != NULL)
++ s[0] = '\0';
++ if (sscanf(devno, "%c%u:%u", &type, &maj, &min) != 3)
++ continue;
++
++ mode = 0600;
++ if (type == 'c')
++ mode |= S_IFCHR;
++ else if (type == 'b')
++ mode |= S_IFBLK;
++ else
++ continue;
++
++ strscpyl(filename, sizeof(filename), "/dev/", devname, NULL);
++ mkdir_parents_label(filename, 0755);
++ mac_selinux_create_file_prepare(filename, mode);
++ log_debug("mknod '%s' %c%u:%u", filename, type, maj, min);
++ if (mknod(filename, mode, makedev(maj, min)) < 0 && errno == EEXIST)
++ utimensat(AT_FDCWD, filename, NULL, 0);
++ mac_selinux_create_file_clear();
++ }
++
++ fclose(f);
++}
++
+ /*
+ * read the kernel command line, in case we need to get into debug mode
+ * udev.log-priority=<level> syslog priority
+@@ -1183,6 +1253,7 @@ int main(int argc, char *argv[]) {
+ }
+
+ dev_setup(NULL, UID_INVALID, GID_INVALID);
++ static_dev_create_from_modules(udev);
+
+ /* before opening new files, make sure std{in,out,err} fds are in a sane state */
+ if (arg_daemonize) {
+--
+2.7.4
+
diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb b/meta/recipes-core/udev/eudev_3.2.5.bb
index 88ad8f1..9237944 100644
--- a/meta/recipes-core/udev/eudev_3.2.5.bb
+++ b/meta/recipes-core/udev/eudev_3.2.5.bb
@@ -18,6 +18,7 @@ SRC_URI = "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
file://permissions.rules \
file://run.rules \
file://udev.rules \
+ file://0001-eudev-create-static-nodes-from-modules.patch \
"
SRC_URI[md5sum] = "6ca08c0e14380f87df8e8aceac123671"
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] eudev: create static nodes from modules
2018-04-19 6:35 [PATCH] eudev: create static nodes from modules Li Zhou
@ 2018-06-04 2:23 ` Zhou, Li
2018-07-12 2:22 ` Changqing Li
0 siblings, 1 reply; 4+ messages in thread
From: Zhou, Li @ 2018-06-04 2:23 UTC (permalink / raw)
To: openembedded-core
Ping
On 04/19/2018 02:35 PM, Li Zhou wrote:
> Revert commit <src/udev/udevd.c: remove create static nodes from modules>
> because /dev/net/tun is usually needed to already been there when system
> boots up. With this commit, /dev/net/tun is missing when sysvinit is
> used.
>
> Signed-off-by: Li Zhou <li.zhou@windriver.com>
> ---
> ...01-eudev-create-static-nodes-from-modules.patch | 106 +++++++++++++++++++++
> meta/recipes-core/udev/eudev_3.2.5.bb | 1 +
> 2 files changed, 107 insertions(+)
> create mode 100644 meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
>
> diff --git a/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
> new file mode 100644
> index 0000000..583873e
> --- /dev/null
> +++ b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
> @@ -0,0 +1,106 @@
> +From 73df4fe0bd6fd2f2600f0d82b3f121c604baf1be Mon Sep 17 00:00:00 2001
> +From: Li Zhou <li.zhou@windriver.com>
> +Date: Thu, 12 Apr 2018 05:14:27 -0400
> +Subject: [PATCH] eudev: create static nodes from modules
> +
> +Revert commit <src/udev/udevd.c: remove create static nodes from modules>
> +
> +Upstream-Status: Inappropriate [Just for user's convinence]
> +
> +Signed-off-by: Li Zhou <li.zhou@windriver.com>
> +---
> + src/udev/udevd.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> + 1 file changed, 71 insertions(+)
> +
> +diff --git a/src/udev/udevd.c b/src/udev/udevd.c
> +index 9c33eba..95774a1 100644
> +--- a/src/udev/udevd.c
> ++++ b/src/udev/udevd.c
> +@@ -979,6 +979,76 @@ static void handle_signal(struct udev *udev, int signo) {
> + }
> + }
> +
> ++static void static_dev_create_from_modules(struct udev *udev) {
> ++ struct utsname kernel;
> ++ char modules[UTIL_PATH_SIZE];
> ++ char buf[4096];
> ++ FILE *f;
> ++
> ++ if (uname(&kernel) < 0) {
> ++ log_error("uname failed: %m");
> ++ return;
> ++ }
> ++
> ++ strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
> ++ f = fopen(modules, "re");
> ++ if (f == NULL)
> ++ return;
> ++
> ++ while (fgets(buf, sizeof(buf), f) != NULL) {
> ++ char *s;
> ++ const char *modname;
> ++ const char *devname;
> ++ const char *devno;
> ++ int maj, min;
> ++ char type;
> ++ mode_t mode;
> ++ char filename[UTIL_PATH_SIZE];
> ++
> ++ if (buf[0] == '#')
> ++ continue;
> ++
> ++ modname = buf;
> ++ s = strchr(modname, ' ');
> ++ if (s == NULL)
> ++ continue;
> ++ s[0] = '\0';
> ++
> ++ devname = &s[1];
> ++ s = strchr(devname, ' ');
> ++ if (s == NULL)
> ++ continue;
> ++ s[0] = '\0';
> ++
> ++ devno = &s[1];
> ++ s = strchr(devno, ' ');
> ++ if (s == NULL)
> ++ s = strchr(devno, '\n');
> ++ if (s != NULL)
> ++ s[0] = '\0';
> ++ if (sscanf(devno, "%c%u:%u", &type, &maj, &min) != 3)
> ++ continue;
> ++
> ++ mode = 0600;
> ++ if (type == 'c')
> ++ mode |= S_IFCHR;
> ++ else if (type == 'b')
> ++ mode |= S_IFBLK;
> ++ else
> ++ continue;
> ++
> ++ strscpyl(filename, sizeof(filename), "/dev/", devname, NULL);
> ++ mkdir_parents_label(filename, 0755);
> ++ mac_selinux_create_file_prepare(filename, mode);
> ++ log_debug("mknod '%s' %c%u:%u", filename, type, maj, min);
> ++ if (mknod(filename, mode, makedev(maj, min)) < 0 && errno == EEXIST)
> ++ utimensat(AT_FDCWD, filename, NULL, 0);
> ++ mac_selinux_create_file_clear();
> ++ }
> ++
> ++ fclose(f);
> ++}
> ++
> + /*
> + * read the kernel command line, in case we need to get into debug mode
> + * udev.log-priority=<level> syslog priority
> +@@ -1183,6 +1253,7 @@ int main(int argc, char *argv[]) {
> + }
> +
> + dev_setup(NULL, UID_INVALID, GID_INVALID);
> ++ static_dev_create_from_modules(udev);
> +
> + /* before opening new files, make sure std{in,out,err} fds are in a sane state */
> + if (arg_daemonize) {
> +--
> +2.7.4
> +
> diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb b/meta/recipes-core/udev/eudev_3.2.5.bb
> index 88ad8f1..9237944 100644
> --- a/meta/recipes-core/udev/eudev_3.2.5.bb
> +++ b/meta/recipes-core/udev/eudev_3.2.5.bb
> @@ -18,6 +18,7 @@ SRC_URI = "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
> file://permissions.rules \
> file://run.rules \
> file://udev.rules \
> + file://0001-eudev-create-static-nodes-from-modules.patch \
> "
>
> SRC_URI[md5sum] = "6ca08c0e14380f87df8e8aceac123671"
--
Best Regards!
Zhou Li
Phone number: 86-10-84778511
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] eudev: create static nodes from modules
2018-06-04 2:23 ` Zhou, Li
@ 2018-07-12 2:22 ` Changqing Li
0 siblings, 0 replies; 4+ messages in thread
From: Changqing Li @ 2018-07-12 2:22 UTC (permalink / raw)
To: openembedded-core, Zhou, Li
Ping
On 06/04/2018 10:23 AM, Zhou, Li wrote:
> Ping
>
>
> On 04/19/2018 02:35 PM, Li Zhou wrote:
>> Revert commit <src/udev/udevd.c: remove create static nodes from
>> modules>
>> because /dev/net/tun is usually needed to already been there when system
>> boots up. With this commit, /dev/net/tun is missing when sysvinit is
>> used.
>>
>> Signed-off-by: Li Zhou <li.zhou@windriver.com>
>> ---
>> ...01-eudev-create-static-nodes-from-modules.patch | 106
>> +++++++++++++++++++++
>> meta/recipes-core/udev/eudev_3.2.5.bb | 1 +
>> 2 files changed, 107 insertions(+)
>> create mode 100644
>> meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
>>
>> diff --git
>> a/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
>> b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
>>
>> new file mode 100644
>> index 0000000..583873e
>> --- /dev/null
>> +++
>> b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
>> @@ -0,0 +1,106 @@
>> +From 73df4fe0bd6fd2f2600f0d82b3f121c604baf1be Mon Sep 17 00:00:00 2001
>> +From: Li Zhou <li.zhou@windriver.com>
>> +Date: Thu, 12 Apr 2018 05:14:27 -0400
>> +Subject: [PATCH] eudev: create static nodes from modules
>> +
>> +Revert commit <src/udev/udevd.c: remove create static nodes from
>> modules>
>> +
>> +Upstream-Status: Inappropriate [Just for user's convinence]
>> +
>> +Signed-off-by: Li Zhou <li.zhou@windriver.com>
>> +---
>> + src/udev/udevd.c | 71
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> + 1 file changed, 71 insertions(+)
>> +
>> +diff --git a/src/udev/udevd.c b/src/udev/udevd.c
>> +index 9c33eba..95774a1 100644
>> +--- a/src/udev/udevd.c
>> ++++ b/src/udev/udevd.c
>> +@@ -979,6 +979,76 @@ static void handle_signal(struct udev *udev,
>> int signo) {
>> + }
>> + }
>> +
>> ++static void static_dev_create_from_modules(struct udev *udev) {
>> ++ struct utsname kernel;
>> ++ char modules[UTIL_PATH_SIZE];
>> ++ char buf[4096];
>> ++ FILE *f;
>> ++
>> ++ if (uname(&kernel) < 0) {
>> ++ log_error("uname failed: %m");
>> ++ return;
>> ++ }
>> ++
>> ++ strscpyl(modules, sizeof(modules), ROOTPREFIX
>> "/lib/modules/", kernel.release, "/modules.devname", NULL);
>> ++ f = fopen(modules, "re");
>> ++ if (f == NULL)
>> ++ return;
>> ++
>> ++ while (fgets(buf, sizeof(buf), f) != NULL) {
>> ++ char *s;
>> ++ const char *modname;
>> ++ const char *devname;
>> ++ const char *devno;
>> ++ int maj, min;
>> ++ char type;
>> ++ mode_t mode;
>> ++ char filename[UTIL_PATH_SIZE];
>> ++
>> ++ if (buf[0] == '#')
>> ++ continue;
>> ++
>> ++ modname = buf;
>> ++ s = strchr(modname, ' ');
>> ++ if (s == NULL)
>> ++ continue;
>> ++ s[0] = '\0';
>> ++
>> ++ devname = &s[1];
>> ++ s = strchr(devname, ' ');
>> ++ if (s == NULL)
>> ++ continue;
>> ++ s[0] = '\0';
>> ++
>> ++ devno = &s[1];
>> ++ s = strchr(devno, ' ');
>> ++ if (s == NULL)
>> ++ s = strchr(devno, '\n');
>> ++ if (s != NULL)
>> ++ s[0] = '\0';
>> ++ if (sscanf(devno, "%c%u:%u", &type, &maj, &min) != 3)
>> ++ continue;
>> ++
>> ++ mode = 0600;
>> ++ if (type == 'c')
>> ++ mode |= S_IFCHR;
>> ++ else if (type == 'b')
>> ++ mode |= S_IFBLK;
>> ++ else
>> ++ continue;
>> ++
>> ++ strscpyl(filename, sizeof(filename), "/dev/",
>> devname, NULL);
>> ++ mkdir_parents_label(filename, 0755);
>> ++ mac_selinux_create_file_prepare(filename, mode);
>> ++ log_debug("mknod '%s' %c%u:%u", filename, type,
>> maj, min);
>> ++ if (mknod(filename, mode, makedev(maj, min)) < 0 &&
>> errno == EEXIST)
>> ++ utimensat(AT_FDCWD, filename, NULL, 0);
>> ++ mac_selinux_create_file_clear();
>> ++ }
>> ++
>> ++ fclose(f);
>> ++}
>> ++
>> + /*
>> + * read the kernel command line, in case we need to get into debug
>> mode
>> + * udev.log-priority=<level> syslog priority
>> +@@ -1183,6 +1253,7 @@ int main(int argc, char *argv[]) {
>> + }
>> +
>> + dev_setup(NULL, UID_INVALID, GID_INVALID);
>> ++ static_dev_create_from_modules(udev);
>> +
>> + /* before opening new files, make sure std{in,out,err} fds
>> are in a sane state */
>> + if (arg_daemonize) {
>> +--
>> +2.7.4
>> +
>> diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb
>> b/meta/recipes-core/udev/eudev_3.2.5.bb
>> index 88ad8f1..9237944 100644
>> --- a/meta/recipes-core/udev/eudev_3.2.5.bb
>> +++ b/meta/recipes-core/udev/eudev_3.2.5.bb
>> @@ -18,6 +18,7 @@ SRC_URI =
>> "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
>> file://permissions.rules \
>> file://run.rules \
>> file://udev.rules \
>> + file://0001-eudev-create-static-nodes-from-modules.patch \
>> "
>> SRC_URI[md5sum] = "6ca08c0e14380f87df8e8aceac123671"
>
--
BRs
Sandy(Li Changqing)
+861084778653
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] eudev: create static nodes from modules
@ 2022-05-12 5:43 changqing.li
0 siblings, 0 replies; 4+ messages in thread
From: changqing.li @ 2022-05-12 5:43 UTC (permalink / raw)
To: openembedded-core
From: Changqing Li <changqing.li@windriver.com>
dev in modules.devname should be populated in /dev on boot.
remove create static mode from udevd will make these devices
cannot be populated. When use sysVinit, devices like /dev/net/tun
will not be created.
more info:
udevd in systemd also remove create static mode in udevd, but using
service kmod-static-nodes.service and
systemd-tmpfiles-setup-dev.service in systemd to create these node, so
systemd works well.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
...dev-create-static-nodes-from-modules.patch | 115 ++++++++++++++++++
meta/recipes-core/udev/eudev_3.2.11.bb | 1 +
2 files changed, 116 insertions(+)
create mode 100644 meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
diff --git a/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
new file mode 100644
index 0000000000..19611f4e89
--- /dev/null
+++ b/meta/recipes-core/udev/eudev/0001-eudev-create-static-nodes-from-modules.patch
@@ -0,0 +1,115 @@
+From 573d6c4106d5b3828da43d2843c1d599ae3cd1cd Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 10 May 2022 14:04:35 +0800
+Subject: [PATCH] eudev: create static nodes from modules
+
+Revert commit <src/udev/udevd.c: remove create static nodes from modules>
+https://gitweb.gentoo.org/proj/eudev.git/commit/?id=2b7abd5ec9cc47a8b895df6db77fb1537c6f1a39
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Upstream intentionally remove create static nodes from modules, it is
+expected handled by tmpfiles services, refer [1].
+[1] https://github.com/eudev-project/eudev/issues/229
+
+For yocto, when start with sysVinit, to enable systemd distro feature,
+and install systemd-tmpfiles is not proper, so revert this commit.
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/udev/udevd.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 71 insertions(+)
+
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index 7ffd174..ff53fe4 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -993,6 +993,76 @@ static void handle_signal(struct udev *udev, int signo) {
+ }
+ }
+
++static void static_dev_create_from_modules(struct udev *udev) {
++ struct utsname kernel;
++ char modules[UTIL_PATH_SIZE];
++ char buf[4096];
++ FILE *f;
++
++ if (uname(&kernel) < 0) {
++ log_error("uname failed: %m");
++ return;
++ }
++
++ strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
++ f = fopen(modules, "re");
++ if (f == NULL)
++ return;
++
++ while (fgets(buf, sizeof(buf), f) != NULL) {
++ char *s;
++ const char *modname;
++ const char *devname;
++ const char *devno;
++ int maj, min;
++ char type;
++ mode_t mode;
++ char filename[UTIL_PATH_SIZE];
++
++ if (buf[0] == '#')
++ continue;
++
++ modname = buf;
++ s = strchr(modname, ' ');
++ if (s == NULL)
++ continue;
++ s[0] = '\0';
++
++ devname = &s[1];
++ s = strchr(devname, ' ');
++ if (s == NULL)
++ continue;
++ s[0] = '\0';
++
++ devno = &s[1];
++ s = strchr(devno, ' ');
++ if (s == NULL)
++ s = strchr(devno, '\n');
++ if (s != NULL)
++ s[0] = '\0';
++ if (sscanf(devno, "%c%u:%u", &type, &maj, &min) != 3)
++ continue;
++
++ mode = 0600;
++ if (type == 'c')
++ mode |= S_IFCHR;
++ else if (type == 'b')
++ mode |= S_IFBLK;
++ else
++ continue;
++
++ strscpyl(filename, sizeof(filename), "/dev/", devname, NULL);
++ mkdir_parents_label(filename, 0755);
++ mac_selinux_create_file_prepare(filename, mode);
++ log_debug("mknod '%s' %c%u:%u", filename, type, maj, min);
++ if (mknod(filename, mode, makedev(maj, min)) < 0 && errno == EEXIST)
++ utimensat(AT_FDCWD, filename, NULL, 0);
++ mac_selinux_create_file_clear();
++ }
++
++ fclose(f);
++}
++
+ /*
+ * read the kernel command line, in case we need to get into debug mode
+ * udev.log-priority=<level> syslog priority
+@@ -1199,6 +1269,7 @@ int main(int argc, char *argv[]) {
+ }
+
+ dev_setup(NULL, UID_INVALID, GID_INVALID);
++ static_dev_create_from_modules(udev);
+
+ /* before opening new files, make sure std{in,out,err} fds are in a sane state */
+ if (arg_daemonize) {
+--
+2.25.1
+
diff --git a/meta/recipes-core/udev/eudev_3.2.11.bb b/meta/recipes-core/udev/eudev_3.2.11.bb
index 841039f6d7..deb6c90a82 100644
--- a/meta/recipes-core/udev/eudev_3.2.11.bb
+++ b/meta/recipes-core/udev/eudev_3.2.11.bb
@@ -12,6 +12,7 @@ PROVIDES = "udev"
SRC_URI = "https://github.com/eudev-project/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
file://init \
file://local.rules \
+ file://0001-eudev-create-static-nodes-from-modules.patch \
"
SRC_URI[sha256sum] = "19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed44558b"
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-05-12 5:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-19 6:35 [PATCH] eudev: create static nodes from modules Li Zhou
2018-06-04 2:23 ` Zhou, Li
2018-07-12 2:22 ` Changqing Li
2022-05-12 5:43 changqing.li
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.