New User's Guide to Linux

by Brian Thurston

As a Linux 'new user', I can empathize with anybody wishing to experiment with Linux before dedicating any resources. If you wish to try Linux without spending a dime, this is the document for you.

I recommend starting with a basic Slackware 3.4 installation which is freely available on the Internet. You will require ~35 megabytes of space on your DOS hard drive to download the required files for a basic installation.

Also required is an additional ~100 megabytes of non-DOS space to install the Linux operating system and a collection of helpful applications and utilities.

The required hardware for a basic installation of Linux:

Optional additions:

Large IDE Hard Drive Note:

Many older 386/486 motherboards are unable to correctly install +512 megabyte hard drives without a tiny driver hidden in the master boot record (MBR). These drivers are not truly compatible with Linux.

Late model 486 motherboards and newer have a BIOS option called LBA which enables +512 megabyte hard drives to be recognized and used by standard 16-bit BIOS calls.

A desperation solution is to take the BIOS defaults and lose some capacity. Were you to have a 540 megabyte Western Digital IDE hard drive (many of these were produced, and they are a quality, long-lived product) and you want to install it on your older 386DX 33Mhz motherboard without the benefit of the LBA BIOS option, you will lose ~8 megabytes of storage but Linux will install without difficulty (other problems notwithstanding).

Please note that this is 'a way', not 'the only way' to install a basic Linux system.

What you should know and record before you start:

Write this information down and keep it handy.

Think up a simple name for your computer; this is your 'HOSTNAME'.


3-12 characters preferable
First character must be a letter

Think up a simple name for your 'domain'. This will be the name of your home network, even if your network is only one computer. Do not use your ISP's domain name; make up one of your own.


If you selected 'chaos' as your HOSTNAME and '' as your domain, your computer's FQDN (Fully Qualified Domain Name) would be ''. If your login name is 'charlie', then you would be '' when logged in to your computer.

Write your choices down and keep them handy.

Let us begin by downloading some basic Linux files.

(Slackware 3.4 - Kernel 2.0.30)

Create a DOS directory on your computer and call it '\Linux\'.
Create 3 subdirectories called '\Install\', '\Docs\' and '\Slakware\'.
The '\Slakware\' directory will have a number of subdirectories but they will be created during the FTP download. (Note the spelling of the directory 'Slakware')

