LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   problem to boot with 2.6.7 kernel (https://www.linuxquestions.org/questions/slackware-installation-40/problem-to-boot-with-2-6-7-kernel-199036/)

kevkim55 02-22-2006 03:51 AM

Quote:

2. I also thought of copying the modules for the knoppix cd and enabling them in my initrd. The thing is that I'm trying to get my 2.6 kernel booted up and not the 2.4 The 2.4 kernel is another problem all together, whenever I place and enable the modules in my initrd fs, initrd complains on boot up about each module not being of "ELF" format, and thus it does not boot any module. Additionally, I tried booting the latest Knoppix version (3.9 as opposed to 3.3 which I was booting) that comes with the 2.6 kernel, but I always get bootup errors when I use the new cd. Because I really dont want to debug knoppix just so I can debug my problem, I am not going to bother.
movitto, I wasn't talking 'bout copying the modules form knoppix to you ilnux installtion. As you already know, that wouldn't work because of version and symbols mismatch/missing. I suggested that you simply boot into knoppix and if you disk work fine while in knoppix, note down the modules loaded by doing an lsmod. Create mkinitrd to include the modules you have just noted from knoppix and that might get it kicking.

Quote:

3. It may be a silly question but I dont have an answer for you. I'm not sure if I am loading scsi_mod and sd_mod on startup. The thing is, is that I dont recall actually seeing these modules in the 2.6 kernel (are they 2.4 specific?). If I need them, then why does the initrd recognize the device on bootup?
ata modules would recognize and initialize the disk drive. Since your drive is a ATA/SATA drive, the kernel 2.6 would configure it as a SCSI drive and hence, scsi_mod and sd_mod become really important. Itz these modules which would make the disk become available as a SCSI disk and then only the device files /dev/sda* would be created. And oh yes ! These modules are very much there in kernel 2.6 ! :-) And, these are the modules that make the non-IDE drives work !!

So, check the contents of initrd and double check that the required modules are really there. Don't forget the filesystem modules and the interface modules as well.

If this fails, it would be worthwhile to compile your kernel enabling suitable debugging options under Kernel Hacking. This would print a lot of debugging messages and might just reveal whatz going wrong !

movitto 03-15-2006 09:54 PM

Sorry for the delayed response. Been busy with school and work.

1. I tried the sleep suggestion once again, but to no avail. After the loop that runs through load_kernel_modules and loads all the modules, I put a "sleep 120". The initrd paused for 2 whole minutes before continuing but still failed to boot. Regardless, I'm still not fully sure how this would work. My initrd image recognizes the device just fine. I see it recognized on the startup output. The catch is that before I load the aic7xxx module needed to recognize the device, I need to load scsi_transport_spi and scsi_debug. While loading scsi debug I get the following error: "sda uknown partition table". The boot continues but once again stops on "Mounting /dev/sda1 on /mnt no such device or address".

2. I searched my entire system for sd_mod and scsi_mod but could not find them, even in the /lib/modules/2.6.14.6 directory. I believe this is because they are built into my kernel. (can this be the problem?) I load the following modules in the following order: jdb:ext3:scsi_debug:scsi_transport_spi:aic7xxx Needless to say, my rootfs is ext3.
What I was trying to say with the Knoppix issue was not that I wanted to copy the modules from the Knoppix 2.4 cd, but that there seems to be a big difference between the 2.4 and 2.6 knoppix modules, and I could not determine which 2.6 modules I needed from running lsmod from a 2.4 live cd. As mentioned, I tried the latest knoppix release which incorporates the 2.6 kernel, but for some reason or another this cd failed to boot (something about cloop).

3. One interesting thing that I noticed was that in the linuxrc file in the initrd image, there is the following:
# Handle LVM
if [ -x /sbin/vgscan ] ; then
/sbin/vgscan -mknodes
sleep 20
/sbin/vgcheck
fi
The thing is that in the image the /sbin dir does not even exist. Do I need this utility to manage the LVM of the raid array?

