* udev + 60-persistent-storage.rules + IDE
@ 2015-09-16 12:11 Patrick Ohly
2015-09-17 6:44 ` Patrick Ohly
0 siblings, 1 reply; 5+ messages in thread
From: Patrick Ohly @ 2015-09-16 12:11 UTC (permalink / raw)
To: OpenEmbedded
Hello!
I just noticed that udev (no longer) creates /dev/disk/by-uuid links for
my boot partition under qemu when booting a whole-disk image
(hdddirect). The device is then /dev/hda, with /dev/hda2 being the root
partition.
systemd's 60-persistent-storage.rules indeed skips the relevant rules
because "hd" is not listed:
KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
Adding "hd*" to that line fixes the problem. I'll send patches to
systemd and for OE-core.
I'm a bit puzzled a) that plain-old IDE block devices have never been
matched by 60-persistent-storage.rules (I checked the history) and b)
that this suddenly broke. I'm fairly sure that I had tested that (but I
cannot 100% guarantee that anymore).
Did indeed something change recently that led to /dev/hda?
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: udev + 60-persistent-storage.rules + IDE
2015-09-16 12:11 udev + 60-persistent-storage.rules + IDE Patrick Ohly
@ 2015-09-17 6:44 ` Patrick Ohly
2015-09-17 6:49 ` [PATCH] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Patrick Ohly @ 2015-09-17 6:44 UTC (permalink / raw)
To: OpenEmbedded
On Wed, 2015-09-16 at 14:11 +0200, Patrick Ohly wrote:
> I just noticed that udev (no longer) creates /dev/disk/by-uuid links for
> my boot partition under qemu when booting a whole-disk image
> (hdddirect). The device is then /dev/hda, with /dev/hda2 being the root
> partition.
>
> systemd's 60-persistent-storage.rules indeed skips the relevant rules
> because "hd" is not listed:
>
> KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
>
> Adding "hd*" to that line fixes the problem. I'll send patches to
> systemd and for OE-core.
Lennart argued that /dev/hd* is caused by using the deprecated
CONFIG_IDE in the kernel and therefore rejected adding "hd*" to upstream
udev.
CONFIG_IDE seems to come from common-pc-drivers.cfg [1] but that's just
a guess - I'm not entirely sure how to identify the actual kernel config
fragments that were used during a build. Anyway, it has been there since
2011 and modernizing that is a different topic, so I'll just send the
patch for systemd/udev.
[1]
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/bsp/common-pc/common-pc-drivers.cfg
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] systemd: apply persistent storage udev rules also for /dev/hd*
2015-09-17 6:44 ` Patrick Ohly
@ 2015-09-17 6:49 ` Patrick Ohly
2015-09-17 12:24 ` udev + 60-persistent-storage.rules + IDE Bruce Ashfield
2015-09-21 14:30 ` [PATCH v2] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
2 siblings, 0 replies; 5+ messages in thread
From: Patrick Ohly @ 2015-09-17 6:49 UTC (permalink / raw)
To: openembedded-core
This fixes booting with initramfs and root=UUID on machines with IDE
disks, like "runqemu hdddirect", and kernels which still use the
deprecated CONFIG_IDE.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
---
.../systemd/rules-whitelist-hd-devices.patch | 32 ++++++++++++++++++++++
meta/recipes-core/systemd/systemd_225.bb | 1 +
2 files changed, 33 insertions(+)
create mode 100644 meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch
diff --git a/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch b/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch
new file mode 100644
index 0000000..8975b05
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch
@@ -0,0 +1,32 @@
+From f77b7e5626e70c3a775e993816a33af5a61dea42 Mon Sep 17 00:00:00 2001
+From: Patrick Ohly <patrick.ohly@intel.com>
+Date: Wed, 16 Sep 2015 13:55:58 +0200
+Subject: [PATCH] rules: whitelist hd* devices
+
+qemu by default emulates IDE and the linux-yocto kernel(s) use
+CONFIG_IDE instead of the more modern libsata, so disks appear as
+/dev/hd*. Patch rejected upstream because CONFIG_IDE is deprecated.
+
+Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+---
+ rules/60-persistent-storage.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
+index 0b14bb4..1c4d97a 100644
+--- a/rules/60-persistent-storage.rules
++++ b/rules/60-persistent-storage.rules
+@@ -6,7 +6,7 @@
+ ACTION=="remove", GOTO="persistent_storage_end"
+
+ SUBSYSTEM!="block", GOTO="persistent_storage_end"
+-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|hd*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
+
+ # ignore partitions that span the entire disk
+ TEST=="whole_disk", GOTO="persistent_storage_end"
+--
+2.1.4
+
diff --git a/meta/recipes-core/systemd/systemd_225.bb b/meta/recipes-core/systemd/systemd_225.bb
index 6ac99cd..b1a1818 100644
--- a/meta/recipes-core/systemd/systemd_225.bb
+++ b/meta/recipes-core/systemd/systemd_225.bb
@@ -45,6 +45,7 @@ SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \
file://00-create-volatile.conf \
file://init \
file://run-ptest \
+ file://rules-whitelist-hd-devices.patch \
"
SRC_URI_append_qemuall = "file://qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch"
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: udev + 60-persistent-storage.rules + IDE
2015-09-17 6:44 ` Patrick Ohly
2015-09-17 6:49 ` [PATCH] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
@ 2015-09-17 12:24 ` Bruce Ashfield
2015-09-21 14:30 ` [PATCH v2] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
2 siblings, 0 replies; 5+ messages in thread
From: Bruce Ashfield @ 2015-09-17 12:24 UTC (permalink / raw)
To: Patrick Ohly; +Cc: OpenEmbedded
On Thu, Sep 17, 2015 at 2:44 AM, Patrick Ohly <patrick.ohly@intel.com> wrote:
> On Wed, 2015-09-16 at 14:11 +0200, Patrick Ohly wrote:
>> I just noticed that udev (no longer) creates /dev/disk/by-uuid links for
>> my boot partition under qemu when booting a whole-disk image
>> (hdddirect). The device is then /dev/hda, with /dev/hda2 being the root
>> partition.
>>
>> systemd's 60-persistent-storage.rules indeed skips the relevant rules
>> because "hd" is not listed:
>>
>> KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
>>
>> Adding "hd*" to that line fixes the problem. I'll send patches to
>> systemd and for OE-core.
>
> Lennart argued that /dev/hd* is caused by using the deprecated
> CONFIG_IDE in the kernel and therefore rejected adding "hd*" to upstream
> udev.
>
> CONFIG_IDE seems to come from common-pc-drivers.cfg [1] but that's just
> a guess - I'm not entirely sure how to identify the actual kernel config
> fragments that were used during a build. Anyway, it has been there since
> 2011 and modernizing that is a different topic, so I'll just send the
> patch for systemd/udev.
That is in fact where it comes from for those machines .. and in fact, I started
removing it from various trees about a year ago. Up until recently, it
was around
for compatibility reasons .. but now the generic scsi subsystem
provides everything
that CONFIG_IDE used to .. and they can in fact be dropped.
I may do it to the 4.1 kernel, or wait until after the upcoming
release to avoid any
chance of breaking something that still depends on it.
Bruce
>
> [1]
> http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/bsp/common-pc/common-pc-drivers.cfg
>
> --
> Best Regards, Patrick Ohly
>
> The content of this message is my personal opinion only and although
> I am an employee of Intel, the statements I make here in no way
> represent Intel's position on the issue, nor am I authorized to speak
> on behalf of Intel on this matter.
>
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] systemd: apply persistent storage udev rules also for /dev/hd*
2015-09-17 6:44 ` Patrick Ohly
2015-09-17 6:49 ` [PATCH] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
2015-09-17 12:24 ` udev + 60-persistent-storage.rules + IDE Bruce Ashfield
@ 2015-09-21 14:30 ` Patrick Ohly
2 siblings, 0 replies; 5+ messages in thread
From: Patrick Ohly @ 2015-09-21 14:30 UTC (permalink / raw)
To: openembedded-core
This fixes booting with initramfs and root=UUID on machines with IDE
disks, like "runqemu hdddirect", and kernels which still use the
deprecated CONFIG_IDE.
v2: Rebased against current master-next.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
---
.../systemd/rules-whitelist-hd-devices.patch | 32 ++++++++++++++++++++++
meta/recipes-core/systemd/systemd_225.bb | 1 +
2 files changed, 33 insertions(+)
create mode 100644 meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch
diff --git a/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch b/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch
new file mode 100644
index 0000000..8975b05
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/rules-whitelist-hd-devices.patch
@@ -0,0 +1,32 @@
+From f77b7e5626e70c3a775e993816a33af5a61dea42 Mon Sep 17 00:00:00 2001
+From: Patrick Ohly <patrick.ohly@intel.com>
+Date: Wed, 16 Sep 2015 13:55:58 +0200
+Subject: [PATCH] rules: whitelist hd* devices
+
+qemu by default emulates IDE and the linux-yocto kernel(s) use
+CONFIG_IDE instead of the more modern libsata, so disks appear as
+/dev/hd*. Patch rejected upstream because CONFIG_IDE is deprecated.
+
+Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+---
+ rules/60-persistent-storage.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
+index 0b14bb4..1c4d97a 100644
+--- a/rules/60-persistent-storage.rules
++++ b/rules/60-persistent-storage.rules
+@@ -6,7 +6,7 @@
+ ACTION=="remove", GOTO="persistent_storage_end"
+
+ SUBSYSTEM!="block", GOTO="persistent_storage_end"
+-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|hd*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*", GOTO="persistent_storage_end"
+
+ # ignore partitions that span the entire disk
+ TEST=="whole_disk", GOTO="persistent_storage_end"
+--
+2.1.4
+
diff --git a/meta/recipes-core/systemd/systemd_225.bb b/meta/recipes-core/systemd/systemd_225.bb
index f7d4c7d..9338364 100644
--- a/meta/recipes-core/systemd/systemd_225.bb
+++ b/meta/recipes-core/systemd/systemd_225.bb
@@ -45,6 +45,7 @@ SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \
file://00-create-volatile.conf \
file://init \
file://run-ptest \
+ file://rules-whitelist-hd-devices.patch \
"
SRC_URI_append_qemuall = " file://qemuall_io_latency-core-device.c-Change-the-default-device-timeout-to-2.patch"
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-09-21 14:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-16 12:11 udev + 60-persistent-storage.rules + IDE Patrick Ohly
2015-09-17 6:44 ` Patrick Ohly
2015-09-17 6:49 ` [PATCH] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
2015-09-17 12:24 ` udev + 60-persistent-storage.rules + IDE Bruce Ashfield
2015-09-21 14:30 ` [PATCH v2] systemd: apply persistent storage udev rules also for /dev/hd* Patrick Ohly
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox