I am attempting to install Ubuntu 10.10 desktop on a Dell T7500 with two SAS drives in hardware RAID 0. Running from the CD works fine. The install process works fine. I have configured several different filesystems for /, /usr, /home, etc. The problem is that upon reboot after install, during initrd the system complains "ALERT /dev/sda1 does not exist dropping to shell". From within the initramfs shell I am able to mount all partitions successfully. Can anyone tell me what might be wrong or how to diagnose this?
-
1How did you exactly mount your partitions? Can you post the output of `sudo fdisk -l`? – Lekensteyn Mar 28 '11 at 15:12
2 Answers
If you're using SCSI Attached Storage, it's possible the CD loaded the correct kernel module for the installation process but the installation process didn't compile the SCSI driver into the kernel. The CD drive is probably SATA which is compiled into the kernel that's loaded from the CD (which is why you can boot from it). If the SCSI driver is compiled as a module then the kernel can't see the boot device.
Boot from the CD again and run lspci and lsmod to find your SCSI driver module. Mount your partitions and apt-get your kernel sources. Copy your current kernel config from /boot into the kernel sources directory as .config. Now find your SCSI driver in the .config and change it from M to Y then recompile the kernel and replace your existing kernel.

- 954
- 5
- 7
-
One thing to note. If you use the server edition, it may actually compile SCSI drivers into the kernel. Desktop is designed for desktops, so the installation probably isn't expecting expensive SAS hardware and neglects to compile the driver into the kernel. – Sean C. Mar 28 '11 at 15:39
I struggled with this exact same issue all weekend! In my case, I was installing 10.10 on an IBM x336 server with an IBM Raid card. I would get that same alert error you were getting, but it was also hinting for me to check if I was giving it enough time to find the root drive at /dev/sda1. It turns out I had to add rootdelay=180 in grub so it would wait longer to detect the disks. Something about the IBM raid card causes a delay in when the disks are actually ready and available to the OS. By default it was only waiting 30 seconds, which wasn't giving the raid card enough time, thus resulting in "/dev/sda1 not found".

- 4,786
- 7
- 37
- 54
-
Thanks for the tip, I think that is my problem too because when I wait and then "exit" the initrd shell I get a normal login. So the question is, with the new GRUB, where did you put that parameter? Did you do it the "right" way, or did you edit /boot/grub/grub.cfg? – Scott Thomason Mar 28 '11 at 17:53
-
Yeah, that was the same thing that was happening to us. When I did it, I just hit the "e" key when grub loaded and then edited it from there. Append it to the end of the kernel line. (i.e. kernel /boot/vmlinuz-x.x.x root=/dev/sda1 ro splash rootdelay=180). Doing it this way, however, is non-persistent. To make it permanent, you need to edit the grub2 config which is a pain. – Safado Mar 28 '11 at 22:18