Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
A quick synopsis:
Slackware 10 installed on a dual P3 machine.
Root fs is installed on scsi raid array. Modules required to support this are aic7xxx and megaraid. Device: /dev/sda1
2.4.26 (slackware default) running for some time
Downloaded and installed kernel-2.6.14.6, associated kernel-modules, and associated kernel-headers packages
Modified lilo.conf to include new kernel (and ensured the old was still present)
Ran lilo command
Rebooted
System halts on startup regardless of kernel chosen
Rebooted using knoppix
Made 2 initrd images using mkinitrd, 1 for 2.4, 1 for 2.6, each containing the modules which correspond to the ones currently installed on knoppix. (each also includes the aic7xxx and megaraid modules)
Associated 2.4 and 2.6 kernels with their respective initrd images in lilo.conf and ran the lilo command
Rebooted
I'm pretty sure both kernels recognize scsi array (I see the device information scroll by)
But I get the following error:
"mount: Mounting /mnt/sda1 on /mnt failed. Block device required"
Error: mount returned error code 1. Trouble ahead"
The initrd then exits and I am presented with a shell prompt with limited capabilities (eg. I am in the initrd filesystem right now).
If I manually try: "mount /dev/sda1 /mnt" I get: "mount /proc/filesystems: No such file or directory"
I am at a loss here as to what to do. If anyone has any suggestions (I can boot using knoppix and mount my root fs manually, so I can edit any files) please relay them. Thank you very much.
Distribution: Distribution: RHEL 5 with Pieces of this and that.
Kernel 2.6.23.1, KDE 3.5.8 and KDE 4.0 beta, Plu
Posts: 5,700
Rep:
I always configure the aic7xxx as part of the kernel and not a module. If I remember correctly in the 2.4 kernel days that is how the aic7xxx module had to be. Built into the kernel and not as a module and of coarse create a new mkintrd file.
Thanks for your response Brian1. I'm not sure if this is the solution as the system used to boot with the 2.4.26 kernel that is still inplace. So if the aic7xxx is built in or the module is being used should not affect the startup process as the kernel remains unchanged. Additionally, detecting the device is not a problem. I see it in the kernel startup output.
After starting at the output a bit, I noticed that it is trying to load /mnt/sda1 as the root device, whereas it should be trying to mount /dev/sda1 (thus generating the block device error). To ensure that I did not make a mistake in generating the initrd image, I rebooted into knoppix and made the images again for the two filesystems:
mkinitrd -k 2.4.26 -r /dev/sda1 -o initrd-2.4.gz
mkinitrd -k 2.6.14.6 -r /dev/sda1 -o initrd-2.6.gz
I ran lilo again, and rebooted but the problem remains (eg. still trying to load /mnt/sda1). Is this a bug in mkinitrd or do I need to specify the root elsewhere (in my lilo.conf the root device is set to /dev/sda1)? Thank you.
After booting up knoppix again, I found that in the /boot/initrd-tree (from which the initrd image gets made), there is a rootdev file which contained /mnt/sda1 instead of /dev/sda1 (why the initrd tries to use this instead of the /dev/sda1 that I passed as the command prompt baffles me). I changed this, ran lilo and rebooted but to no avail. The original error message changed though to:
mount: /dev/sda1 on /mnt failed. No such device or address.
When presented with the initrd prompt, I check the contents of the /dev directory and see that /dev/sda1 is present and it is a block device. Trying to mount it results in the same as mentioned above. So I'm still having trouble. One question that I have is why it is trying to mount /dev/sda1 into /mnt as opposed to /. Not sure if this is causing the problem. Feedback is appreciated.
It seems that there is indeed a problem with the ramdisk recognizing the scsi drive. Upon even closer examination of the startup output, I see the following lines:
"insmod: megaraid.ko: no module by that name can be found
megaraid_mbox: Unknown symbol mraid_mm_unregister_adp
megaraid_mbox: Unknown symbol mraid_mm_adapter_app_handle
megaraid_mbox: Unknown symbol mraid_mm_register_adp
...
aic7xxx: Unknown Symbol spi_display_xfer_agreement
aic7xxx: Unknown Symbol spi_display_release_transport
aic7xxx: Unknown Symbol spi_attach_transport
aic7xxx: Unknown Symbol spi_dv_device"
The first error is expected. After looking in my initrd modules directory, I found that there exists no megaraid.ko file. Additionally, looking into the /lib/modules/2.6.14.6 directory, I can find no module called megaraid.ko. So I simply removed this line from the initrd startup modules script. (im assuming in 2.6 they replaced megaraid with the 3 megaraid_* modules)
I load the megaraid modules in the order that they appear in the filesystem (eg. megaraid_mbox, megaraid_mm, megaraid_sas. I then realized that the next 3 errors were caused when I tried to load megaraid_mbox before, megaraid_mm. I switched the order and this fixed the next few errors.
The last 3 are obviously being caused by the same reason. I'm trying to load aic7xxx but the module needs another to work properly and thus not being loaded. I am looking around on the internet to find which modules contain the missing symbols, but so far I have had not much luck. Does anyone know how I am to find these dependencies so that I can put them in my initrd. Thanks alot.
Now I'm lost.
I found that the missing module causing the errors was scsi_transport_spi. After copying it into my initrd ramdisk, enabling, and rebooting; the loading module process goes through fine (no errors loading modules), and I even see verification that the scsi drives are recognized (after aic7xxx is loaded the system pauses for a min as it detects the drive then it appears on the screen). I get a few warnings with aic7xxx_old, but I'm not too worried about this as aic7xxx is loaded. Regardless, the same error still appears: "cannot mount /dev/sda1 on /mnt no such device or address"
Now I am really lost. I have no clue what to do. Why isn't the scsi drives being recognized and mounted? Thanks for your help.
Upon exampination of the new startup output, I find the following just after my scsi drive's recognized:
"sda: unknown partition table"
I am almost sure this is the source of my problem, but howto fix. I can mount the partitions in knoppix so it isnt corrupted. Any idea to what is wrong?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.