Red Hat Bugzilla – Bug 14225
missing files after interactive rebuild
Last modified: 2008-05-01 11:37:56 EDT
I issued the following command to rebuild the whole dev files:
( cd /etc/makedev.d/ ; for i in * ; do /dev/MAKEDEV -c /etc/makedev.d/ -d
/tmp/n $i ; done )
However, afterwards some files which are in the dev RPM package are still
Eg. console, loop*, cui*, cua*
The filenames in /etc/makedev.d are not device names. (They
contain information about device nodes that MAKEDEV can read
and create, but they are not device names.)
Hm, never said that. The above command eg. expands to:
/dev/MAKEDEV -c /etc/makedev.d/ -d /tmp/n ide
This is, build all the ide devices (the ide file then contains config options
which actually create hd[x]). Nothing wrong with that, I think.
Looking at the syntax this is also okay:
MAKEDEV [-c configdir] [-d devicedir] [-m maxdevices] [-v] [-n] device
Just as in my example. With the only difference that I do not specify the
devices directly but use the "device groups" (ie. the files in /etc/makedev.d
which again do contain directives how to create the actual devices).
Actually, "MAKEDEV ide" shouldn't be creating a lot of those
symlinks, just any that point to the IDE devices. Fixed in 3.0.5.
Sorry, but I do have to reopen this again ...
Hope I can make clean what I do mean exactly this time.
The problem is: when builing the dev files as described above, not all devices
That is, when I issue the following commands:
/dev/MAKEDEV (...) cdrom
/dev/MAKEDEV (...) dac960
/dev/MAKEDEV (..) linux-2.2.x
/dev/MAKEDEV (...) usb
/dev/MAKEDEV (...) v4l
I did now have a closer look at it - especially linux-2.2.x does not do what I
expected. The linux-2.2.x config file contains many entries. But only the
symlinks for core, fd, sterr, stdin, stdout are created.
Did I misunderstand this? Is MAKEDEV not expected to work this way (ie. should
it be called explicitely for everything, eg. hda)?
Exactly. The name of the file is just a mnemonic for the
maintainer. The %install in the .spec file just runs MAKEDEV
multiple times to generate the contents of /dev. A name like
"ide" only works because it's a partial match for ide0, ide1,
and so on, and those are aliased to hda, hdb, hdc, hdd....