2001-07-05 19:58:58

by Stephen C Burns

[permalink] [raw]
Subject: LILO calling modprobe?

Hey all,

Each time I run lilo, I receive the following message in syslog:

modprobe: Can't locate module block-major-3

This machine has no IDE devices. when I run lilo in verbose mode, I see
that it is querying all possible hard disks in /dev (e.g. Caching device
/dev/hda (0x0300, etc.). I am, in fact, running an older version of
LILO (0.21) but upgrading when it is not necessary frightens me. I also
note that calling lilo on a newer machine with newer lilo (21.4) that it
does not query all devices, although that particular machine is all IDE.
I realize that I can alias this block module to off in
/etc/modules.conf, but I wanted to be sure that this is a cosmetic
problem before I brush it off. Anyone for input? Thank you!


2001-07-05 20:14:27

by Aaron Lehmann

[permalink] [raw]
Subject: Re: LILO calling modprobe?

On Thu, Jul 05, 2001 at 02:58:18PM -0500, Stephen C Burns wrote:
> Hey all,
>
> Each time I run lilo, I receive the following message in syslog:
>
> modprobe: Can't locate module block-major-3

I have the same problem. http://bugs.debian.org/83710

2001-07-05 20:43:12

by Guest section DW

[permalink] [raw]
Subject: Re: LILO calling modprobe?

On Thu, Jul 05, 2001 at 02:58:18PM -0500, Stephen C Burns wrote:

> Each time I run lilo, I receive the following message in syslog:
>
> modprobe: Can't locate module block-major-3
>
> This machine has no IDE devices. when I run lilo in verbose mode, I see
> that it is querying all possible hard disks in /dev (e.g. Caching device
> /dev/hda (0x0300, etc.). I am, in fact, running an older version of
> LILO (0.21) but upgrading when it is not necessary frightens me.

Well, why not look at the source, then?

void preload_dev_cache(void)
{
char tmp[10];
int i;

cache_add("/dev/hda",0x300);
for (i = 1; i <= 8; i++) {
sprintf(tmp,"/dev/hda%d",i);
cache_add(tmp,0x300+i);
}
cache_add("/dev/hdb",0x340);
for (i = 1; i <= 8; i++) {
sprintf(tmp,"/dev/hdb%d",i);
cache_add(tmp,0x340+i);
}
cache_add("/dev/sda",0x800);
for (i = 1; i <= 8; i++) {
sprintf(tmp,"/dev/sda%d",i);
cache_add(tmp,0x800+i);
}
cache_add("/dev/sdb",0x810);
for (i = 1; i <= 8; i++) {
sprintf(tmp,"/dev/sdb%d",i);
cache_add(tmp,0x810+i);
}
}

Before doing anything LILO v21 collects the hda, hdb, sda, sdb info.
There is no problem, certainly no kernel problem.

2001-07-05 20:58:24

by Russell King

[permalink] [raw]
Subject: Re: LILO calling modprobe?

On Thu, Jul 05, 2001 at 02:58:18PM -0500, Stephen C Burns wrote:
> modprobe: Can't locate module block-major-3

If you want to get rid of this, add:

alias block-major-3 off

in /etc/modules.conf

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html

2001-07-05 21:04:04

by Aaron Lehmann

[permalink] [raw]
Subject: [OT] Re: LILO calling modprobe?

> cache_add("/dev/hda",0x300);
> for (i = 1; i <= 8; i++) {
> sprintf(tmp,"/dev/hda%d",i);
> cache_add(tmp,0x300+i);
>
> Before doing anything LILO v21 collects the hda, hdb, sda, sdb info.
> There is no problem, certainly no kernel problem.

Sure it isn't a problem, but it's really annoying if it won't need to
touch hda anyway.

Is there a reason that it does this?

2001-07-05 21:58:34

by Wakko Warner

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

> > cache_add("/dev/hda",0x300);
> > for (i = 1; i <= 8; i++) {
> > sprintf(tmp,"/dev/hda%d",i);
> > cache_add(tmp,0x300+i);
> >
> > Before doing anything LILO v21 collects the hda, hdb, sda, sdb info.
> > There is no problem, certainly no kernel problem.
>
> Sure it isn't a problem, but it's really annoying if it won't need to
> touch hda anyway.
>
> Is there a reason that it does this?

I believe there is. It wants to find what drive is bios drive 80h. Really
annoying since there's no way (correct me if I'm wrong) to read bios from
linux. If there is, lilo should do that. But since it's an old copy, this
probably was fixed.

I had a machine at work with both ide and scsi. ide hdd was hdc and ide
cdrom was hda just to keep lilo from thinking hdc is the first bios drive
which infact sda was

--
Lab tests show that use of micro$oft causes cancer in lab animals

2001-07-05 22:15:15

by Albert D. Cahalan

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

Wakko Warner writes:

> I believe there is. It wants to find what drive is bios drive 80h. Really
> annoying since there's no way (correct me if I'm wrong) to read bios from
> linux. If there is, lilo should do that. But since it's an old copy, this
> probably was fixed.
>
> I had a machine at work with both ide and scsi. ide hdd was hdc and ide
> cdrom was hda just to keep lilo from thinking hdc is the first bios drive
> which infact sda was

The easy way to handle this is to md5 checksum the disks at boot.
Read the first and last track of the first and last cylinder of
every BIOS drive. Then match up the disks when partition tables
get scanned.

The hard way involves running the BIOS in virtual-8088 mode to
trap IO accesses, then mapping to drivers by IO region later.

Neither way is 100% reliable, but the current guess is worse.

2001-07-05 23:01:51

by Guest section DW

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

On Thu, Jul 05, 2001 at 06:03:31PM -0400, Wakko Warner wrote:

> > > Before doing anything LILO v21 collects the hda, hdb, sda, sdb info.
> > > There is no problem, certainly no kernel problem.
> >
> > Sure it isn't a problem, but it's really annoying if it won't need to
> > touch hda anyway.
> >
> > Is there a reason that it does this?
>
> I believe there is. It wants to find what drive is bios drive 80h.

Yes.

> I had a machine at work with both ide and scsi. ide hdd was hdc and ide
> cdrom was hda just to keep lilo from thinking hdc is the first bios drive
> which infact sda was

But why don't you use the bios keyword? From lilo.conf(5):

For example,

disk=/dev/sda
bios=0x80
disk=/dev/hda
bios=0x81

would say that your SCSI disk is the first BIOS
disk, and your (primary master) IDE disk is the
second BIOS disk.

2001-07-05 23:04:11

by Aaron Lehmann

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

On Fri, Jul 06, 2001 at 01:01:07AM +0200, Guest section DW wrote:
> But why don't you use the bios keyword? From lilo.conf(5):

It doesn't help.

2001-07-05 23:10:33

by Guest section DW

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

On Thu, Jul 05, 2001 at 04:03:32PM -0700, Aaron Lehmann wrote:
> On Fri, Jul 06, 2001 at 01:01:07AM +0200, Guest section DW wrote:
> > But why don't you use the bios keyword? From lilo.conf(5):
>
> It doesn't help.

Of course it does.

(But you must distinguish people. One complains about the probing,
another about the numbering. The bios keyword tells lilo about
the numbering, and it works.)

2001-07-05 23:29:42

by Aaron Lehmann

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

On Fri, Jul 06, 2001 at 01:08:55AM +0200, Guest section DW wrote:
> (But you must distinguish people. One complains about the probing,
> another about the numbering. The bios keyword tells lilo about
> the numbering, and it works.)

Well, shouldn't lilo avoid probing if you pass bios=? Currently it
doesn't.

2001-07-06 00:08:53

by Wakko Warner

[permalink] [raw]
Subject: Re: [OT] Re: LILO calling modprobe?

> > > Is there a reason that it does this?
> >
> > I believe there is. It wants to find what drive is bios drive 80h.
>
> Yes.
>
> > I had a machine at work with both ide and scsi. ide hdd was hdc and ide
> > cdrom was hda just to keep lilo from thinking hdc is the first bios drive
> > which infact sda was
>
> But why don't you use the bios keyword? From lilo.conf(5):

I was only explaining. I foundout about the bios keyword after searching.
But I didn't have time then to do the searching and didn't care. it worked
for me.

I don't boot scsi drives on any of my systems that also have ide. I prefer
the systems to be either, but not both (test boxes excluded =)

--
Lab tests show that use of micro$oft causes cancer in lab animals