CS 401/CS 746
(Linux) Kernel Programming

Spring 2016


Exercise #1
The aim of this exercise is to setup a machine for kernel programming and to get familiar with the kernel compilation and installation procedure.

Tasks
  1. Setup a machine or a virtual machine to be used for the kernel programming course.
    If you have a single work machine, I would recommend installing a virtual machine on your laptop/desktop. The VM can then become your playground for kernel programming.
    Candidates for VMs are kvm, virtualbox and maybe xen and vmware.
    If you choose to operate with a VM based setup, the first step is to create and start a virtual machine.
    Note, the VM will need network connectivity with the outside world and possibly access to shared storage (at least with the host machine).
  2. Once a machine or a virtual machine is setup, the next step is to download the Linux kernel source, build it and use it as a separate installation.
    • Where do i get the kernel source?
      kernel.org
    • Which kernel version?
      4.3.3
  3. Complete the installation by adding the compiled version of the kernel to the bootloader (grub, or lilo etc.).
    What is the installation (build = compile + install) procedure?
    1. Get source
    2. Extract source archive (to local or in some home directory)
    3. Install development tools and configure kernel
    4. Compile and install the kernel
    5. Update boot loader
    6. Reboot and select your kernel. Welcome to compiled-and-installed-a-kernel land.
    (reference links for details of this procedure are list below.)
Due date: 8th January 2016, Friday (in class)

Reference links: