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

Re: MAKEDEV problem



On Mon, Dec 29, 2003 at 06:17:32PM -0600, Nick Welch wrote:
| On Mon, Dec 29, 2003 at 07:10:36PM -0500, Derrick 'dman' Hudson wrote:
| > On Mon, Dec 29, 2003 at 02:48:10PM -0600, Nick Welch wrote:
| > | Just did an install of sarge via the beta debian-installer image, and
| > | MAKEDEV is telling me this:
| > | 
| > | /sbin/MAKEDEV: line 1: major_device-mapper=254: command not found
| > 
| > This looks like it is supposed to be a shell script, and in the shell
| > script is an assignment line.  However, the '-' there can not be part
| > of a variable name, so the shell thinks that is a command.  Which,
| > naturally, is not found.
| 
| I've been looking at the /sbin/MAKEDEV script and have come to the same
| realization.
| 
| The loop reads items from /proc/devices, and in that file, we find:
| 
| Block devices:
|   1 ramdisk
|   3 ide0
|  22 ide1
| 254 device-mapper
| 
| Apparently MAKEDEV never expects to see an item with a hyphen in the
| name.

Aha!  That explains it.  I didn't read the logic in my copy, I just
did a quick search for the name to be hard-coded.

| > Somehow your script is incorrect.  That script is part of the
| > 'makedev' package.  Try reinstalling that package and see if the
| > script changes.
| 
| The latest versions on both sarge and sid seem to be the same, which is
| the same version I have installed.  I just stumbled upon something
| though - I looked through loaded kernel modules and saw one called
| "dm_mod" (the "dm" apparently standing for device mapper), which I
| removed.  Now it works!  device-mapper disappeared from /proc/devices,
| and MAKEDEV works like normal.  Awesome. :)  Now, I wonder exactly whose
| bug this is...

I'd say it's MAKDEV's bug in assuming that all kernel device names
follow shell naming rules.  A better program would use a data
structure to store the names, rather than making them part of the code
itself.  However, sh is not structured enough for that level of
abstraction so I understand why the current design is used.

I recommend that you file a bug against 'makedev' explaining the
this device-mapper thing and how that causes MAKEDEV to fail.  At
least then there will be a record of this issue and the maintainer
will be aware of it.

-D

-- 
There is not a righteous man on earth
    who does what is right and never sins.
        Ecclesiastes 7:20
 
www: http://dman13.dyndns.org/~dman/            jabber: dman@dman13.dyndns.org

Attachment: signature.asc
Description: Digital signature


Reply to: