Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I've built 2.4.20 and 2.4.25 a dozen times with no problem, and booted the
various versions with grub also (mostly :-) without problems. This is all on
But trying 2.6.6 has not gone so well. I built 2.6.6 by
load the tar
copy over the .config from 2.4
make oldconfig (take the default on all new options)
make modules modules_install install (all no problem)
grub config line matches what I've used for 2.4 (/boot is hdb1, / is hdb2)
kernel /vmlinuz-2.6.6 ro root=/dev/hdb2
Since 19 is "no such device", then it can't find /dev/hdb2? If I add a showlables in
linuxrc both 2.4 and 2.6 seem to have the same view of devices and I assume the
mkrootdev worked the same in both, but hard to check with no ls.
Also I don't grok whats going on in linuxrc where just after the
echo 0x100 >/proc/sys/kernel/real-root-dev,
how can this be 0x100 if this is supposed to be major*256+minor, but it works in 2.4
this way so...??
Anyway if this all rings a bell I'd love to hear about it. I've seen lots of "init not found" errors
discussed, and this does end up that way as well, but this device confusion seems the root cause.
update: I added /bin/ls and its libs to my initrd..img file and added a ls -l /dev/root /dev/hdb2
to linixrc just before it attempts the mount and it shows the both are the same (and correct) major/minor so this devices DOES exist. ext3 is configured. what else is likely to be generatring this error?
So this looks to be a RH9 2.6.6 module issue. (not confirmed but certainly looks like it as ext3 was configured as a module).
1) It seems perfetly reasonable that the kernel would build with an incompatible module environment on the build system, since you could be targeting a different system. So two could you be altering the boot setup such that even the make install does not know for sure this will fail, but its a good guess so I'd vote for making the make FAIL at this point and have an override to ignore this failure mode. i.e. its just too easy to hit this.
2) I'm skeptical of the related issue mentioend in the halloween-2.6.txt doc pertaining to RedHat's rc.sysinit . That doc mentions that since /proc/ksyms does not exist in 2.6 you must modified the script to force /proc/sys/kernel/modprobe to be "/sbin/modprobe". However the srcipt actually tests /proc/ksyms early on and uses it to set USEMODULES which is in turn used several places. Thus it seems what you really need to do is to force USEMODULES="y" and that in turn will cause the modprobe pointer to be setup.
3) It is not yet clear to me if I install the new module-init-tools (as the make file warned me about, but I just didn't notice, i.e. point 1 above) if this will screwup my ability to boot 2.4 (i.e. then I'd be screwed if 2.6 also does not come up)
4) The kernel not being able to load a module resulting in error 19 (no such device) seems pathetic (the ying and yang of linux from my point of view, its still such a hack in many ways, but I couldn't be doing this project without it either!).
All of which is as yet unverified (I'm building a monolithic 2.6.6 kerenl as the easiest way to check this out), but since I appear to be answering my own questions on this one, I thought I'd add the current theory.
Yep, modules was the issue. If I build a no-modules kernel 2.6.6 does boot. A few points on doing so
1) make install will look like it failes with an error about /lib/modules/<kernelname> not existing, but it installs the kernel in /boot anway.
2) you need to add the "nomodules" parm to the kernel line for grub so it now reads kernel /vmlinuz-mumble nomodules ro root=/dev/<root partitoin>
3) not having moduels disables the runing log of OK or FAIL when you come up (not clear why) but it did boot. So it looks like it is dead right off the bat, but the disk is still going crazy so just wait and then X comes up.
Now on to see if the new init-module-tools will work and hopeful not kill 2.4 (but now at least I have a moduless kernel to fall back on if it does).
If you read the module-init-tools documentation it mentions something about "make moveold", which renames your current modutils(for 2.4) to *.old, and they'll be used whenever you boot a 2.4 kernel.
Also if you're going to use an initrd (eg you compile ide chipset/filesystem support as modules)make sure you have the latest mkinitrd http://people.redhat.com/arjanv/2.5/...5.1-2.i386.rpm
As a final postscript on this issue, since the various goodies you need to update in RH9 with 2.4 to get 2.6 running seem backward compatbile (e.g. new glibc and its fellows, module-init-tools) I thoiught it would be handy to have a /etc/rc.d/rc.sysint and /etc/rc.d/init.d/halt that would do the right 4 or 5 things for either kerenl, so I made one. You can get them here. It seems to work for me between 2.4.25 and 2.6.6 but of course use at your own risk.