public inbox for speakup@linux-speakup.org
 help / color / mirror / Atom feed
From: "Doug Sutherland" <doug@proficio.ca>
To: "Speakup is a screen review system for Linux." <speakup@braille.uwo.ca>
Subject: Re: moving from amd to p3?
Date: Sat, 16 Jun 2007 19:27:57 -0500	[thread overview]
Message-ID: <002d01c7b076$5a9ff390$ab00a8c0@tenstac> (raw)
In-Reply-To: <007901c7b065$01102810$9501a8c0@yellobow>

The kernel is easy to compile, although it seems daunting when
you first do it. Configuring the kernel, selecting which drivers to
include and such is actually more tedious than the compilation.

If you google for "linux kernel compilation" you'll find lots of 
FAQs and articles. There are minor differences in compiling 
2.4 and 2.6 kernels, and depending on the linux distro the 
final steps of updating the bootloader may be different, but in
a nutshell it goes something like:

download kernel source tarball usually from kernel.org
ftp ftp.kernel.org then go to pub/linux/kernel and pick the 
version you want, put it in /usr/src/linux and extract it there.

There will be a symbolic link of /usr/src/linux to the kernel 
version you have, need to update that if changing to new 
kernel, so for example

rm /usr/src/linux
ln -s /usr/src/linux-2.6.21.5 /usr/src/linux

This make /usr/src/linux a link to the specific kernel. You 
would normally leave your older version kernel there in case
the new one doesn't work.

Before you begin, do this to save your old .config 
and make sure you have a clean source tree

cd /usr/src/linux
cp .config .config.SAVE
make mrproper

If you were installing speakup, at this point you would do 
the speakup patching of the kernel source.

Then you configure the kernel, most people do
make menuconfig 
which is ncurses menu based, but you can also do
make config
which is interactive text

If you want to configure using your old configuration
as a start and just change a few things, you can do
make oldconfig

This creates the .config file which the kernal makefile
uses to determine which drivers to include when building
the kernel, which are statically built into the kernel, which
are buit as loadable modules, and possibly setting some 
kernel parameters for some drivers.

Once the kernel is configured, you simply build it:

make dep
make clean
make bzImage
make modules

That all takes quite a while, once complete you copy the 
compiled kernel to the boot location

cp /usr/src/linux/arch/i386/boot/bzImage /boot

Then install the modules
make modules_install

Finally update the bootloader to use the new kernel. 
This depends on the distro since some use lilo and 
others use grub etc. For example, on slackware, it
uses lilo, so I would edit lilo.conf and add a new 
entry for the new kernel then run lilo -v to update 
the bootloader. You always want to leave your old
kernel there, both the kernel itself and the entry in 
the bootloader, in case the new kernel won't boot, 
you need to be able to boot the new.

That's it in a nutshell. There are lots of docs on the 
web for more detailed info.

Scott said:
What if you don't know how to compile a kernel


  parent reply	other threads:[~ UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
 Littlefield, Tyler
 ` Doug Sutherland
   ` Scott Berry
     ` Littlefield, Tyler
       ` Doug Sutherland
         ` Littlefield, Tyler
     ` Doug Sutherland [this message]
       ` Gregory Nowak
         ` Doug Sutherland
           ` Gregory Nowak
             ` Doug Sutherland
               ` Gregory Nowak
           ` Scott Berry
             ` Doug Sutherland
               ` Gregory Nowak
                 ` Doug Sutherland
           ` Littlefield, Tyler

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='002d01c7b076$5a9ff390$ab00a8c0@tenstac' \
    --to=doug@proficio.ca \
    --cc=speakup@braille.uwo.ca \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).