Late at night, connect to '' on the Internet. (Slackware's home site)

When connected to '', move to the '/pub/linux/slackware-3.4/' directory.

If '' is too slow, try ''.
This is the home of many Linux distributions.

If connected to '', move to the '/pub/Linux/distributions/slackware/' directory.

You will be presented with a number of subdirectories such as 'Bootdsks.144', 'Rootdsks', 'Docs' and 'Slakware'. These are the important directories for our purposes. Notice how they all feature the DOS 8.3 file name convention.

Start by downloading some helpful documents. You will find a file called 'INSTALL.TXT' in the main 'Slackware' directory. Download it to your DOS '\Docs\' directory. This is an installation HowTO text file.

Go to the '/docs/install-guide/' directory and download 'install-guide- 2.2.2.txt' to your DOS '\Docs\' directory. Rename it 'guide.txt' for the purpose of telling the two files apart. This is a beginner's manual on Linux, including installation.

I recommend the 'txt' version over the other formats because they are virtually unreadable in the DOS world and may only be useable on an installed 'Unix-like' system. The fact that it is a document telling you how to install and run Linux and is only readable in Linux never fails to amuse me. It is a great book so format it and print it out. You will read it cover to cover many times when you have it in your hands.

You now have 'guide.txt' and 'install.txt' on your hard drive. Both documents are written by Matt Welsh and while there is some overlap, they are an excellent source of information for the new user. 'guide.txt' is a great starter book on Linux while 'install.txt' is about installation and basic configuration.

Next download the disc images; they are called 'Bare.i' from '/Bootdsks.144/' and 'Color.gz' from the '/Rootdsks/' directory. Put 'Bare.i' and 'Color.gz' into your DOS '\Install\' directory. If you have a non-standard IDE or an SCSI controller, download the help document 'readme.txt' from '/Bootdsks.144/' and read it during the download of the disk-sets.

Download the DOS utilities required for creating the image discs in DOS and adjusting your partitions, if required. You will need 'Rawrite.exe' from the '/Install/' directory and 'Fips.exe' and 'Fips.doc' from the '/Install/Fips/' directory. Download them all into your DOS '\Install\' directory.

'Fips.exe' will help you to non-destructively change the size of your DOS partition to make room for Linux - Read 'Fips.doc' - all of it including the warning before using Fips. I have not heard of any problems but I am new to Linux myself.

Download the system disc-sets for Linux. Change to your DOS directory called '\Slakware\' and the FTP site directory called '/Slakware/' (note the spelling). See the different directories named with letters + numbers. The letters represent the disk series whereas the numbers represent the disk number within the series. Each directory contains all the files that will fit onto one floppy disk. If you want to download the 'A' series (absolute minimum operable Slackware Linux system) onto floppy discs, you would need 9 x 1.44 megabyte floppy discs.

Download the entire 'A' series of disc-sets to your DOS '\Slakware\' directory so each disk-set gets its own subdirectory. Just highlight the whole 'A1' through 'A9' series of directories and instruct your FTP program to download them all, directory structure included.

You also require the 'Ap1' through 'Ap6' series - they contain basic Linux applications. Get them - same deal as the 'A' series, download them, directories and all.

Next the 'F1' through 'F3' series. These are FAQ's, HowTO's and other documents - required.

Download the 'Y1' through 'Y2' series. They are an assortment of games you can play on your Linux machine - required for mental health.

If you want to tool around on the Internet with Linux in text mode, download the 'N1' through 'N6' series - recommended.

Here is a list of everything you want:

I don't recommend downloading any of the 'X' discs until you acquire a taste for what Linux is about; primarily a powerful, robust, text-based, 32-bit, preemptive multitasking, multi-user, network aware, computer operating system.

When you have finished downloading (FTPing) all required disk sets, log off the Internet and jump into DOS mode - No Windows Please.

You have almost consumed 30 megabytes of hard drive space and haven't installed so much as a script file as yet.

Have 3 fresh (no bad sectors) DOS-formatted 1.44 megabyte floppies on hand.

Mark one 'Boot Image', one 'Root Image' and one 'Slackware Boot Disc'.

Change to your DOS directory '\Linux\Install\' on your hard drive.

Please Note: Everything within double "quotes" is your input or selection. Do not type the quotes.

Anything to be entered at an obvious prompt (such as ':' or '#' or a DOS 'C:\>') will not be contained within quotes. "^C" means <ctrl> and C are to be pressed simultaneously. Everything within < keystroke> is a keystroke or an action initiated by a keystroke. e.g. At the bottom of a screen may appear an < OK>. To continue will require the <OK> to be highlighted and then activated by hitting the <enter> key.

Put the freshly-formatted floppy disk called 'Boot Image' into the A: drive.

Run 'rawrite.exe' as follows:

C:\> rawrite bare.i a <enter>
Number of sectors per track for this disk is 18
Writing image to drive A:. Press ^C to abort.
Track: 32 Head: 1 Sector: 4

Remove your new 'Boot Image' disk and place the 'Root Image' disk in its place. Same deal, type as follows:

C:\> rawrite color.gz a <enter>
Number of sectors per track for this disk is 18
Writing image to drive A:. Press ^C to abort.
Track: 33 Head: 0 Sector: 1

You now have a way to boot an elemental Linux 2.0.30 operating system.

Decision time: How are you going to make room for Linux? You can use 'Fips.exe' to shrink your present hard drive partition to make room for Linux or you can move everything off an existing partition and delete it making room for Linux.

Let us take a hypothetical situation; You have a 200-meg hard drive to play with and you want to install a Linux system along with a working DOS partition.

Make the primary DOS partition 100 megs (for DOS 6.x, Win3.11, games and all the Linux files you downloaded). That will leave you with ~100 megabytes of empty space. Just leave it empty, don't create another partition with the DOS version of fdisk.

Make certain you have all the files you downloaded handy either on the DOS partition or on floppies. (A 'floppy disc' only installation is not recommended)

Place your 'Boot Image' floppy disk into drive A: and reboot!

When the computer restarts, you will be presented with a text notice. It will then stop and wait for you to enter any special instructions (there are none), just hit .


(Read the on screen notice.)

boot: <enter>

Loading ramdisk........

VFS: Insert root floppy to be loaded into ramdisk and press ENTER
(VFS = virtual file system)

Remove the 'Boot Image' floppy disk from the A: drive and replace it with the 'Root Image' floppy disk and hit< enter>.

RAMDISK: Compressed image found at block 0

More text and then,

Welcome to the Slackware installation disk! (version 3.2.0)

At the 'Slackware login:' prompt, login as "root".

Slackware login: root <enter>

and finally,

Linux 2.0.30 (Posix)

To start the main installation, type 'setup'.


At the Linux '#' prompt, start 'fdisk'.

# fdisk <enter>
Using /dev/hda as default device!

If you have two hard drives, the first drive is called '/dev/hda' and the second drive is called '/dev/hdb' and so on - the first drive is selected by default so if you want to install onto the second drive, you must start 'fdisk' like this:

# fdisk /dev/hdb <enter>

'fdisk' presents as follows:

Command (m for help) :
(actually 'm for help' is really 'm for menu')

Here is a synopsis of the commands you require.

d   displays your current partition table (print to screen) 
n   creates a new partition 
l   lists partition table types (for your reference) 
d   deletes a partition 
q   quit without saving changes (for the faint of heart) 
w   writes the changes you have made and exits 
t   changes the partition type 

You can hit "l" (that's an 'el' not an 'eye') to see all partitions types but all you will require are the three designations listed below:

DOS 16 -bit >= 32M  id 6 
Linux native        id 83 
Linux swap          id 84 

You do not require the other commands but you can see them by hitting "m" anytime for a complete listing. Play at your peril.

Now let's take a look at your partition table.

Command (m for help): p <enter>

You will be presented with a table summarized like:

Disk /dev/hda: 20 heads, 20 sectors, 400 cylinders
Units = cylinders of 400 * 512 bytes

Device	   Boot  Begin  Start  End  Blocks  Id  System   
/dev/hda1   *     1      1     200  100000   6  DOS 16-bit ... 

'/dev/hda1' refers to the existing DOS partition on the first hard drive, '/dev/hda' means first hard drive and '1' means the first partition on the first hard drive. Simple, right?

Now you must make a 'Linux native' partition and a 'Linux swap' partition. We have ~100 megabytes available to play with so lets start with an ~84 megabyte 'Linux native' partition and a ~16 megabyte 'Linux swap' partition.

Each block equals 1024 bytes therefore 100000 blocks equals ~100 megabytes. We want 84,000 blocks for ~84 megabytes for the native partition and 16,000 blocks for ~16 megabytes for the swap partition.

The numbers under 'Begin Start End' refer to cylinders and for the purpose of brevity, we will state that in this purely imaginary setup (your mileage will vary), each cylinder = 512 kilobytes of space, ergo 400 cylinders = ~200 megabytes. You will have to do the math for your own hard drive.

You are going to create two new partitions, called '/dev/hda2' and '/dev/hda3'.

'/dev/hda2' is going to be your 'Linux native' partition and it will have cylinders 201 to 369 which equal 84000 blocks of 1024 bytes each or ~84 megabytes. Warning - your math will be different. Be prepared with paper, a pen and a calculator.

'/dev/hda3' is going to be your 'Linux swap' partition and it will have cylinders 370 to 400 which equal 15000 blocks of 1024 bytes each or ~16 megabytes.

Here is how we do it. Proceed as follows:

Command (m for help) : n <enter>
Command action
e   extended
p   primary (1-4)
p   <enter>

Partition number (1-4) : 2 <enter>
First cylinder (201 - 400) : 201 <enter>
Last cylinder or +size or +sizeM or +sizeK (201 - 400) : 369

As you can see, we have many options in the way we make the final entry. We can either just enter "369" which means our last cylinder for this partition will be '369'. If we entered '+88080384' that would have meant the same thing only expressed as cylinder '201' plus '88080384' bytes which would have equaled cylinder '369' as well. The other designations are for Megabytes and Kilobytes respectively.

Now let's designate the number 2 partition a 'Linux native' partition:

Command (m for help) : t <enter>
Partition number (1-4) : 2 <enter>
Hex code (L to list) : 82 <enter>

Now for the 'Linux swap' partition:

Command (m for help) : n <enter>
Command action
e extended
p primary (1-4)
p <enter>

Partition number (1-4) : 3 <enter>
First cylinder (370 - 400) : 370 <enter>
Last cylinder or +size or +sizeM or +sizeK (370 - 400) : 400

We now designate the number 3 partition a 'Linux swap' partition:

Command (m for help) : t <enter>
Partition number (1-4) : 3 <enter>
Hex code (L to list) : 83 <enter>

We will now have a look at the results so far:

Command (m for help) : p <enter>

Disk /dev/hda: 20 heads, 20 sectors, 400 cylinders
Units = cylinders of 400 * 512 bytes

Device     Boot Begin Start  End   Blocks  Id   Start 
/dev/hda1   *      1     1   200   100000   6   DOS 16-bit ... 
/dev/hda2        201   201   369    84000  82   Linux native 
/dev/hda3        370   370   400    15000  83   Linux swap 

Check over your figures and make sure everything is correct. You can still go back and change things. Nothing has been written to the hard drive at this point.

If you'd like to bail out and think about it:

Command (m for help) : q <enter>

The 'q' command quits without writing your changes to the partition table of your hard drive.

If you are satisfied with your figures, proceed:

Command (m for help) : w <enter>
The partition table has been altered!

Calling ioctl() to re-read partition table
(reboot to ensure the partition table has been updated)
hda: hda1 hda2 hda3
Syncing disks.

We should be back at the '#' prompt now.

Remove the 'Root Image' floppy from the A: drive and replace it with the 'Boot Image' floppy.

Reboot as follows:

# reboot <enter>

What follows is a standard Linux shutdown. It may pause for a moment, so be patient.

When your computer reboots, it will go through the same procedure as your first boot so just follow the same procedures as before.

Slackware login: root <enter>

Now it is time to run 'setup'!

If at any time you wish to stop the installation or bail out of 'setup', hit C to bring you back to the Linux prompt '#'. Most procedures in 'setup' can be started again by simply selecting the appropriate menu item in the 'setup' opening screen.

Proceed as follows:

# setup <enter>

Select "ADDSWAP" <enter>




This can take over two minutes, so be patient.



Select Linux Installation partition "/dev/hda2"< OK>

FORMAT PARTITION /dev/hda2 "Format" <OK>
FORMAT PARTITION /dev/hda2 "Check" <OK>
Choose the "Check" option if the hard drive has errors.

SELECT INODE DENSITY FOR /dev/hda2 "4096 ..."< OK>

Select other Linux partitions for /etc/fstab "add none" <OK>





/dev/hda1 /dos msdos ... <OK>



SOURCE MEDIA SELECTION "1 Install from a hard drive partition" <OK>


SELECT SOURCE DIRECTORY "/linux/slakware/"< OK>
(Note the spelling and forward slash after 'slakware'.)


Scroll up and down using the arrows keys.
Select with <spacebar> as follows:

[X] A
[X] Ap
[X] F
[X] N
[X] Y





Select as follows;

[X] ide
[X] bsdlpr
[X] loadlin
[X] pnp
[X] getty
[X] aoutlibs
[X] minicom
[X] cpio
[X] kbd
[X] gpm
[X] zoneinfo


(installation anomaly)

Package Name: ==>bsdlpr<== Priority: [unknown]

Yes   Install package bsdlpr



[X] ispell
[X] jove
[X] manpgs
[X] diff
[X] sudo
[X] ghostscr
[X] jed
[X] joe
[X] jpeg
[X] bc
[X] workbone
[X] mc
[X] groff
[X] sc
[X] texinfo



[X] manfaqs
[X] mini
[X] howto



[X] ppp
[X] mailx
[X] tcpip
[X] bind
[X] lynx
[X] elm
[X] pine
[X] sendmail
[X] metamail
[X] smallcfg
[X] cnews
[X] inn
[X] tin
[X] trn-nntp
[X] nn-nntp



[X] bsdgames
[X] sastroid
[X] koules
[X] tetris
[X] lizards




Put your floppy disk marked 'Slackware Boot Disk' into drive A:

MAKE BOOTDISK "Format floppy disk in /dev/fd0"< OK>

SPECIFY FLOPPY SIZE "1.44 megabytes" <OK>

Formatting /dev/fd0u1440

MAKE BOOTDISK "make simple vmlinuz > /dev/fd0 bootdisk" <OK>



MAKE BOOTDISK "continue" <OK>


SELECT CALLOUT DEVICE "cua1 com2: under DOS"< OK>
(Select your modem com port.)


SELECT MOUSE TYPE "1 Microsoft compatible serial mouse" <OK>
(Select your mouse type.)

SELECT SERIAL PORT "ttyS0 com1: under DOS"< Yes>
(select your mouse com port.)

CONFIGURE CD-ROM (assuming you have one)<Yes>

Configuring CD-ROM link (/dev/cdrom)
"1 Works with most ATAPI/IDE CD drives" <OK>
(Select your CD-ROM type.)

SELECT IDE DEVICE "/dev/hdb Primary IDE slave"< OK>
(This is only applicable to ATAPI/IDE devices.)




(Read the notice.)

(Enter your own personal choice in place of "chaos".)

(Enter your own personal choice in place of "".)


(Read the notice.)

(Read the notice.)


(Enter your own timezone here.)


Slackware Linux Setup (version 3.4.0) "EXIT"< OK>

Leave your new 'Linux Boot Disc' floppy in drive A:

# reboot <enter>

Your computer now reboots...

Welcome to Linux 2.0.30.

chaos login: root <enter>
Linux 2.0.30
You Have Mail.

(message of the day - occasionally humorous)


CONGRADULATIONS - You are running Linux

Space used ~58 megabytes
Space left ~26 megabytes

To Exit Linux - very important

remove 'Linux Boot Disk' from drive A: and,

chaos:~# shutdown -h now <enter>
(also 'reboot <enter>' or '<ctrl><alt><del>' )

This will gracefully shutdown linux and reboot your computer. Turning off your computer without using 'reboot' or 'shutdown -h now' or the 'three finger salute' will damage your file system. This is a bad thing.

Now your first order of business will be to connect to the Internet.

chaos:~# cd /etc <enter>
chaos:/etc# vi hosts.allow <enter>

'vi' is the name of one of the many editors used in Linux. It has a somewhat unusual editing command system so bear with me. We want to enter two little lines of text to the file 'hosts.allow'.

i <enter>
ALL: LOCAL <enter>
< esc>
:qw <enter>

chaos:/etc# vi hosts.deny <enter>

i <enter>
ALL: ALL <enter>
< esc>
:qw <enter>

In the next editing session, substitute your ISP's nameserver or DNS number for ''. If more than one number, make another line and add a second entry like 'nameserver'. If you have three numbers, make three entries. Three entries is the limit at this time.

chaos:/etc# vi resolv.conf <enter>

i <enter>
search . <enter>
nameserver <enter>
< esc>
:qw <enter>

chaos:/etc# cd <enter>

To start an Internet session:

chaos:~# pppd /dev/modem 57600 lock crtscts -d defaultroute \< enter>
> connect 'chat "" atdt555-1234 ogin: MyName word: MyPassWord' <enter>

'555-1234' put your ISP's telephone number here.
'MyName' put your login name here.
'MyPassWord' put your login password here.

To see a running list of system messages:

chaos:~# tail -f /var/log/messages <enter>

To stop the message listing or many other running programs:


You can leave the message listing running for the moment.


Let's use some of that 'multi-user' stuff Linux/Unix people are always so fond of talking about. While the messages are displayed in this 'virtual console' (Linux user-speak for text window), login to another virtual console.


chaos login: root <enter>
Linux 2.0.30
You Have Mail.

(message of the day)


This is an entirely separate session from your first 'login'.

To return to the first console,


There is your list of messages, just as you left them. You have the ability to startup and login to six separate sessions F1 through F6. (more if required)

Another great Linux utility is called 'mc' - sort of like 'Norton Commander'.

To test your new Internet connection, try some of the following,

chaos:~# lynx< enter>
(the home of Slackware)

'lynx' is a non-graphical web browser - it is fast compared to GUI browsers.
Basic commands at the bottom of screen.


chaos:~#ftp <enter>
(the home of SunSITE)

login: anonymous <enter>
password:< enter>
(enter your e-mail address as a password)

'ftp' is the unix non-graphical File Transfer Protocol application that allows you to login to remote computers and transfer files back and forth.

To see a list of commands, type '? <enter>'.
To end an 'ftp' session, type 'close <enter>'.
To quit the 'ftp' program, type 'quit <enter>'.


chaos:~# ping <enter>
(the address of

'ping' will produce pages of 'Internet radar bounces' off responding hosts around the net. Solid fun for minutes at a time. To terminate 'ping', type '<ctrl>c'.


chaos:~# telnet <enter>
(Vancouver Public Library - my home town)

login: netpac <enter>
password: netpac1 <enter>

Select VT100 Emulation and you are in business.

'telnet' is a non-graphical communication program that allows you to login to remote computers and run programs, just like being on another console.

To terminate the ISP Internet connection:

chaos:~# ppp-off <enter>

Some other tools for network and ppp connections are 'netstat' and 'pppstats'. Check out their man pages for more details.

chaos:~# man netstat <enter>
chaos:~# man pppstats <enter>

This document is a work in progress - please forward any recommendations you may have that will make it simpler or clearer.

I hope this helps all the new users out there who are looking for a taste of contemporary Linux.

You are now on your own. Good luck and have fun.

Recommended books:

Copyright 1998 Brian Thurston