Jochen Haeberle writes:
> If there is the problem you describe, why is lilo then able to
> install a working boot sector on one of
> the disks???
I looked at the strace output:
stat("/tmp/dev.0", 0xbfffde70) = -1 ENOENT (No such file or directory)
mknod("/tmp/dev.0", S_IFBLK|0600, makedev(0, 0)) = 0
stat("/tmp/dev.0", {st_mode=S_IFBLK|0600, st_rdev=makedev(0, 0), ...}) = 0
open("/tmp/dev.0", 0x4) = -1 ENODEV (No such device)
open("/usr/share/locale/locale.alias", O_RDONLY) = 7
I suspect the makedev(0, 0)
The lilo.raid1 patch does this:
device = (md_disk_info.major << 8) | md_disk_info.minor;
disk_fd = dev_open(&dev,device,O_NOACCESS);
and dev_open comes from lilo/device.c:
int dev_open(DEVICE *dev,int number,int flags)
{
...
if (mknod(name,0600 | S_IFBLK,number) < 0)
die("mknod %s: %s",name,strerror(errno));
if (stat(name,&dev->st) < 0)
die("stat %s: %s",name,strerror(errno))
...
if (flags == -1) dev->fd = -1;
else if ((dev->fd = open(name,flags)) < 0)
die("open %s: %s",name,strerror(errno)) <-- lilo dies here
}
I would like to know who made the patch...
Dirk