PSA: bad HP udev rules somehow break boot with systemd 38

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey, folks. Just thought I'd throw this one out there in case it helps
anyone else.

So ever since systemd 38 landed in Rawhide, I couldn't boot with it: had
to downgrade to 37 to make the system boot. I was pretty sure it wasn't
a generic problem or else more people would be yelling.

Somehow it turns out to be caused by a bunch of outdated udev rules that
something HP-ish has created on my system at some time:

/etc/udev/rules.d/86-hpmud-hp_laserjet_1000.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_1005_series.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_1018.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_1020.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_p1005.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_p1006.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_p1007.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_p1008.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_p1505.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1102w.rules
/etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1566.rules

None of these are owned by a package, so I don't know what created them
- hp-setup maybe?

Anyhow, these all have a ton of keys of the form SYSFS{idVendor} in
them. That's been deprecated syntax for udev since like 2006, and they
finally killed it with a recent udev release. So I was getting a ton of
errors in /var/log/messages on boot, of the form:

Jan 23 12:21:29 adam udevd[509]: unknown key 'SYSFS{idVendor}'
in /etc/udev/rules.d/86-hpmud-hp_laserjet_professional_p1566.rules:6

Somehow, this would result in the system failing to boot under systemd
38, with the udev service starting and then stopping itself. That would
result in emergency mode, since lots of other services won't start if
udev fails. systemd 37 didn't have a problem booting. I suppose the
large number of errors slows udev start down so much that it hits some
kind of timeout in 38 that isn't in 37, maybe?

Anyhow, the fix turned out to be simple:

sed -i -e 's,SYSFS,ATTR,g' /etc/udev/rules.d/86-*

so if you're hitting a similar issue, and you have those HP udev rules,
try that. Worked for me.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux