Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition | |||
|
|
Solution Type Problem Resolution Sure Solution 1012170.1 : Sun Fire[TM] V60x/V65x Server: Boot Kernel Panic Attaching External SCSI Devices
PreviouslyPublishedAs 216763 Symptoms When connecting an external SCSI device, the drive letters change in a Linux system. This confuses the kernel during boot and leads to a "Kernel panic". Disabling "HostRAID Support" and "SCSI Controller Int 13 Support" (mentioned in the release notes) does not change the situation. The last three lines of the boot log show the following or very similar error messages: VFS: Cannot open root device "sda5" or 08:05 Please append a correct "root=" boot option Kernel panic: VFS: Unable to mount root fs on 08:05 Resolution The Sun Fire V60x/V65x contain an Adaptec 2-slot SCSI controller. Slot "B" is used for the internal drives and "A" for the external. When external drives become attached, the drive letters change in a Linux system (e.g. "/dev/sda" becomes "/dev/sdb") which confuses the operating system. Linux is very flexible in allowing changes to its root drive, and so only the following two files need to be changed with an editor: "menu.lst" for the "GRUB" boot loader and "fstab" for the file system. The tricky part is that the SCSI devices need to be identified with a unique name. For "GRUB" this can be achieved with labeled partitions. For "fstab" a special device assignment tool can be used: scsidev . The tool is freely available from http://www.garloff.de/kurt/linux/scsidev and can be integrated in most Linux distributions seamlessly. It is included in SuSE Enterprise Linux Server 8 and thus the following description is done for this distribution: 1. During the installation of SLES 8 make sure your root/kernel partition uses a label and is formatted with ext2 (only this partition type could be verified working with the GRUB from SLES 8 - this may be different with other distributions or newer GRUB versions). In our example the partition is called "unit1". The label can be e.g. applied with the terminal command: "e2label /dev/sda2 /unit1". 2. After installation enhance /boot/grub/menu.lst accordingly with the following entry and set the default to it: title SuSE Enterprise Linux 8 SCSI kernel (hd0,0)/boot/vmlinuz root=LABEL=unit1 vga=791 initrd (hd0,0)/boot/initrd 3. Run the command 'scsidev' from a terminal window. This program creates device aliases in /dev/scsi. Those can be used in /etc/fstab for unique identification. Type 'ls -l /dev/scsi' for verification. More information: "man 8 scsidev". The scsidev tool is already preconfigured in SLES 8. 4. Edit the /etc/fstab for a first trial. Assuming only a root and a swap partition exist for this drive, here are the first 2 example lines: /dev/scsi/sdh1-1c0i0l0p1 / ext2 defaults 1 1 /dev/scsi/sdh1-1c0i0l0p2 swap swap pri=42 0 0 5. Reboot your system to verify it comes up without an external drive. The "mount" command should give an output like "/dev/scsi/sdh1-1c0i0l0p1 on / type ext2 (rw)" in the first line. 6. Shutdown the system. Attach the external drive and boot up. The system comes up without kernel panic. You may run "scsidev" again to create aliases for the new drive as well. 7. Make sure, that "boot.scsidev" is enabled with the command 'yast2 runlevel &' at boot time, so that this service is executed each time at boot up. Product Sun Fire V65x Server Sun Fire V60x Server Internal Comments For internal Sun use only. Voyager entry corresponds to Escalation #1-1263286 Boot, SCSI, Array, external Previously Published As 73544 Change History Date: 2004-07-21 User Name: 13128 Action: Approved Comment: Update is fine, modified title for standards Version: 2 Date: 2004-07-21 User Name: 13128 Action: Accept Comment: Version: 0 Date: 2004-07-21 User Name: 100632 Action: Approved Comment: technically OK please publish Version: 0 Product_uuid 079e9bbc-0ee3-11d7-8c50-f1061905b56f|Sun Fire V65x Server 03728cec-0ee3-11d7-9be8-dd41f651e0a3|Sun Fire V60x Server Attachments This solution has no attachment |
||||||||||||
|