Bugzilla – Bug 114400
sysconfig.hotplug missing => /dev not on tmpfs
Last modified: 2005-09-03 14:43:23 UTC
sysconfig.hotplug was removed from hotplug but it holds the HOTPLUG_DEV_ON_TMPFS setting. mkinitrd defaults to not using tmpfs without the sysconfig file.
/sbin/mkinitrd liest diese Variable. Wir sollten die Option für ein statisches /dev einfach entfernen.
Created attachment 48324 [details] no option for static dev Sorry, was in "german mode". :) Does this fix it? Or do we need more?
I'd leave it configurable but in a different file and default to yes in mkinitrd
I set it statically to "yes" in mkinitrd for now and submitted the package. (As usual: I'm for removing all stupid options like this and provide only a single sane solution. udev on a static /dev is just a bad idea.)
Kay, please change mkinitrd back, but use variable DEV_ON_TMPFS from /etc/sysconfig/kernel and assume yes if it is unset or empty. Rudi, please add ## Type: yesno ## Default: yes # # Select whether a fully dynamic device nodes directory should be used. If set # to yes the device node directory /dev will be mounted on tmpfs. All manual # modification in the directory will be lost on reboot; these modification # should rather be done via custom udev rules. See man udev for details. # HOTPLUG_DEV_ON_TMPFS="yes" to /var/adm/fillup-templates/sysconfig.kernel
DEV_ON_TMPFS or HOTPLUG_DEV_ON_TMPFS?
DEV_ON_TMPFS Regarding update: From 9.3 to 10.0 there are big changes regarding dynamic device nodes. Therefore the old value should not be used anymore. On 9.3 it had a default of 'no' which might cause trouble now. Kay? Just using a fresh variable is IMHO ok, because despite it's the same topic it is a new situation. Is that ok for you, Rudi, Andreas?
A good reason to not set the value explicitely in the sysconfig file but rather rely on the default implemented by mkinitrd this time.
Ok with me.
So what's the plan now? I don't get it.
the point is about being able to change it. originally we used a sysconfig variable, because we thought there would be more than one script that would need to read that setting. given that it's only used in mkinitrd, mkinitrd can as well have an option to switch it and have it's default as needed. everybody agrees with this ?
Well, I completely disagree that we should have such an option at all. udev mangling around in a static /dev is just a stupid idea. (And SUSE is full of half-baken workaround options like this. I really don't understand that culture of providing crazy options for no good reason. These options do not gain us anything but pain in upgrading and maintenance.)
I guess Kay is right. We had no bugs about dev on tempfs that point in another direction. All issues can be solved. Maybe we should better spent some time in a tutorial and to explain why it is better. 10.0 is a good time to do such a cut. Maybe we should add a warning in mknod and point to a easy to follow instruction how to generate a missing static or dynamic node. Noboby complained about dev on tempfs today when i asked on research. Only about not having it.
This should have been done and discussed with 10.0 preview1 or even earlier. Now it's too late to make these changes. Please keep the status quo since everybody upgrading has a static /dev and tested it that way (including me). This is something you can do once 10.0 is shipped - and you should do it directly.
I don't get this. You mean we wanna _ship_ a default that hasn't been tested, but provide a option to switch away from the default? What do you mean with "status quo" here?
Then we had to respect the old HOPLUG_DEV_ON_TEMPFS. Currently (beta4) we delete this file in udev:post. Is that what you want, Andreas?
Ad #15 (and 16): See #7,8,9. Verbosely: Let's add ## Type: yesno ## Default: yes # # Select whether a fully dynamic device nodes directory should be used. If set # to yes the device node directory /dev will be mounted on tmpfs. If empty, # the system default will be taken # All manual # modification in the directory will be lost on reboot; these modification # should rather be done via custom udev rules. See man udev for details. # HOTPLUG_DEV_ON_TMPFS="" to /var/adm/fillup-templates/sysconfig.kernel mkinitrd uses HOTPLUG_DEV_ON_TMPFS and if it's empty assumes a value of "yes". we will not migrate old installations, after an update the value is also empty. I think that's what you want (dev on tmpfs) and that's how we get it. Keeping status quo means to keep "static /dev" as a supported option for 10.0. Btw. even this case is tested. But it will not be the default. Is now everything clear? Please assign to Rudi to make the fillup change once the rest is done.
"## Default:" is the default of the sysconfig variable and not the default in the system. Further this empty variable approach is very user unfriendly, because he never knows, what the currently effective setting is. ==>: ## Type: yesno ## Default: yes # # Select whether a fully dynamic device nodes directory should be used. If set # to 'yes' the device node directory /dev will be mounted on tmpfs. In this # case all manual modification in the directory will be lost on reboot; these # modification should rather be done via custom udev rules. # If 'no' then /dev is on your disk, but is still modified from udev. That # means if your manual modifications persist depends on udev rules. # You should leave that to 'yes' except you know exactly what you are doing. # See man udev for details. # DEV_ON_TMPFS="yes" Withe the rest i agree. Is there a documentation about static device nodes with dev on tmpfs? We need that in every case.
Nevertehless mkinitrd need to have default 'yes' if this variable is missing for whatever reason.
Then remove the default "" setting. I don't think there's documentation.
Rudi, can you add the block from comment 18 or should i do that?
done + +## Type: yesno +## Default: yes +# +# Select whether a fully dynamic device nodes directory should be used. If set +# to 'yes' the device node directory /dev will be mounted on tmpfs. In this +# case all manual modification in the directory will be lost on reboot; these +# modification should rather be done via custom udev rules. +# If 'no' then /dev is on your disk, but is still modified from udev. That +# means if your manual modifications persist depends on udev rules. +# You should leave that to 'yes' except you know exactly what you are doing. +# See man udev for details. +# +DEV_ON_TMPFS="yes" for reference: the name is "DEV_ON_TMPFS".
Kay, will you change mkinitrd back, even if you don't like the variable?
Sure, i was only waiting for the final name. :)
added reading DEV_ON_TMPFS, defaulting to "yes", to mkinitrd