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.
Free Guide: Linux from Scratch
Linux from Scratch describes the process of creating your own Linux system from scratch from an already installed Linux distribution, using nothing but the source code of software that you need.
This 318 page eBook provides readers with the background and instruction to design and build custom Linux systems. The resulting system will be compiled completely from the source code, and the user will be able to specify where, why, and how programs are installed. This eBook allows readers to fully customize Linux systems to their own needs and allows users more control over their system.
Click Here to receive the Linux from Scratch Guide absolutely free.
I understand that initrg.img is a temporary file system that linux uses at the beginning to load up all the hardware modules.
I also understand that the kernel vmlinuz which is usually a symbolic link to another file i.e. vmlinuz-huge-smp.2.6.29.6-smp file, image is the actual kernel, the core of system.
So after you boot up your computer, POST occurs, then the bootloader, then depending on which boot is selected, the kernel gets loaded, which then allows for the initrd.img to be run so that all the hardware modules can be loaded.
I just did a pxe boot where you need the initrd.img.
However, I noticed in my current slackware installation, that my lilo.conf only lists the kernel vmlinuz and makes no mention for initrd.img. How come in this case, I do not need initrd.img to boot up?
Is it because the kernel vmlinuz has been compiled to include those hardware modules already and does not need a temporary file system to boot them up?
I understand that vmlinuz can't possible hold all the hardware modules, else the file would be too big.
But maybe after the installation of a linux distro to a hard disk, the kernel vmlinuz gets recompiled to include all the hardware modules therefore making the kernel vmlinuz file huge. However size would not matter in this case cause it's installed on the hard disk.
Is this why initrd.img is not in my lilo.conf file for my current installation?
I'd like to understand vmlinuz and initrd.img some more.
How come in this case, I do not need initrd.img to boot up?
Is it because the kernel vmlinuz has been compiled to include those hardware modules already and does not need a temporary file system to boot them up?
Is this why initrd.img is not in my lilo.conf file for my current installation?
right, 'cause you're using the "huge" kernel
Quote:
But maybe after the installation of a linux distro to a hard disk, the kernel vmlinuz gets recompiled to include all the hardware modules therefore making the kernel vmlinuz file huge.
you can select the generic kernel, which requires an initrd, or the huge kernel, with most stuff built in, at install
So why not just choose the huge kernel off the bat? Is it cause it gets loaded into RAM, if the the computer does not have enough ram it would have to use initrd?
Most people don't need most of the stuff that's built into the huge kernel. Some like to keep everything as modules rather than compiled in. If you don't have drivers built in for your root filesystem(and the drive it's on, I think), you'll need the initrd.
I like to compile in the stuff I always need(root FS, hardware that isn't going to change) and keep stuff I don't always use(usb mass storage, ntfs) as modules; it's just a matter of preference. I don't know if there's any performance advantage to using/not using a ramdisk.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.