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.
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
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.