This is a discussion on Help with LABELs in /etc/fstab when driver is module-loaded within the Linux General forums, part of the Linux Forums category; The use of LABELs in /etc/fstab seems to be very unforgiving and inflexible. One of my hard drive controllers ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
The use of LABELs in /etc/fstab seems to be very unforgiving and
inflexible. One of my hard drive controllers requires a module to be loaded (which I do in rc.local). I would like to use a LABEL to refer to a partition on that drive in my /etc/fstab file, though since it is not available at startup I use the 'noauto' option. However, the system boot (RH8/Linux 2.4.20) then hangs on startup saying that it cannot find the LABEL. This behavior seems quite unforgiving. Why does the whole boot have to hang? Wouldn't it be more graceful to ignore a LABEL that can't be found, particularly if the partition is identified as 'noauto'? At most, shouldn't the system just issue a warning rather than hanging and going into single user mode? Is there any way to use LABELs to identify partitions on drives that may not be available at startup? Alternatively, is there a way to load the module earlier in the boot process (rather than using rc.local). Note, I cannot compile the module into the kernel since I only have a binary pre-compiled module. Also, note everything works fine if I add the entry to /etc/fstab once the system is already up-and-running and the module is already loaded or if I refer to the partition directly by its standard partition device name. Thanks, Jeff |
|
|||
|
kosowsky@consult.pretender (Jeffrey J. Kosowsky),
In a message on Sun, 24 Aug 2003 13:55:07 GMT, wrote : JJK> The use of LABELs in /etc/fstab seems to be very unforgiving and JJK> inflexible. JJK> JJK> One of my hard drive controllers requires a module to be loaded (which JJK> I do in rc.local). I would like to use a LABEL to refer to a JJK> partition on that drive in my /etc/fstab file, though since it is not JJK> available at startup I use the 'noauto' option. JJK> JJK> However, the system boot (RH8/Linux 2.4.20) then hangs on startup JJK> saying that it cannot find the LABEL. This behavior seems quite JJK> unforgiving. JJK> JJK> Why does the whole boot have to hang? Wouldn't it be more graceful to JJK> ignore a LABEL that can't be found, particularly if the partition is JJK> identified as 'noauto'? At most, shouldn't the system just issue a JJK> warning rather than hanging and going into single user mode? JJK> JJK> JJK> Is there any way to use LABELs to identify partitions on drives that JJK> may not be available at startup? Alternatively, is there a way to load JJK> the module earlier in the boot process (rather than using JJK> rc.local). Note, I cannot compile the module into the kernel since I JJK> only have a binary pre-compiled module. 1) You can include the module in /etc/modules.conf. 'man modules.conf' should give you some ideas. 2) The sources for all kernels for ALL RedHat systems are available. Somewhere on either a RedHat or mirror ftp site is kernel-source-2.4.20-<mumble>.i386.rpm !!! Do a search at rpmfind.net. 3) You *could* create a ramdisk with the modules included. This is *normally* done for SCSI disks, since the stock kernels don't have any SCSI controller modules compiled in. 'man mkinitrd'. You'll need to modify your lilo/grub setup to include an initrd= kernel option. It is possible to use an initrd pre-load any sort of module, not just SCSI controllers. I used this hack to determine *which* flavor of EtherNet driver was needed for a 'unknown' (bought used) NIC for a machine I didn't have a a disk for yet. I cross-created a boot floppy with a supply of likely ethernet drivers and used the boot floppy to boot the machine (up to the point where it tried to mount (and failed) to mount the root file system. JJK> JJK> Also, note everything works fine if I add the entry to /etc/fstab once JJK> the system is already up-and-running and the module is already loaded JJK> or if I refer to the partition directly by its standard partition JJK> device name. JJK> JJK> Thanks, JJK> Jeff JJK> \/ Robert Heller ||InterNet: heller@cs.umass.edu http://vis-www.cs.umass.edu/~heller || heller@deepsoft.com http://www.deepsoft.com /\FidoNet: 1:321/153 |
|
|||
|
Robert Heller <heller@deepsoft.com> writes:
> JJK> Alternatively, is there a way to load > JJK> the module earlier in the boot process (rather than using > JJK> rc.local). Note, I cannot compile the module into the kernel since I > JJK> only have a binary pre-compiled module. > > 1) You can include the module in /etc/modules.conf. 'man modules.conf' > should give you some ideas. I will give this a try > 2) The sources for all kernels for ALL RedHat systems are available. > Somewhere on either a RedHat or mirror ftp site is > kernel-source-2.4.20-<mumble>.i386.rpm !!! Do a search at rpmfind.net. I already compile my own kernels :) The problem is not the kernel source but rather that the driver itself comes only as a module binary (Promise doesn't release the source :( ) > 3) You *could* create a ramdisk with the modules included. This is > *normally* done for SCSI disks, since the stock kernels don't have any > SCSI controller modules compiled in. 'man mkinitrd'. You'll need to > modify your lilo/grub setup to include an initrd= kernel option. It is > possible to use an initrd pre-load any sort of module, not just SCSI > controllers. I used this hack to determine *which* flavor of EtherNet > driver was needed for a 'unknown' (bought used) NIC for a machine I > didn't have a a disk for yet. I cross-created a boot floppy with a > supply of likely ethernet drivers and used the boot floppy to boot the > machine (up to the point where it tried to mount (and failed) to mount > the root file system. This 3rd option seems complicated. Is there any advantage to using it over #1 (modules.conf)? |