public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Canek Peláez Valdés" <caneko@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: [gentoo-user] kerninst (was Optional /usr merge in Gentoo)
Date: Sun, 1 Sep 2013 12:30:59 -0500	[thread overview]
Message-ID: <CADPrc81A19weSNJ+b3JmgKf7np36jhTWwX0q8jj88RFr974Xcw@mail.gmail.com> (raw)

I am following vanilla-sources in all my machines, which is what
people like Greg Kroah-Hartman actually recommends [1][2]. Since they
are now never stabilized [3], this means that I need to update them
pretty regularly to keep them safe.

This implies that I have to change the /usr/src/linux symbolic link,
configure the kernel using make oldconfig, compile it, install it,
install its modules, reemerge any package that provides kernel modules
(if any), regenerate its initramfs, regenerate the GRUB2 config file
OR adding a new entry in GRUB.

None of this steps are particularly difficult, but any mistake in one
of them can result in an unbootable system. So I wrote a little script
that takes care of each of this steps automagically:

https://github.com/canek-pelaez/kerninst

So now everytime I need to use a new kernel version, I only do:

# eselect kernel set <new-kernel>
# kerninst

Everything is done by the script.

The script is 167 lines of Bash, and I think is pretty easy to follow
what it does. Any of the steps can be called individually, and I have
been using it in all of my machines without any problem. It works with
both GRUB and GRUB2, generating a very simple GRUB config file for
every image available in /boot, with corresponding inird line if
availabe.

WARNINGS

• If /usr/src/linux points to /usr/src/linux-3.10.10, then the script
deletes /boot vmlinuz-3.10.10, /boot/initrd-3.10.10 *and*
/lib/modules/3.10.10.
• The script *WILL* overwrite your GRUB/GRUB2 configuration file, so
make a copy before trying it.
• The script requires a valid kernel .config file which will be copied
into /usrc/src/linux, and then used to configure the kernel with:

      yes "" | make oldconfig

   Some people recommend not doing this, and it can stall if a new
option for the kernel requires an answer with no default value.
• The script only supports dracut, but adding genkernel (or any other
initramfs maker) should be easy. Patches accepted. Dracut should be
already configured.
• I have only tested it with vanilla-sources, but probably will work
with other *-sources packages.

I have been using it in all of my machines for some days now, and it
works for me; but I take no responsibility if it breaks your machine,
or if it kills your dog.

Regards.

[1] http://article.gmane.org/gmane.linux.gentoo.devel/86496
[2] http://article.gmane.org/gmane.linux.gentoo.devel/86506
[3] http://article.gmane.org/gmane.linux.gentoo.devel/87015
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México


             reply	other threads:[~2013-09-01 17:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-01 17:30 Canek Peláez Valdés [this message]
2013-09-01 18:01 ` [gentoo-user] kerninst (was Optional /usr merge in Gentoo) Stefan G. Weichinger
2013-09-01 18:16   ` Canek Peláez Valdés
2013-09-01 18:29     ` Stefan G. Weichinger
2013-09-03 15:01 ` Douglas J Hunley
2013-09-03 16:19   ` Canek Peláez Valdés
2013-09-03 16:34     ` Douglas J Hunley
2013-09-03 18:38       ` Stefan G. Weichinger
2013-09-03 18:40         ` Canek Peláez Valdés
2013-10-02 11:48 ` Stefan G. Weichinger
2013-10-02 16:02   ` Canek Peláez Valdés
2013-10-09 15:14     ` Stefan G. Weichinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADPrc81A19weSNJ+b3JmgKf7np36jhTWwX0q8jj88RFr974Xcw@mail.gmail.com \
    --to=caneko@gmail.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox