You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

Debian Installation Howto

Posted by Keith Elder | Posted in Howtos, Linux, Open Source | Posted on 24-04-2001

Debian isn’t for everyone (before you get to excited)


The following document describes a typical install process for Debian Linux. Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.

This document is not written at a “beginner” level and is not intended to assist users who want to learn Linux. It is tailored towards a more experienced Linux user who wishes to give Debian a try. The document also covers a lot of material which is not very well documented on the Debian web site. Let’s get started.

It is a harder install.

Debian isn’t for the faint of heart. It has a fairly advanced text based install that could scare even a more advanced Linux user. A quick overview of what makes this install different from the rest:

  • Choose your modules: Debian lets you install all of your device modules during the install
  • Network install: Most Debian users install via HTTP, thus a network setup is in order
  • Confusing flow: Sometimes new Debian users get confused at how the install flow works. There are optional steps, and no straight forward “Next, Next, Next, …” processes.


If you have a 56K connection or less we recommend using the standard CDROM install. Installing Debian on ISDN can even be a painful process. On the other hand those of us with Cable, DSL, T1, OC, etc. are sitting pretty and will have the latest greatest Debian system with each apt-get.

Where is the GUI install?

The “true” Debian GNU/Linux does not come with a GUI installer, however, there are a few other projects out there that do offer GUI installers.

However, this is a rather small list that mainly only concerns the install process. If you can get Debian installed you are in for a slice of Linux heaven.


What makes Debian better?

apt-get == heaven

apt-get is Debian’s main package maintenence utility. There are a few others that you might use, such as dpkg and dselect. What apt-get does is it builds a “package list” of all avaiable packages in the “tree” and then sits around waiting for you to call it into action. Let’s say I want gaim (an AIM client) installed – just type “apt-get install gaim”. Not only does apt-get go and grab gaim, but it grabs any “dependencies” and installs everything nicely. Anyone who has ever tried to rpm -Uvh will appreciate this feature. For those of you who have used *BSD it’s much like the /usr/ports directory.

Don’t Compile that Kernel!

Debian users like to say there’s the “hard way” and the “Debian way”. Compiling the kernel is one of those things that can be done the “Debian way”. You’ll want to “apt-get install kernel-package” and read up on the commands in /usr/doc, but in the end installing your kernel will be as easy as 1 2 3 – make menuconfig, use the debian utils to compile the kernel, and dpkg –install it! What’s cool about this is that you can then pass out your kernels to your friends in a nice little debian package.

Packages are built by the best

The debian packages in the “official” trees are maintained by the best in the business. Therefore you know that security holes, scripts, etc. will all be built and created with the utmost care. All packages have a common setup to them as well. All conf files go in /etc/[package name] or just /etc if it’s just one file, the init scripts are installed in /etc/init.d where they belong, and bin files are put in their respective bin or sbin directories.

Upgrade your entire system each day!

Are you the type of person who wants your system to bleeding edge at all times? Then debian is for you. To quickly and painlessly upgrade every package on your system. Here’s how:

apt-get update && apt-get dist-upgrade

In a few minutes, depending how many packages and how fast your connection is, you’ll have the latest greatest Debian system on your box.


Obtaining Debian

Generally there are two ways most Debian users install Debian. The most popular by far is actually via floppy. Installing via floppy allows us to take advantage of debian’s package manager via the network. After booting via a floppy the user can simply load the network driver and then complete the install from the network (either of the following protocals can be chosen: http, ftp or nfs).

Another way of obtaining Debian is to either buy it already burned from an ISO or download the ISO.

We are going to cover the floppy install on this installation in more detail for the following reasons:

  • We don’t have a CD
  • We have a high speed Internet connection (let’s use it)
  • This is the most popular way among Debian users
  • Alot of people may get more mileage out of this
  • Installing from CD is the same, only quicker

Download the following set of 1.44MB formatted .bin files and utility:
rawrite2.exe (used in windows)

Making the disk

In Windows:
Start a MSDOS Prompt (it is in your menu I promise). Use rawrite2.exe to image the .bin files to a floppy disk. The disk should be a preformatted dos/windows disk. Rawrite2.exe will prompt you for commands, simply do what it say!

In Linux:
bash$: dd if=filename of=/dev/fd0

Local Debian Mirrors:
Univ. of Chicago
EECS of Umich

The install

Now we have all of our floppy disk made we are ready to do the install.

Disk one = Rescue.bin
Most rookie Debian users normally make the mistake of using the “root.bin” disk as their boot disk. As you will quickly find out, this is WRONG! The resuce.bin disk is actually used as the first disk for which you boot your system. As most normal Linux installations, you will be prompted with a boot prompt. Press <enter>.

Disk two = Root.bin
The rescue.bin disk will boot and then you will be prompted to insert the root.bin disk.

Let the games begin!
Once the installer loads the rescue.bin and the root.bin disk, you will be prompted with a screen. Simply choose “Continue”. Our next screen is the Debian GNU/Linux Installation Main Menu. We are not going to walk you through each and every menu as we are going to rely on your brain power a little. However, we will touch on the areas where users tend to go wrong and those areas that are a little less intuitive.

After you have partitioned your drive you will be prompted with several choices in a menu. If you re-partitioned your entire drive choose “Next: Initialize and Activate a Swap Partition”, otherwise, choose the “Alternate: Activate a Previously-Initialized Swap Partition”. Note: Initialize means format for those of you that are Windows users. Follow the same step in Initializing your Linux Partitions.

Installing the kernel and choosing your modules
You will need both the rescue disk and the driver disks when you get to this point. Choose /dev/fd0 (aka “first floppy drive”) and then follow the on screen instructions to load the kernel and modules. The next step will be to choose which modules you want loaded. You MUST load the module for your network card. Here are some common cards and their respective modules:

Chipset Module
NE2000 PCI ne2k-pci
3COM 3c59x 3c59x
DEC Tulip tulip
SMC PCI (normally) rtl8139

You can also install modules for sound cards, tv cards (ie the bttv848 card), etc. while you are at it. Some of your hardware might be detected by default within the Debian kernel that comes on the rescue floppy, for example 3ware IDE raid controllers, ATAPI cdroms, and some popular SCSI cards are detected by default.

Configure the Network (VERY important!)
After the module for the network card is loaded, we can then start to configure our network settings. Exit the modules menu and you will not be prompted to configure you network. Choose configure the network option from the menu. First start by entering a hostname (miester names his after X-Men, zorka uses music related terms). Then you need to either chose to go DHCP or use a static address. We’ll be using DHCP since we are behind a firewall with a DHCP server running. DHCP configures itself, and if your server is up and running all you’ll have to do is choose “Yes” here. To go static you will have to enter in a valid ip address, network mask, gateway, domain, and DNS servers.

Installing the base system
You will want to choose to install the base system from “network”. Then hit OK on the next screen, and again OK on the screen that lets you choose the server – leave it as it is. You should then have a progress bar as you install the base system!

Configuring the base system
Choose your timezone and set the hardware clock.

Installing lilo and restarting
Install LiLo to the MBR (which is the default choice), and skip the boot floppy. Reboot the system. Once you have rebooted the system you don’t have a full working distro, just a bare minimal install. The next step is to choose the package groups you want installed.

Once you have rebooted
The following are screens you will be prompted with, these are our recomendations:

  • Enable md5 passwords and shadow all passwords, and hit OK on both of these screens
  • Set up your root account (choose your password wisely!).
  • Create a normal account as well.
  • Remove PCMCIA packages if this isn’t a laptop.
  • Select “No” to install the system via PPP connection – unless you are using a dialup, in which case you shouldn’t be installing Debian from the network!
  • Choose “http” as apt’s method of accessing the Debian archive.
  • Enter “yes” when it asks to use non-US software, “yes” to non-free software, and “yes” to contrib software as well.
  • Choose the country that is closest to your mirror, follow that up by choosing your mirror (ftp.eecs.umich.edu is recommended for those of us in the Ann Arbor area).
  • Hit “Ok” when it asks for proxie information.
  • Select “No” when it asks for additional sources.
  • Use the “simple” method for installing software.
  • Next, go through and select the taskpackages you wish to install. Remember to choose the last two, which are the X Window System.
  • At the time of this writing we recommend that you don’t configure X using anXious – choose “No” here.

After that it will ask you to get the base.

After you have installed everything and answered all of the questions that the various packages will ask you (debians packaging sytem asks configuration questions during the install phase) you might want to upgrade to the latest “tree” of Debian. The latest tree is currently “sid”. Below is an example /etc/apt/sources.list that uses the sid tree.

 # this is the sid tree - the most up to date, bleeding edge tree you can run! deb http://debian.uchicago.edu/debian sid main contrib non-free deb http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free ## LJ Lane DEB's #deb http://people.debian.org/~ljlane/downloads e17/ ## for helix gnome #deb http://spidermonkey.ximian.com/distributions/debian unstable main # Uncomment if you want the apt-get source function to work #deb-src http://http.us.debian.org/debian stable main contrib non-free #deb-src http://http.us.debian.org/debian-non-US stable non-US # for cdroms #deb cdrom:[Debian GNU/Linux 2.2 r0 _Potato_ - Official i386 Binary-1 (20000814)]/ unstable con trib main non-US/contrib non-US/main 

Remember to issue an apt-get update before doing an apt-get install or apt-get dist-upgrade. Say “Yes” to deleting the deb files – no need to eat up harddrive space with them. After that you get to log into your box! Once you have logged in we recommend you use the sources.list above and run apt-get update && apt-get dist-upgrade. This will basically update every package on your system to the latest greatest. A lot of packages may not be there that you use often – merely use the howto below to install your favorite applications. An average simple install uses about 250MB of space.

Note: You’ll notice that all the different version of Debian have funny names. This is because they follow the naming scheme of “The Toy Story.”

Where are the RPM’s?

Debian uses it’s own package format and it’s own separate set of tools to manage the packages on your system. The main package management programs are dpkg, apt-get, and dselect. Here is a simple breakdown of how installing a program on Debian is different than installing one on a RPM based distro.

Let’s install everybuddy (a popular IM client):


On Debian On an RPM distro
  • apt-get update – updates your package list with the package database
  • apt-cache search everybuddy – this allows you to search and find the actual name of the packages
  • apt-get install everybuddy – installs the everybuddy program and any dependencies the package everybuddy might have (and all the dependencies those dependencies might have)
  • Go to http://www.rpmfind.net – search for everybuddy
  • Find a compatible RPM of everybuddy for your distro and architecture
  • rpm -Uvh everybuddy.rpm
  • When it fails on an invalid GTK version, etc. go back to http://www.rpmfind.net and search for the broken dependencies.
  • rpm -Uvh gtk.rpm
  • When that fails because you are missing some other dependency repeat the above process.
  • Eventually you give up and come here to find out how to install Debian.

Disclaimer: sometimes it’s not this bad, but if you’ve ever tried to install everything from RPM packages you most likely know what we are talking about The basic premise of Debian is the fact that there aren’t any pretty installers for your various programs. Therefore, we must re-iterate the fact that Debian is not for every user. Debian must be configured from simply editing files by hand. The trick is knowing where they are (more on that below). The deb packages usually come ready to rumble, but X and other programs require a little more knowledge. For you RedHat fans Linuxconf isn’t installed by default, but can be installed using apt-get install linuxconf

By far, Debian strengths overcome its weaknesses. In the not so distant future Debian will have a prettier GUI based install but at this time we sad to say it lacking in that arena. However, it’s strength is the ability to update, install, and configure any new package you wish to install.

Where are the System V scripts?!?
You may notice that they aren’t in /etc/rc.d anymore, instead they are in /etc/init.d – all daemons installed using apt-get will have a init script here and have the same basic usage.

Configuring the network
You will want to look into the file /etc/network/interfaces if you need to add/edit interfaces. Afterwards you will want to restart the networking by typing /etc/init.d/network restart

Configuring X
Configuring X can be pretty tricky sometimes with Debian. Mostly it is tricky when moving from X3 to X4 as not all of the packages are preselected (apt-get only selects dependencies). We recommend to upgrade your Debian distro to the latest version (sid) and then install the following packages:

apt-get install xserver-xfree86 xbase-clients xfree86-common freefont sawmill-gnome xfstt

Once these packages are installed use xf86config to configure X for your video card.

I’m lost!
That’s fine – every package installs example config files, README’s, etc. into /usr/doc/[package name]. Look in there for more information on your packages!

Comments (2)

“This document is not written at a “beginner” level and is not intended to assist users who want to learn Linux. It is taylored towards a more experienced Linux user who wishes to give Debian a try.”

The “Elder” would be worthy of greater praise if he were to understand the not-so-subtle difference between “taylored” and “tailored”.



A Seven Year Blogger Recounts His Blogging History

Write a comment