[ previous ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]

Installing Debian GNU/Linux 2.2 For Intel x86
Chapter 8 Next Steps and Where to Go From Here


8.1 If You Are New to Unix

If you are new to Unix, you probably should go out and buy some books and do some reading. The Unix FAQ contains a number of references to books and Usenet news groups which should help you out. You can also take a look at the User-Friendly Unix FAQ.

Linux is an implementation of Unix. The Linux Documentation Project (LDP) collects a number of HOWTOs and online books relating to Linux. Most of these documents can be installed locally; just install the doc-linux-html package (HTML versions) or the doc-linux-text package (ASCII versions), then look in /usr/doc/HOWTO. International versions of the LDP HOWTOs are also available as Debian packages.

Information specific to Debian can be found below.


8.2 Orienting Yourself to Debian

Debian is a little different from other distributions. Even if you're familiar with Linux in other distributions, there are things you should know about Debian to help you to keep your system in a good, clean state. This chapter contains material to help you get oriented; it is not intended to be a tutorial for how to use Debian, but just a very brief glimpse of the system for the very rushed.

The most important concept to grasp is the Debian packaging system. In essence, large parts of your system should be considered under the control of the packaging system. These include:

For instance, if you replace /usr/bin/perl, that will work, but then if you upgrade your perl package, the file you put there will be replaced. Experts can get around this by putting packages on ``hold'' in dselect.


8.3 Reactivating DOS and Windows

After installing the base system and writing to the Master Boot Record, you will be able boot Linux, but probably nothing else. This depends what you have chosen during the installation. This chapter will describe how you can reactivate your old systems so that you can also boot your DOS or Windows again.

LILO is a boot manager with which you can also boot other operating systems than Linux, which complies to PC conventions. The boot manager is configured via /etc/lilo.conf file. Whenever you edited this file you have to run lilo afterwards. The reason for this is that the changes will take place only when you call the program.

Important parts of the lilo.conf file are the lines containing the image and other keywords, as well as the lines following those. They can be used to describe a system which can be booted by LILO. Such a system can include a kernel (image), a root partition, additional kernel parameters, etc. as well as a configuration to boot another, non-Linux (other) operating system. These keywords can also be used more than once. The ordering of these systems within the configuration file is important because it determines which system will be booted automatically after, for instance, a timeout (delay) presuming LILO wasn't stopped by pressing the shift-key.

After a fresh install of Debian, just the current system is configured for booting with LILO. If you want to boot another Linux kernel, you have to edit the configuration file /etc/lilo.conf to add the following lines:

     image=/boot/vmlinuz.new
       label=new
       append="mcd=0x320,11"
       read-only

For a basic setup just the first two lines are necessary. If you want to know more about the other two options please have a look at the LILO documentation. This can be found in /usr/share/doc/lilo/. The file which should be read is Manual.txt. To have a quicker start into the world of booting a system you can also look at the LILO manpages lilo.conf(5) for an overview of configuration keywords and lilo(8) for description of the installation of the new configuration into the boot sector.

Notice that there are other boot loaders available in Debian GNU/Linux, such as GRUB (in grub package), CHOS (in chos package), Extended-IPL (in extipl package), loadlin (in loadlin package) etc.


8.4 Further Reading and Information

If you need information about a particular program, you should first try man program, or info program.

There is lots of useful documentation in /usr/doc as well. In particular, /usr/doc/HOWTO and /usr/doc/FAQ contain lots of interesting information.

The Debian web site contains a large quantity of documentation about Debian. In particular, see the Debian FAQ and the Debian Mailing List Archives. The Debian community is self-supporting; to subscribe to one or more of the Debian mailing lists, see the Mail List Subscription page.


8.5 Compiling a New Kernel

Why would someone want to compile a new kernel? It is often not necessary since the default kernel shipped with Debian handles most configurations. However, it is useful to compile a new kernel in order to:

Don't be afraid to try compiling the kernel. It's fun and profitable.

To compile a kernel the Debian way, you need some packages: kernel-package, kernel-source-2.2.19 (the most recent version at the time of this writing), fakeroot and a few others which are probably already installed (see /usr/share/doc/kernel-package/README.gz for the complete list).

Note that you don't have to compile your kernel the ``Debian way''; but we find that using the packaging system to manage your kernel is actually safer and easier. In fact, you can get your kernel sources right from Linus instead of kernel-source-2.2.19, yet still use the kernel-package compilation method.

Note that you'll find complete documentation on using kernel-package under /usr/share/doc/kernel-package. This section just contains a brief tutorial.

Hereafter, we'll assume your kernel source will be located in /usr/local/src and that your kernel version is 2.2.19. As root, create a directory under /usr/local/src and change the owner of that directory to your normal non-root account. As your normal non-root account, change your directory to where you want to unpack the kernel sources (cd /usr/local/src), extract the kernel sources (tar xIf /usr/src/kernel-source-2.2.19.tar.bz2), change your directory to it (cd kernel-source-2.2.19/). Now, you can configure your kernel. Run make xconfig if X11 is installed, configured and being run, make menuconfig otherwise (you'll need ncurses-dev installed). Take the time to read the online help and choose carefully. When in doubt, it is typically better to include the device driver (the software which manages hardware peripherals, such as Ethernet cards, SCSI controllers, and so on) you are unsure about. Be careful: other options, not related to a specific hardware, should be left at the default value if you do not understand them. Do not forget to select ``Kernel module loader'' in ``Loadable module support'' (it is not selected by default). If not included, your Debian installation will experience problems.

Clean the source tree and reset the kernel-package parameters. To do that, do make-kpkg clean.

Now, compile the kernel: fakeroot make-kpkg --revision=custom.1.0 kernel_image. The version number of ``1.0'' can be changed at will; this is just a version number that you will use to track your kernel builds. Likewise, you can put any word you like in place of ``custom'' (e.g., a host name). Kernel compilation may take quite a while, depending on the power of your machine.

If you require PCMCIA support, you'll also need to install the pcmcia-source package. Unpack the gzipped tar file as root in the directory /usr/src (it's important that modules are found where they are expected to be found, namely, /usr/src/modules). Then, as root, do make-kpkg modules_image.

Once the compilation is complete, you can install your custom kernel like any package. As root, do dpkg -i ../kernel-image-2.2.19-subarch_custom.1.0_i386.deb. The subarch part is an optional sub-architecture, such as ``i586'', depending on what kernel options you set. dpkg -i kernel-image... will install the kernel, along with some other nice supporting files. For instance, the System.map will be properly installed (helpful for debugging kernel problems), and /boot/config-2.2.19 will be installed, containing your current configuration set. Your new kernel-image-2.2.19 package is also clever enough to automatically use you're platform's boot-loader to run an update on the booting, allowing you to boot without re-running the boot loader. If you have created a modules package, e.g., if you have PCMCIA, you'll need to install that package as well.

It is time to reboot the system: read carefully any warning that the above step may have produced, then shutdown -r now.

For more information on kernel-package, read documentation in /usr/doc/kernel-package.


[ previous ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]
Installing Debian GNU/Linux 2.2 For Intel x86
version 2.2.26, 12 June, 2001
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo