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,
lately I compiled the 2.6.35 kernel and met the following problem: the kernel I get it is a generic kernel so I have two generic kernels. I want to have a possibility to boot both kernels: the new and the old one. I cannot resolve the problem of a creating initrd as mkinitrd run for the new kernel would overwrite the initrd.gz generated for the old kernel. So , I make a new directory where I put this new kernel. Is there a way to have both kernels together in /boot ?
Click here to see the post LQ members have rated as the most helpful post in this thread.
When mkinitrd runs, it creates or re-uses a directory called /boot/initrd-tree, adds stuff there and finally wraps that directory into an initrd.gz file.
You have two opttions if you want to use a second generic kernel:
You can either omit the "-c" parameter to mkinitrd which is the way to use the pre-existing /boot/initrd-tree. Nothing that was already in there (the kernel modules for your first generic kernel!) will be removed and the modules for your new generic kernel will be added. Then, you can use the same initrd.gz file for both kernels in /etc/lilo.conf.
Or, you create an entirely new initrd.gz - with a new name. There is no rule against having more than one initrd file! You do that by adding the parameter "-o /boot/mynew_initrd.gz" to the mkinitrd command which will create the initrd file with that name, and then add a line "initrd = /boot/mynew_initrd.gz" to the section of /etc/lilo.conf where you configure your new kernel. The original /boot/initrd.gz file will be untouched.
Thank's. I thought the similar way. But what about /boot/initrd-tree directory? Should I create another directory? These kernels are using different modules ( but with the same name).
Why this bother me? There are suggestions that it is good to have one small boot partition mounted on /boot. So all used kernels should be in /boot. But maybe I messed things..
With the "-s" option of mkinitrd you can specify an alternate directoryname to be used for creating the content of your initrd file. Something like "mkinitrd -s /boot/my-initrd-tree" will work fine.
And yes, you should copy your new kernel(s) into the /boot directory to keep things clean. Keep your initrd stuff in /boot as well.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.