home | list info | list archive | date index | thread index

Re: [Bulk] Re: [OCLUG-Tech] Need advice from kernel hackers !

Thanks Brad;
On Sat, 2007-12-15 at 16:16 -0500, Bart Trojanowski wrote:
> * William Case <billlinux [ at ] rogers [ dot ] com> [071215 15:52]:
> > I am about to do a fresh install of Fedora 8.  I want to begin exploring
> > the kernel so if I need new partitions etc. now would be a good time to
> > set up properly.
> 
> You don't need separate partitions if you are just swapping a kernel
> with one that is relatively close to it.  You can run just about any
> 2.6.x kernel with the same modern userspace (such as FC8).
> 
My poor wording.  I know how to fresh install.  But I thought I should
install (copy?) a second separate kernel to play with but not get mixed
up with my working kernel.


>         ls /boot/vmlinuz* | wc -l
>         18
> 
> I seem to have 18 of them.
> 
> > I need some advice on how to set up so that I can:
> > 1) download a separate kernel -- binary, source and documentation.
> 
> I don't use (and avoid) rpm based systems, but you should be able to
> install a different kernel using rpm/yum.  You would then select the
> right one using grub (or another boot loader) at boot time.
> 
> > 2) have access to it from my home directory -- if possible.
> 
> You want to have the files in $HOME ?  Well that's not really how linux
> distros are setup to boot.

I was hoping (maybe its not necessary) to keep my play kernel separate
and not really have to boot it.  But then what do I know.
> 
> You can however build the kernel in your $HOME dir and install it in the
> system directories (/boot and /lib/modules/).  You probably want to use
> git.
> 
> > 3) trace various trees -- operations from first mention of symbol to
> > end.
> 
> So you want source, not binaries?

This is a new place for me; maybe I don't need a second set of binaries?
> 
> Let me recommend git.
> 
> > 4) make sure anything I might do does not screw up my existing system.
> 
> Use virtualization or another harddisk.
> 
> If you have a modern CPU, you should get a kernel that supports KVM and
> run another distro inside a virtual machine.  You can then hack up the
> virtualized kernel and not worry about breaking things.

Ah! That's what I want.  My cpu is an AMD Athlon 64 x 2 Dual-Core.
> 
> See http://kvm.qumranet.com/ for more info.  Feel free to ask if you
> want some help on KVM.

I may need help to get started.  Since I don't need a new partition, my
project for today and tomorrow is to get F8 installed, updates
downloaded and my desktop rearranged.  I will add git and kvm.  Do you
have other tools to recommend for downloading while I am at it?
> 
> > The advice that I have found even on Linux Kernel Newbies seems to be
> > for hackers who are building drivers etc. as contributions (ie. using
> > git).  I just want to play and explore -- maybe viewing C and some asm.
> 
> You want to use git, even if you just view the source.
> 
> Here is how you build a kernel:
> 
>         # I assume that you have build tools installed, if not something
>         # like this will cure it
>         #  - substitute apt with your favorite method of getting packages
>         apt-get install build-essential
> 
>         # get the git software:
>         #  - again, substitute apt with your favorite method of getting packages
>         apt-get install git-core                
> 
>         # get the linux kernel
>         git clone git://git2.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
>         cd linux-2.6
> 
>         # checkout the last release (or any release you want)
>         git reset --hard v2.6.23
> 
>         # get the config file from the running kernel:
>         zcat /proc/config.gz > .config
> 
>         # configure the kernel
>         #  - note many questions are answered from the .config file above
>         #  - you can use any of the following
>         make oldconfig          # text based
>         make menuconfig         # curses based
>         make xconfig            # X based
> 
>         # build the kernel
>         make bzImage modules
> 
>         # install the kernel
>         make modules-install install
> 
>         # build a new initramfs for the kernel
>         #  - substitute the <new version> with the version you just built, or with "all"
>         update-initramfs -c -k <new version>
>         
>         # get grub to see the new kernel
>         update-grub
> 
>         # reboot
> 
Are these build instructions above for the Fedora install or are they
for my extra play kernel?

> Please note that the update-* tools above are Debian specific.  The
> actual build steps are distro agnostic.
> 
Understand.  I will probably be going to Debian in the future but for
now I have other fish to fry as it were and would rather stay with the
familiar Fedora.

-- 
Regards Bill