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!
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 compiled a new kernel and I'm having some problems getting it to boot. My /boot/grub/menu.lst file looks like this:
Code:
GNU nano 1.3.9 File: menu.lst
default 0
timeout 30
splashimage=(hd0,2)/grub/splash.xpm.gz
title=Gentoo Linux
root (hd0,2)
kernel /kernel-genkernel-x86-2.6.15-gentoo-r5 root=/dev/ram0 init=/linuxrc ramd$
initrd /initramfs-genkernel-x86-2.6.15-gentoo-r5
title=Gentoo New Kernel
root (hd0,2)
kernel /vmlinuz-2.6.15-gentoo-r5 root=/dev/ram0 init=/linuxrc ramd$
initrd /initramfs-genkernel-x86-2.6.15-gentoo-r5
title=Windows XP
rootnoverify (hd0,0)
makeactive
chainloader +1
I've tried running it like this, and without an initrd at all. Either way this error occurs during the boot process:
Code:
kernel panic - not syncing : VFS : Unable to
mountroot fs on unknown block(0,)
I've tried running mkinitrd, but that is apparantly not a command in Gentoo, or maybe I need to emerge some package first.
Does anyone know (or have any ideas) about what the problem could be? There is always the distinct probablility that I configured the kernel wrong, it was my first try.
EDIT: SOLVED : I guess you should never ignore the obvious... emerge mkinitrd
Last edited by Aenima427; 03-25-2006 at 04:36 AM.
Reason: Solved
Unless you have some really odd-ball requirements, I've never understood why a Gentoo user compiling their own kernel would use an initrd.
It's your box, compile in what you need, lose everything else.
Like I said, just ensure everything you need to boot is compiled into the kernel, not modules. For most people this probably means ext2/3, maybe S-ATA support - a few other bits and pieces. You don't need to support everything on earth - just what you've got - and maybe what you plan on buying next.
Building kernels that break is all part of the deal when you do your own. So long as you keep (at least) the last known-working one so you have a fallback, it's just part of the learning process.
Once you get away from genkernel, there should generally be no need for an initrd. As always there will be exceptions.
Well, I created a new kernel using gentoo-sources...and it WORKS! I compiled everything into the kernel so I don't have an initrd. Strange thing is that it mounts my NTFS partition, but not my FAT32. I could've sworn that I included vfat. Now to get ndiswrapper working...
I recommend do not use genkernel. It is buggy. I recommend compiling the kernel yourself. Some software can be set as modules and others can not. I suggest ext2/3 be compiled as built-in and other filesystems be compiled as modules. SATA controllers can be set as modules, but you have to note the name to include it in the initrd file.
Gentoo does have the utility mkinitrd. It have to be emerged first. In order to use initrd files. You need to make sure ramdisk and initrd is set as built-in or else Linux will never boot up. You will also need to make a directory called /initrd.
Compiling everything as built-in is stupid. You are going to have trouble configuring some devices in the future. Also the kernel will take more memory than it should. There are several drivers that break or they do not work at all when set as built-in.
Gentoo kernel hints:
1) Disable any OSS and ALSA modules, but leave sound core as a module
2) Set PS/2 mouse as a module
3) Set ramdisk and initrd as built-in
4) Set EXT2 and EXT3 as built-in
5) Disable low-performance USB storage
6) Set loop devices as a module
7) Set PIIX as built-in
8) Set your IDE chipset as built-in
9) Set additional controllers as modules
10) Set UDF and NTFS write support as disable
*) Set everything else as modules if you think that you are going to need it in the future
I installed gentoo (did not use genkernel) in a VMWare image. I configured Grub and set the disk to Sda (sd1*, sd2 and sd3). When I rebooted I get the following error:
Boting Gentoo 2.6.15-gentoo-r1
root (sd0,0)
Error: Error while parsing number
I'm pretty sure if I can access my drive I can edit the grub.conf file but when I boot from a Cd I can't mount the partitions. I'm a noob so any help would be appreciated
Thanks for the tips Electro. Right now I'm just happy to have a working kernel that I built myself, from gentoo-sources I will definately be making tweaks as I grow more comfortable with it. My main goal right now is getting my wireless adapter to work, which I think I am very close to doing. I had the light flashing and the interface wlan0 showing up with the correct essid, but then I must have done something to make ndiswrapper mad...
I am also trying to get initrd working on my gentoo 2006.0 - and I need it because I cannont compile the needed module as a kernel module.
I have tried almost every option from mkinitrd to doing it all by hand - and everytime I get the dreaded "error 28 - wont fit in memory".
I have 4 gigs of memory - so I know I must be doing something wrong :-)
On the kernel line specify ramdisk=32000. This should work. I took this value from my old Mandrake 9.0 installation and set the ramdisk size of the kernel to 32000 for my Gentoo installation, so it always is set. Do not forget to make an /initrd directory or else ramdisk will never work.
I recommend only using 2 GB of memory because 896 MB is taken out form 4 GB of memory that gives you about 3.2 GB of RAM, so using 4 GB of RAM is a waste of money. It is not Linux fault. It is actually PAE fault. If you still want to do use 4 GB of RAM and Linux is still giving you problems even though you specify the ramdisk value, also specify ram=3.2GB.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.