Some Random Thoughts..
Just a place to put some random thoughts..

As an optimization, linux kernel 2.4 doesn't probe for scsi lun greater that 0. To do that forcefully, you have to compile the kernel with CONFIG_SCSI_MULTI_LUN option. But wait! there another way!

Most of the stock kernels come without the builtin scsi support but with scsi modules. You can pass a command line parameter, "max_scsi_luns", to the core scsi module, "scsi_mod". If you are manually insmodding it, you just have to do

# insmod scsi_mod.o max_scsi_luns=[your_max_number]

But if your root is on some scsi disk and the insmod is happening at the boot time through initrd then the method told by google is to put "options scsi_mod max_scsi_luns=[your_max_number]" in /etc/modules.conf and remake your initrd image. This is way better than compiling the whole kernel. But alas! This method doesn't work. Atleast it dint for me. I did a little investigation and found that the culprit is /sbin/mkinitrd script. Well not exactly a culprit but something similar. I found that you need to put "options scsi_mod.o max_scsi_luns=[your_max_number]" in /etc/modules.conf. See that little ".o" in there?? That should do the trick. Atleast it worked for me and I am a happy man today! :)

Note: Just to make this tip foolproof, replace [your_max_number] with some sane integer. :)

Tip for the day.
As an optimization, linux kernel 2.4 doesn't probe for scsi lun greater that 0. To do that forcefully, you have to compile the kernel with CONFIG_SCSI_MULTI_LUN option. But wait! there another way!

Most of the stock kernels come without the builtin scsi support but with scsi modules. You can pass a command line parameter, "max_scsi_luns", to the core scsi module, "scsi_mod". If you are manually insmodding it, you just have to do

# insmod scsi_mod.o max_scsi_luns=[your_max_number]

But if your root is on some scsi disk and the insmod is happening at the boot time through initrd then the method told by google is to put "options scsi_mod max_scsi_luns=[your_max_number]" in /etc/modules.conf and remake your initrd image. This is way better than compiling the whole kernel. But alas! This method doesn't work. Atleast it dint for me. I did a little investigation and found that the culprit is /sbin/mkinitrd script. Well not exactly a culprit but something similar. I found that you need to put "options scsi_mod.o max_scsi_luns=[your_max_number]" in /etc/modules.conf. See that little ".o" in there?? That should do the trick. Atleast it worked for me and I am a happy man today! :)

Note: Just to make this tip foolproof, replace [your_max_number] with some sane integer. :)


posted by rumplestiltskin @ 7:29 pm 0 comments

0 Comments:


Post a Comment