Skip to contentSkip to conversation

lilo and 2.5.69?

DISCUSSION Gregoire Favre 3 participants 4 messages May 11, 2003

lore
Share & tools
lore
#0 lore raw

Hello,

Normally I have in my lili.conf:

append = "root=/dev/scsi/host0/bus0/target15/lun0/part2 video=matrox:1600x1200-16@75"

But I got:

Fatal: open /dev/ide/host0/bus0/target0/lun0/par: No such file or directory
Exit 1

Same if I put:
root=/dev/scsi/host0/bus0/target15/lun0/part2

Or root=/dev/sdb2

Is there something special to do with this new kernel?

Thank you very much,

Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:[email protected]

#1 lore raw
Quoted 1 line · Gregoire Favre

Is there something special to do with this new kernel?

You need to fix lilo to not assume the names listet in /proc/partitions are actual device files. In 2.5.69 there's a bug that it prints truncated devfs names instead of traditional device names as it should, but relying on the names to mean anything is broken - that kernel can't enforce the device names used.

The following patch that is in Linus BK tree should get it working for you again for now..

fs/partitions/check.c +0 -13
@@ -96,19 +96,6 @@
 
 char *disk_name(struct gendisk *hd, int part, char *buf)
 {
-#ifdef CONFIG_DEVFS_FS
-	if (hd->devfs_name[0] != '\0') {
-		if (part)
-			snprintf(buf, BDEVNAME_SIZE, "%s/part%d",
-					hd->devfs_name, part);
-		else if (hd->minors != 1)
-			snprintf(buf, BDEVNAME_SIZE, "%s/disc", hd->devfs_name);
-		else
-			snprintf(buf, BDEVNAME_SIZE, "%s", hd->devfs_name);
-		return buf;
-	}
-#endif
-
 	if (!part)
 		snprintf(buf, BDEVNAME_SIZE, "%s", hd->disk_name);
 	else if (isdigit(hd->disk_name[strlen(hd->disk_name)-1]))
#2 lore raw
In reply to Gregoire Favre
Quoted 12 lines · Gregoire Favre

Hello,

Normally I have in my lili.conf:

append = "root=/dev/scsi/host0/bus0/target15/lun0/part2 video=matrox:1600x1200-16@75"

But I got:

Fatal: open /dev/ide/host0/bus0/target0/lun0/par: No such file or directory
Exit 1

Quoted 6 lines

Same if I put:
root=/dev/scsi/host0/bus0/target15/lun0/part2

Or root=/dev/sdb2

Is there something special to do with this new kernel?

Looks like a bug that truncates long device names. Looks like your'e using devfs, using /dev/discs/discX/part2
is a fine workaround - because it is short enough. Replace the X with whatever number your host0-target15 disk has.

Helge Hafting

#3 lore raw
Quoted 6 lines · Helge Hafting

Looks like a bug that truncates long device names. Looks like your'e using devfs, using /dev/discs/discX/part2
is a fine workaround - because it is short enough. Replace the X with whatever number your host0-target15 disk has.

I have put:

append = "root=/dev/discs/disc2/part2 video=matrox:1600x1200-16@75"

And it produces the same error:

Fatal: open /dev/ide/host0/bus0/target0/lun0/par: No such file or directory 8,1 Top
Exit 1

which was previsible as dev/sdb2 produced the same problem.

Thank you very much,

Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:[email protected]