SlackwareThis Forum is for the discussion of Slackware 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.
Hi, I'm giving Slackware a shot on my desktop. Anyhoo, I thought it was about time I tried my first kernel compile.
Well, I downloaded kernel 2.6.12, unpacked it and linked it to /usr/src/linux. Then I did "make menuconfig" and tried my best to get most stuff right. In the cases of modules I wasn't too sure about, I just followed the recommended advice to compile them in or not.
Then "make"
Then "make modules_install"
Then "make install"
I edited lilo.conf - It all looks ok to me
then rebooted.
It got through a fair bit of the boot process then hit a snag
Code:
VFS: Cannot open root device "305" or unknown-block(3,5)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,5)
I installed the support for Reiserfs and Ext2 and Ext3, so it's nothing to do with that
Well, not sure what's going on, but I'd really appreciate some help.
Cheers
maybe some other thing missing, like ide-support.
what config file did you use as a startpoint.
you might want to recompile, but use the config-file that comes with a slackware-2.6-x kernel.
you can find such on the cd in /testing, or at any slackware mirror.
copy the file to /usr/src/linux-2.6.12/.config ( mind the dot )
and the run " make xconfig ".
( i think you keep your kernel-src in /usr/src/ )
recompile&reinstall and it should boot
btw.: there's no need for the " /usr/src/linux " symlink.
( it's kind of folklore )
I didn't actually use a pre-configured config file, I generated a new one with "make menuconfig". Is it best to use a different one as a template? I've got a pretty standard system.
To remove the kernel I've just installed so I'm ready to compile and install a new one, can I just do "make uninstall" or something? What's the best way to do this?
Thanks
i don't think you need to uninstall those.
" make install "will just overwrite the old files
( it's only the /boot/vmlinuz ; /boot/System.map and the module tree in /lib/modules )
ok, I'll get back stuck into it tomorrow. It's fun, but kinda disappointing to see it fail after spending so long on make menuconfig. I'm pretty sure I compiled everything to do with ide support, so if anyone has any extra suggestions for the possible source of the kernel panic, I'd be very interested to hear them.
Thanks for the helpful advice, egag.
Cheers
Did you edit the Makefile to uncomment the install (export) path? Otherwise "make install" won't rename, copy, install the newly compiled kernel where it needs to be.
And...sorry if you already had all that covered, but sometimes I find myself so involved, that I forget the most basic tasks. Just a thought
Did you edit the Makefile to uncomment the install (export) path? Otherwise "make install" won't rename, copy, install the newly compiled kernel where it needs to be.
I did check makefile, and it seems that line is uncommented by default in this version of the kernel (2.6.12)
You're right about it being an involving process. I can see the possibility of getting addicted to kernel compilation.
Did you enable PC BIOS (MSDOS partition tables) support ?
And maybe Windows Logical Disk Manager (Dynamic Disk) support
File systems --->Partition Types
Err, now I've got to be honest here and say that I don't quite remember, and I'm on my way out to work so I haven't got time to check the .config file, but I'll have a look into it later. I do remember the section though, and I'm pretty sure I did enable both.
VFS: Cannot open root device "305" or unknown-block(3,5)
Errr, I've tried a few different .config files now, but nothing's working. I tried the one off a slackware /testing mirror, and I also used someone else's that I found - I edited them a bit for my hardware, but I still end up with the same error when I boot:
Code:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,5)
I'm at a bit of loss until I have some idea what the error means. What the hell is block(3,5)?
I can post sections of my .config file if anyone's interested, but there's nothing really obvious that's amiss.
You're either missing the driver for your IDE/SATA hdd or the filesystem support built-in into the kernel instead as module OR you're not initializing in the right way the initrd image in case you use it.
OK, still not sure what I was doing incorrectly originally, but I ended up using the .config file for 2.6.10 off the mirrors, which I edited and I'm now using my new kernel.
Just a couple o' questions though to start. If I want my slackware lilo to boot another linux distro on my box, how should I do it? Do I need to copy some files/directories from the /boot directory of the other distro to the /boot directory of Slack, and if so, what?
Also, even though I thought I compiled all of the necessary nvidia support, it still seems I have to reinstall the NVidia driver. When I try to, however, it says it can't install properly. Here's some of the log
Code:
Building modules, stage 2.
make -rR -f /usr/src/linux-2.6.12/scripts/Makefile.modpost
/usr/src/linux-2.6.12/scripts/Makefile.modpost:38: .config: No such file or
directory
make[4]: *** No rule to make target `.config'. Stop.
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed. Please see the file
'/var/log/nvidia-installer.log' for details. You may find suggestions
on fixing installation problems in the README available on the Linux
driver download page at www.nvidia.com.
OK, now I haven't exactly sifted through the nvidia README yet, but I will if noone here has a quick answer for what may be wrong.
Regarding lilo, mount your other distro somewhere like /mnt
and use in lilo, image=/mnt/thatdistrokernel.
I copied the /boot directory from my other distro into the /boot directory of Slackware and changed lilo.conf accordingly. Is there anything bad about doing it this way?
Quote:
As that says, check that you've your kernel .config file in it's place (/usr/src/linux-2.6.12/.config).
Ahh, so that's what it said
As for NVidia, I copied the .config file back to /usr/src/linux-2.6.12 but the module still won't load. The error I get now is
Code:
ERROR: Unable to load the kernel module 'nvidia.ko'. This is most likely
because the kernel module was built using the wrong kernel source files.
Please make sure you have installed the kernel source files for your
kernel; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' rpm installed. If you know the correct kernel source
files are installed, you may specify the kernel source path with the
'--kernel-source-path' commandline option.
-> Kernel module load error: insmod: error inserting './usr/src/nv/nvidia.ko':
-1 No such device
-> Kernel messages:
nvidia: module license 'NVIDIA' taints kernel.
NVRM: The NVIDIA probe routine was not called for 1 device(s).
NVRM: This can occur when a driver such as rivafb or rivatv was
NVRM: loaded and obtained ownership of the NVIDIA device(s).
NVRM: Try unloading the rivafb (and/or the rivatv) kernel module
NVRM: (or reconfigure your kernel without rivafb support), then
NVRM: try loading the NVIDIA kernel module again.
NVRM: No NVIDIA graphics adapter probed!
NVRM: The NVIDIA probe routine was not called for 1 device(s).
NVRM: This can occur when a driver such as rivafb or rivatv was
NVRM: loaded and obtained ownership of the NVIDIA device(s).
NVRM: Try unloading the rivafb (and/or the rivatv) kernel module
NVRM: (or reconfigure your kernel without rivafb support), then
NVRM: try loading the NVIDIA kernel module again.
NVRM: No NVIDIA graphics adapter probed!
ERROR: Installation has failed. Please see the file
'/var/log/nvidia-installer.log' for details. You may find suggestions
on fixing installation problems in the README available on the Linux
driver download page at www.nvidia.com.
I added the kernel source path option (pointed it to /usr/src/linux-2.6.12) to the installation command, but it didn't help. I did compile rivafb as a module for some not very good reason, but it's not in the output of lsmod, so I can't see how it can be that which is causing this problem.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.