4. Maybe my system specs will give someone an idea. Gateway ALR 8200. Adaptec AIC-7890 scsi raid array. (Do I need anything special for my raid array? In the knoppix 2.4 kernel, the megaraid module was loaded, but in my 2.6 modules, there was megaraid_mm, megaraid_mbox, and megaraid_sas. I have tried loading all three of these, but it does not help the bootup process) Slack Linux v10.0 Trying to boot kernel 2.6.14.6 downloaded in a package with corresponding kernel modules and headers from slackware.it/en. From the package description "If you need more advanced filesystems, or need to load support for a SCSI or other controller, then you'll need to load one or more kernel modules using an initial ramdisk, or initrd." So I'm sure it can be done.


Really lost on this one. Thanks for all the help so far.

kevkim55 03-18-2006 01:39 AM

After having come across the many installtion/boot woes Slackware, I decided to try it out myself. Installed Slack 10.1 on USB Drive. Had real f*** fun booting ! Spent two evenings after this pesky boot problem. Error was the same as has been repeated many a times in this thread !

After a bit of investigating I realized that somehow the device nodes for the disk were not created and so the error. Created an initrd with the device nodes copied from /dev/ directory. Booted off, believing this was gonna make it work. Surprise ! Dispappointment awaited me ! Same f** lil' error ! Checked if the device nodes were there - they were very much there ! Yet the error - device /dev/sda6 is not a block device !

Bit more playing and I relized that somehow the insertion of modules and later recognition/initialization of the disk by the modules didn't result in the creation of device nodes. An initrd image containing pre-created device nodes, didn't make a difference as the pre-created device nodes were somehow not linked to the actual device.

Didn't wanna go too deep with kernel 2.4. Compiled kernel 2.6 which greeted me with the same problem.

Realized that I was gonna need udev and hotplug support built into the initrd image which would take care of the dynamic creation of the device nodes, I decided to use the mkinitrd package fromt SuSE10.0. I did just that, created an initrd using SuSE's mkinitrd which contains udev and hotplug support. Voila !! No trace of the f*** error message. I was able to boot into Slack 10.1 without any problem.

So guys, I believe there's not much you can do if you've included all the support modules and yet are not able to boot in. Unless you decide to alter the source code ! I'd suggest you include udev/hotplug support to do the necessary initialization and subsequent creation of the device nodes dynamically. It doesn't have to be SuSE's mkinitrd, yet atleast you know about an mkinitrd that would make it work.

I suggest you guys to try this method and see if this works. Of-course, you're likely to encounter hurdles about some missing config files when you run SuSE's mkinitrd as it expects some config files in the default location. I suggest you read the SuSE's mkinitrd manual which, does mention the config files along with their default location. So, it is just a matter of creating those files with just the necessary variables which, again is talked about in the manual. There's /etc/sysconfig/kernel in SuSE10.0 which defines a variable that stores the modules to include in initrd image. Certainly, this can be over-ridden by specifying the modules to include as the command line paramenters of mkinitrd command.

Anyone's interested in trying this out ???

movitto 03-19-2006 05:41 PM

I give up :-( After a while of fiddling around with many possible solutions, I downloaded the latest version of the kernel which I originally installed on my system (scsi2.s v.2.4.31) from the official slackware site and installed it with the corresponding modules to get my machine up and running again. One interesting thing to notice is that no 2.6 kernel or distro which I used could mount my scsi raid array properly. I have tried multiple precompiled 2.6 kernels from slackware packages, Knoppix, Slax, and other live cd's but with no luck. 2.6 just does not want to recognize my drives. While trying to resolve the problem, I found that there was a bit of work done concering scsi devices on the latest kernel, 2.6.15 (http://lwn.net/Articles/167711/). Possibly some of this work involved fixing problems such as mine. Regardless, I'll probably stick with my current kernel for a while, possibly compiling a new kernel once more from the scsi2.s config file + some modifications inorder to get my dual processor setup working (as of now, only 1 processor is being recognized. hopefully an easy fix). While this is the first linux problem that has 'defeated' me (eg. I couldn't resolve it yet) I'm not discouraged as I've learnt much in the process. Thanks greatly to everyone who has helped me, and I hope this thread helps someone out in the future in a similar situation. Cheers.


All times are GMT -5. The time now is 04:11 AM.