Bug 114400 - sysconfig.hotplug missing => /dev not on tmpfs
Summary: sysconfig.hotplug missing => /dev not on tmpfs
Status: RESOLVED FIXED
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Beta 4
Hardware: Other All
: P5 - None : Normal
Target Milestone: ---
Assignee: Kay Sievers
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-31 13:57 UTC by Ludwig Nussel
Modified: 2005-09-03 14:43 UTC (History)
3 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
no option for static dev (351 bytes, patch)
2005-08-31 14:13 UTC, Kay Sievers
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ludwig Nussel 2005-08-31 13:57:20 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.
Comment 1 Kay Sievers 2005-08-31 14:04:06 UTC
/sbin/mkinitrd liest diese Variable. Wir sollten die Option für ein statisches
/dev einfach entfernen.
Comment 2 Kay Sievers 2005-08-31 14:13:46 UTC
Created attachment 48324 [details]
no option for static dev

Sorry, was in "german mode". :)
Does this fix it? Or do we need more?
Comment 3 Ludwig Nussel 2005-08-31 14:44:59 UTC
I'd leave it configurable but in a different file and default to yes in 
mkinitrd 
Comment 4 Kay Sievers 2005-08-31 16:27:41 UTC
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.)
Comment 5 Christian Zoz 2005-09-01 12:13:41 UTC
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
Comment 6 Kay Sievers 2005-09-01 12:41:36 UTC
DEV_ON_TMPFS or HOTPLUG_DEV_ON_TMPFS?
Comment 7 Christian Zoz 2005-09-01 13:49:29 UTC
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?
Comment 8 Ludwig Nussel 2005-09-01 13:56:53 UTC
A good reason to not set the value explicitely in the sysconfig file but 
rather rely on the default implemented by mkinitrd this time. 
Comment 9 Andreas Jaeger 2005-09-01 13:57:28 UTC
Ok with me.
Comment 10 Kay Sievers 2005-09-01 14:48:48 UTC
So what's the plan now? I don't get it.
Comment 11 Ruediger Oertel 2005-09-01 16:48:34 UTC
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 ? 
Comment 12 Kay Sievers 2005-09-01 17:03:19 UTC
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.)
Comment 13 Christian Zoz 2005-09-01 18:23:43 UTC
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.
Comment 14 Andreas Jaeger 2005-09-01 19:31:08 UTC
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.
Comment 15 Kay Sievers 2005-09-01 19:48:23 UTC
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?
Comment 16 Christian Zoz 2005-09-01 20:03:58 UTC
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?
Comment 17 Andreas Jaeger 2005-09-02 04:29:44 UTC
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.
Comment 18 Christian Zoz 2005-09-02 08:02:41 UTC
"## 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.
Comment 19 Christian Zoz 2005-09-02 08:04:07 UTC
Nevertehless mkinitrd need to have default 'yes' if this variable is missing for
whatever reason.
Comment 20 Andreas Jaeger 2005-09-02 08:14:34 UTC
Then remove the default "" setting.

I don't think there's documentation.
Comment 21 Christian Zoz 2005-09-02 11:37:25 UTC
Rudi, can you add the block from comment 18 or should i do that?
Comment 22 Ruediger Oertel 2005-09-02 13:38:07 UTC
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". 
 
Comment 23 Christian Zoz 2005-09-02 13:48:29 UTC
Kay, will you change mkinitrd back, even if you don't like the variable?
Comment 24 Kay Sievers 2005-09-02 13:52:27 UTC
Sure, i was only waiting for the final name. :)
Comment 25 Kay Sievers 2005-09-03 14:43:23 UTC
added reading DEV_ON_TMPFS, defaulting to "yes", to mkinitrd