Monday, 31 December 2012

TOP 100 LINUX TIPS AND TRICKS - 5


Tip 41: Read files from FAT32 drives
The Linux utility mount can read any file system that the kernel supports. Since version 2.0.34, the kernel
supports FAT32, which is the main file system used by Windows 98.
To read the FAT32 file system you need to specify the -tvfat option to mount. Here is an example:
mount -tvfat /dev/hdb1 /mnt

Tip 42: TV on Linux
A number of cards exist allowing you to watch and record TV on your PC. Most come with software for
Windows only, like so many things, but it is possible to do the same thing on Linux.
Linux comes with several drivers which make up the Video4Linux drivers. Several cards are supported by
these drivers, and a list of them is available at http://roadrunner.swansea.linux.org.uk/v4l.shtml. This is the
driver side. You also need software to use the devices.
Several programs are available to watch TV, capture images and even Web applications. A list of some of the
programs is available at http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html including datasheets.

Tip 43: Device drivers
Hardware devices are not of much use without device drivers. Fortunately, the Linux kernel, like every other
operating system, comes with a lot of them.
When you configure a kernel, the menu from which you must choose which devices you have in your
computer is actually a list of device drivers available to you. Here is how to configure your kernel:
cd /usr/src/linux
make menuconfig
Linux, still not being as popular as some other operating systems, can't support all of the existing hardware.
If you have a device that is not in the list, then you will need to search for it on the Web. Some drivers may
exist for Linux and not be in the default kernel. But if a device is not currently supported by any driver for
Linux, then you will have to wait for someone to make one, or make one yourself.
If you want to write your own driver, the best place to start is at The Kernel Hacker's Guide, available at
http://khg.redhat.com/HyperNews/get/khg.html

Tip 44: Mouse problems
The mouse is a very important part of a computer. In X, you can't do much without it. Even in console some
applications will allow you to use it. You must first configure it.
Like every other device, the mouse has a device file in the /dev directory. Depending on your mouse type, it
will be either /dev/psaux for a PS/2 mouse, or /dev/cua0 for a serial mouse on COM1.
To make it easy to use in the future, you should link the right device file to /dev/mouse:
ln -s /dev/cua0 /dev/mouse
Then, when you configure X Window or any other program that requires a mouse, you can specify
/dev/mouse.

Tip 45: International keyboards
The X Window System comes by default with an english keymap on most distributions. If you have a
keyboard from another country, it may be a problem.
The XKB extension was provided for that purpose. If you look in your X configuration file, usualy in
/etc/X11 called XF86Config, you will find a section about the keyboard. There, you may specify several
parameters, including the keymap and keycodes to use.
For a list of available keymaps, you can look in your X directory. Most of those keymaps are also available
from the graphical configuration program, XF86Setup.

Tip 46: Background image in X Window
By default, the background in X Window is a grey background. Some window managers have their own
options to set other backgrounds, and some don't.
A program you can use to set your background is a program that comes with most Linux distributions. It's
called XV, and you can specify which background image you want with this line:
xv -quit -root image.gif
This will set the background to be the image.gif file. You can add that line in your .xinitrc file, in your home
directory, so it is executed each time you launch X Window.

Tip 47: Customize Netscape Communicator
Netscape Communicator has one nice feature that few people use. When you download it, it has a Personal
Toolbar with buttons that most of us may not find really useful, so we either turn it off or don't look at it.
I found it to be a much more useful tool than the Bookmarks. What appears on that bar is simply what's
inside the Personal Folder inside your Bookmarks.
You can ceate folders in it for news sites, Linux sites, etc and move your bookmarks into them (with the Edit
Bookmarks option).
You then have your own personal portal in your browser

Tip 48: POP3 in Pine
Many Linux users use Pine as their mail client. Lets see how you can use Pine both with local mail and with
POP3 mail, without using fetchmail or some other tool to get POP mail first.
First you will want to use multiple config files:
pine -p localmail
pine -p popserver1
pine -p popserver2
You need to configure Pine to use your POP3 server. In the program go to Setup, Config. You'll want to set
something like this in your inbox-path:
{pop.server.com/pop3/user=myid}INBOX
Now restart Pine and it will ask you for your password and connect to the remote server, and use it just like if
you were accessing local mail.

Tip 49: Multiple accounts in Pine
You can use multiple POP3, IMAP or other incoming mail accounts in the same config file by editing the line
"incoming-folders=" from .pinerc in your local home directory.
The syntax is:
incoming-folders= "Nick1" {pop1.domain.com/pop3/user=login}INBOX,
"Nick2" {pop2.somewhere.com/pop3/user=login}INBOX
This will create a new collection in Pine with these folders in it, plus the mail folder on the local system.

Tip 50: Running Java programs
Java is an interpreted language. Usualy Java is found on the Web, in small programs called applets. But many
Java applications exist. They are like applets, but require a Java Virtual Machine to run on your system.
Netscape Communicator and any Java-enabled browser can run Java applets, but what if you want to run Java
programs?
Java programs are files ending with .class and must be run in a JVM. The Java Development Kit comes with
a JVM. What you need is the Linux port of the JDK that you can find at http://www.blackdown.org. Once
installed, you can run any Java application using the line:
java Program
Where java is the JVM, from the JDK package, and Program is the class found inside the Program.class file.
Note that you do not have to specify the .class part of the file to run it.

TOP 100 LINUX TIPS AND TRICKS - 4


Tip 31: Added processors
Dual processors are becoming more and more popular in computers. Of course, you won't be able to see
much performance increase in Linux unless you tell Linux about the second CPU. Here is how to do it.
Go in the kernel, and enable SMP. SMP means Symetric Multi-Processing and tells the kernel that more than
one processor can be used.
After a reboot, Linux should tell you that it has detected 2 processors and what their status are.

Tip 32: Detecting an ISA device
ISA devices like modems should be detected automatically by the kernel. One case where they would not be
detected is if the device is Plug and Play. The kernel won't be able to detect ISA PnP devices unless they
have been prepared by a program called isapnptools.
The trick is to use this program in initiation scripts. It will detect the ISA PnP devices and make them
available to kernel modules and applications.
For example if you want to access an ISA PnP sound card, you will need to compile sound as a module in the
kernel, and use isapnptools before loading the module.

Tip 33: Find hardware information
When the Linux system boots, it will try to detect the hardware installed in the computer. It will then make a
fake file system called procfs and will store important information about your system in it.
You can get information about your system simply by browsing the directory /proc. The files in there will
contain information such as the processor you have, the amount of memory and the file systems the kernel
currently supports.
A usefull application exists to browse the /proc file system. It is called Xproc and is available from
http://devplanet.fastethernet.net/files.html:

Tip 34: Blinking leds on the keyboard
Keyboard leds are pretty boring. Usualy you know if the num lock is on or if you are writing in upper case
letters. Could we make them do something more useful? Of course.
The keyboard leds can be controlled by a device driver called the misc driver. That driver can control all
kinds of misc things. You could write your own driver to make them blink or light up at any system event.
A program called tleds is available from http://www.hut.fi/~jlohikos/tleds.html. That program will have them
blink based on network usage. One will blink when packets go in, and the other when packets go out.

Tip 35: Reading a foreign file system
File systems are defined in the kernel. The kernel supports many file systems, but they need to be compiled
in, or compiled as a module. When you compile a file system in the kernel, all you need to do is use mount
with the -t option and the right file system type.
If you have compiled a driver for a file system as a module, then you need to load the module first.
Here are a few of the available file systems:
·  msdos: This is the FAT file system used by DOS.
·  vfat: This is the FAT32 file system used by Windows 95 and Windows 98.
·  ext2: This is the default Linux file system.
·  iso9660: This is the default CD-ROM format.

Tip 36: Can't mount root fs
When you boot a system, this is an error that will halt the system. This error means that the kernel can't
mount the root file system, so it can't get all of its configuration files.
There are a few cases where this happens:
·  No IDE support in the kernel. If your main hard drive is an IDE, and you have recompiled
without including "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support" or some other
basic IDE device drivers.
·  File system not supported. Usually the root file system should be of type ext2. You need to
make sure that ext2 is compiled in the kernel, and not as a module because you can't load
modules without first mounting the root file system.
·  The drive is not ready. If you have removed the drive, the hard disk died or the BIOS didn't
detect the device for some reason, then the kernel won't be able to mount it.

Tip 37: Linux on a 286?
Linux is a multi-user, multitasking operating system which requires a 386 processor or more to run. This is
because the lower PC processors don't have what is needed for the Linux kernel.
Linux being open source, is being ported to many architectures. And one group decided to modify the kernel
so it would run on a 286 processor. The project page is http://www.uk.linux.org/ELKS-Home/index.html.

Tip 38: Linux without a hard drive
Modern Linux distributions require around 100 megs to 200 megs of hard disk space to install. But is it
possible to run Linux on a system without a hard drive? Yes it is.
The Linux Router Project is a full-featured Linux distribution that fits on one diskette. It was made for
routers, and use modules to add the software packages you need, including DNS servers, Web servers, email
and routing. You can find more information on the Linux Router Project at http://www.linuxrouter.org.

Tip 39: Shutdown and power off
Linux, like most other operating systems, must be shutdown in a specified manner. You can't turn the power
off on a computer running Linux, or you may lose some data.
Here are the steps that need to be done when you want to shutdown:
·  The operating system needs to stop all the running processes and logout the users.
·  Various servers need to be shutdown in a proper way.
·  All the mounted file systems need to be unmounted safely and unwritten data need to be stored
on the disk.
The system can then be turned off safely.
To accomplish all these tasks, the shutdown command exists. That command has a lot of options, and you
should explore them before trying anything at random. Another way to shutdown a Linux system is to set the
runlevel to 0, the default shutdown level, with the init program.

Tip 40: LPD started but no device found
The printer daemon is called LPD. It will be started at boot time and assume that a printer is connected to the
printer port. But a problem may occur when the daemon is started and no device is found.
The most common cause for this problem is a configuration problem in the kernel. Make sure that parallel
port, PC-style parallel port, and printer support is enabled in the configuration, and that modules are loaded.

TOP 100 LINUX TIPS AND TRICKS - 3


Tip 21: Default boot mode
When a Linux system boots, it loads the kernel, all its drivers, and the networking servers, then the system
will display a text login prompt. There, users can enter their user names and their passwords. But it doesn't
have to boot this way.
There are 3 modes defined in most Linux distributions that can be used for booting. They are defined in
/etc/inittab and have specific numbers. The first mode, also called runlevel 1, is single user mode. That mode
will only boot the system for 1 user, with no networking. Runlevel 3 is the default mode. It will load the
networking servers and display a text login prompt. Runlevel 5 is the graphical mode. If you have X Window
installed and configured, you can use it to display a graphical login prompt.
The way to change this is to edit /etc/inittab and change the initdefault line:
id:3:initdefault:
Changing a 3 to a 5 will make the system display a xdm graphical screen on bootup.

Tip 22: More information from usenet
There are newsgroups about everything. Newsgroups on the latest TV show, on gardening, and more. There
also are newsgroups on Linux. In fact, the best help can be obtained from newsgroups. But which ones?
Here is a list of a few newsgroups dedicated to Linux, and what they are used for:
·  comp.os.linux.advocacy: This newsgroup is used for advocacy. People stating their opinions
about Linux or Linux applications, and about Linux competitors. Some post facts, some will
flame other people.
·  comp.os.linux.setup: This is a general purpose setup help group. Users will post questions and
get answers there.
·  linux.*: There now is a linux section on usenet. Currently there are more than 150 groups in
linux.* and they are all about Linux!
Make sure you read the FAQ and rules of every newsgroup you want to post to.

Tip 23: Bytes per inodes
When you format a partition using Linux's primary file system, ext2, you have the choice of how many bytes
per inode you want. From the man page:
-i bytes-per-inode
Specify the bytes/inode ratio. mke2fs creates an
inode for every bytes-per-inode bytes of space on
the disk. This value defaults to 4096 bytes.
bytes-per-inode must be at least 1024.
This means that by using a smaller size, you will save disk space but may slow down the system. It is a
space/speed trade off.
This is similar to one of FAT16/FAT32' major differences.

Tip 24: LILO and boot problems
When a computer starts, the number of beeps the BIOS outputs tells you the state of the computer. On some
computers, one beep means all is ok, but 2 beeps mean there is an error. LILO uses the same kind of codes.
The number of letters you see from the word LILO on the screen says what is wrong. The whole word means
everything is fine, only LI means only the first part of LILO could be loaded. A full description of this is
available from the Bootdisk HOWTO.
When LILO can't load, it's a major problem. This often means that the boot code was corrupted. The only
way to boot is from a floppy disk. In RedHat, you can use the rescue disk, in Slackware, you can use the boot
disk with the "mount" image.
When LILO is fine, it's often easier to figure a boot problem. If the kernel panics when it tries to boot, it is
usualy due to a configuration error. You can tell LILO to mount another kernel you may have, like a "safe" or
"old" image you kept for these cases. If the problem is in initialization scripts, you can tell LILO to boot
directly into a shell with the following boot command line:
LILO boot: linux init=/bin/sh
Where "linux" would be your kernel image.

Tip 25: Making CD-ROM images
With other operating systems, such as Microsoft Windows or IBM OS/2, you are not allowed in the license to
make your own CD-ROM with the OS on it and then distribute it.
Linux, being Open Source and free, can be copied. You can download a distribution or buy it from an online
store and burn your own copy, and then install it on many computers, or give it to your friends. Usually, you
will find instructions on how to do that on the FTP server for your favorite distribution. You will need the
main directory on the CD-ROM. The sources are not needed since they are available from the FTP site.
Some distributions also come with ISO images of their CD-ROM. This is a single file that can be put onto a
CD-ROM, and will create a full file system with files on it.
One thing you have to be careful is not to copy commercial programs. The basic CD-ROM where the Linux
distribution is located is composed of free software. But some distributions may come with other commercial
programs, and you should read the license first.

Tip 26: FTP access restrictions
When you first install Linux, it comes with a lot of Internet services running, including mail, telnet, finger
and FTP. You really should disable all those that you don't need from /etc/inetd.conf and your startup scripts.
FTP may be very useful, but must be configured correctly. It can allow people to log into their accounts, it
can allow anonymous users to login to a public software directory, and it can display nice messages to them.
The files that you will probably want to modify are /etc/ftpusers and /etc/ftpaccess.
The file /etc/ftpusers is very simple. It lists the people that will not be allowed to use FTP to your system. The
root account, and other system accounts should be in that file.
The file /etc/ftpaccess is a bit more complex and controls the behaviour of the FTP server. It tells it what to
use as README file to display on a directory listing, what kind of logs to create and what messages to
display.
Note that if you create an anonymous FTP area, you will need to read the FTP man page and do exactly what
it tells you to avoid possible security risks.

Tip 27: Detecting 2 ethernet cards
To configure an ethernet card in Linux, you need to enable it in the kernel. Then the kernel will detect your
ethernet card if it is at a common IO port. But it will stop there, and will never check if you have 2 ethernet
cards.
The trick is to tell the ethernet driver that there are 2 cards in the system. The following line will tell the
kernel that there is an ethernet card at IRQ 10 and IO 0x300, and another one at IRQ 9 and IO 0x340:
ether=10,0x300,eth0 ether=9,0x340,eth1
You can add that line on bootup at the "boot:" prompt, or in the /etc/lilo.conf file. Don't forget to run:
lilo
That will reload the lilo.conf file and enable changes.

Tip 28: Everything on sound cards
A sound card can be easy or hard to detect. It depends on who made it. Many Sound Blaster Compatible
cards in fact are not compatible with the Linux Sound Blaster driver. Other cards will be compatible with a
driver you would never have thought of.
There are multiple drivers for Linux. Currently the kernel comes with its own set of sound drivers, plus the
OSS/Free drivers. These will support most generic cards. In the installation program, or when compiling your
kernel, you can pick the sound card that matches yours, or the one that matches the chipset on your sound
card (for example, the Sound Blaster PCI64 card uses the AudioPCI chipset).
If your sound card is not supported by the kernel, you will need to get another driver. 2 popular ones are
ALSA available from http://alsa.jcu.cz and OSS/Linux available from http://www.opensound.com
OSS/Linux is a commercial product that supports a lot of cards not available in other drivers because of card
specification restrictions. You will need to see the list of supported cards in each driver and pick the driver
you need.

Tip 29: Non-PostScript printers
Unfortunately, most printers are non-PostScript compatible. This means that your LPR program won't like it.
You will probably notice that when you first use 'lpr' to print, the output looks weird on your printer. This is
because these models do not support PostScript. You will need a converting program for it.
Note that newer versions of RedHat already have those programs or similar filters so it may not apply to all
Linux systems.
First, you need to go read the Printing HOWTO to find out how to use lpr and related printing programs.
Then, you'll need to get 2 programs from http://metalab.unc.edu:
·  bjf
·  aps
These are the filters to convert text and PostScript to your printer's format.
First, install bjf which will be used to print text. Installation is very simple. type:
make
cp bjf /bin/bjf
Then, make a simple shell script to print text files and call it print.sh:
#!/bin/sh
/bin/bjf <$1> /dev/lp0
Where /dev/lp0 is your printer.
Now, install aps by running the SETUP script in its package. It's really easy to setup, but you do need to have
the GhostScript program installed prior to installation. You are now ready to print PostScript files from, for
example, Netscape or XV.

Tip 30: Use Windows special keys in Linux
Why are all the new keyboards sold with Win95 keys on them? How about making them do real keyboard
functions while in X Window? Here is how.
First you need to find out which key mapping you are using. Usually it will be US, it might also be en_US, ca
or else. Locate the file, usually in /usr/X11/lib/X11/xkb and edit it with your favorite editor. For me the file is
called /usr/X11/lib/X11/xkb/symbols/ca.
The file lists all the key codes and what they do. The key codes for the Win95 special keys are LWIN, RWIN
and MENU. All you need to do is add them to the list, with the functions for them. I decided to map the left
WIN key to "@" and the right WIN key and MENU keys to "{" and "}". Here are the lines I added:
key <RWIN> { [ braceleft ] };
key <LWIN> { [ at ] };
key <MENU> { [ braceright ] };
By browsing the file you can find all the other symbols and what they do. You can also add multiple
functions to a key, by using ALT and SHIFT.
The changes will take effect when you restart X Window. With the XKB extension (you do need to have it
enabled in /etc/XF86Config btw) it's easy to change the mapping of any key.

Sunday, 30 December 2012

TOP 100 LINUX TIPS AND TRICKS - 2


Tip 11: LILO can't find a kernel on a big drive
On some big hard drives, LILO can have problems loading your kernel. The problem is because the hard
drive has more then 1024 cylinders.
The trick is to make sure your kernel is in the first 1024 cylinders so LILO can find it. The way to do this is
to make a small /boot partition at the begining of the drive, and make sure the kernel is in the /boot directory.
You can set the partitions in fdisk, and select the right path for the kernel in /etc/lilo.conf so LILO knows
where it is. When you compile your kernel, simply move the new kernel in that directory so LILO can load it.

Tip 12: X Window configuration options
Each Linux distribution has its own X Window configuration program. XFree86 also has a text-based
configuration program which is complex to use. But what if both the distribution program and xf86config, the
text-based configuration for XFree86, do not seem to do what you need? XFree86 also comes with a
graphical configuration tool.
The name of the graphical program is XF86Setup. This will launch a graphical window and allow you to
configure the X Window Server.

Tip 13: Allowing users to mount drives
By default, Linux will not allow users to mount drives. Only root can do it, and making the mount binary suid
root is not a good idea. With a special command in the /etc/fstab file, you can change that.
This is a typical line for the fd0 (A:) drive in /etc/fstab:
/dev/fd0 /mnt auto noauto,user 1 1
The keywords here are noauto and user. Noauto tells mount not the try to mount a diskette on boot, and user allows any user to mount the drive into /mnt. The auto keyword is also interesting. It tells mount to try to find out which file system is on the diskette. You could also use msdos or ext2.

Tip 14: Allowing users to run root programs
When a user starts a command, it runs with the permissions of that user. What if you want to allow them to
run some commands with root permissions? You can, and that's called suid.
You can set a command to be suid root with the chmod command. This will make it run as root even if a user
starts it. Here is how to set mybin suid root:
chmod +s mybin
Note that you must be very careful with this option. If the command has any security hole, or allows the user
to access other files or programs, the user could take over the root account and the whole system.

Tip 15: Linux and NT booting
Some people choose to have both Windows NT and Linux on the same system. Windows NT has its own
boot loader called NTLDR and Linux has LILO. Which should go on the MBR?
The safest way is to install Windows NT first, and give it the MBR. Then, when you install Linux, tell LILO
to install on the Linux partition. Also set the Linux partition as the active partition. When the system boots,
LILO will be loaded, and if you want to boot Windows NT, then LILO can load the MBR with NTLDR in it.


Tip 16: Annoying boot messages
When recompiling your kernel, you might end up seeing strange messages on bootup like:
modprobe: cannot find net-pf-5
modprobe: cannot find char-major-14
These are messages from the modules loader telling you that he can't find specific modules. This usualy
happens when you compile modules, but modprobe tries to load modules that were not compiled and it can't
find them. The way to remove those messages is to set the modules to off. In the file /etc/conf.modules you
may want to add:
alias net-pf-5 off
alias char-major-14 off
This will stop modprobe from trying to load them. Of course you could also try to resove the problem by compiling the modules and make sure modprobe knows where they are.

Tip 17: Programs on CD-ROM
http://metalab.unc.edu, ftp://ftp.cdrom.com and more are sites with a lot of programs available freely for Linux. But you may not want to download gigabytes of data over a slow Internet link.
Several places offer a bunch of free programs on CD-ROM. http://www.cheapbytes.com and http://www.linuxmall.com are 2 places that can sell multiple CD-ROMs with all those programs for a very low price

Tip 18: International console
Most Linux distributions are configured to use a US english keyboard. If you need to write on a french or any
other kind of keyboard, you will want to change the locale so special keys like accents appear in the console.
The way to do this is to change the system locale with a program called loadkeys. For example, to enable a canadian-french locale, you need to add this line in your startup files:
loadkeys cf
Here cf means the canadian-french keyboard. Other locales are us, fr and more.

Tip 19: Multiple kernels choices
When you compile a new kernel, you will often change your configuration. This means you may forget to
include an important driver, like the IDE driver, or otherwise make your system unbootable. The solution is
to always keep your old kernel.
When you compile your kernel, the compilation procedure will often copy your old kernel into vmlinuz.old.
If it does not, you can do it manually. What you should do is add an entry to /etc/lilo.conf allowing you to
boot your old kernel. You should view the lilo man page for the complete syntax. You could also add entries
for different kernels, for example if you want to have an older stable version of the kernel and the newest
development version on your system.
Note that some distributions name their kernel with the version they represent. For example, your current
kernel may be /boot/vmlinuz-2.0.36-0.7

Tip 20: Default file permissions
When you create a file, the system gives it default permissions. On most systems the permissions are 755
(read, write and execute for the owner, and read and execute for others).
This default is setup with the umask command. To use the command, you need to find the right octal number
to give it. The permissions in the umask are turned off from 666. This means that a umask of 022 will give
you the default of 755. To change your default permissions from 755 to 700, you would use this command:
umask 077

TOP 100 LINUX TIPS AND TRICKS - 1


Tip 1: Which distribution is good for you
They are all good. But that's not a real tip. What you should be looking for is which distribution you feel the
most comfortable with. RedHat has the reputation of being very easy to install. They provide special tools to
make the configuration easier. Debian also has some tools, but will usually require you to go on the command
line more often to configure the system. If you want to be on your own, and really learn how to edit
configuration files then Slackware is for you. The Web site http://www.linux.org lists all the available
distributions.

Tip 2: How to find a Linux CD-ROM at low cost
The Linux market started from a few distributions available only from FTP servers, to full feature
commercial distributions available in stores and online including a printed manual and phone support.
Here are the main choices you have when looking for a Linux distribution:
·  You can download any Linux distribution from its FTP server. To take a few examples,
RedHat can be downloaded from ftp://ftp.redhat.com, Slackware from ftp://ftp.cdrom.com and
Debian from ftp://ftp.debian.org. That method is free, but requires you to have a fast Internet
connection. Downloading a full Linux distribution over a 56Kbps modem will take you quite a
few hours.
·  An other way is to buy a full distribution. RedHat, for example, can be bought online for about
$50. This will include a box, a CD-ROM, a boot diskette, a manual and support from RedHat.
·  The last way is to buy only the CD-ROM. There are a few places selling CD-ROMs of various
distributions for $2. One of them is http://www.cheapbytes.com. You will only get the
CD-ROM, but this is all you need to install Linux if you are comfortable with the fact that you
don't get a printed manual or free support. You can find the manual and other documentation
on the CD-ROM.

Tip 3: Multiple operating systems
A computer only needs one operating system to work. But what if you just want to try out a new system? Do
you need to forget about the old one and erase your hard drive? No, you can have as many operating systems
on your computer as you wish.
Linux requires 2 partitions to work. Partitions are sections of the hard drive. When you install Linux, it will
provide a program called fdisk or disk druid allowing you to create the needed partitions. The main problems
people have is that they don't have empty partitions to use for Linux, and they don't want to erase the current
Windows or DOS partition. The trick is to resize your current partition to create empty space. Then you will
be able to make the partitions needed by Linux to install properly.
Fdisk doesn't allow you to resize a partition. You will need to use another program to do the job, before using
fdisk to create the Linux partitions. A very popular commercial product to do this is Partition Magic from
http://www.powerquest.com.
Let's see step by step what is needed to resize an existing partition to allow the creation of a new one for
Linux:
·  Buy Partition Magic, or get any other tool that can safely resize partitions.
·  Make sure you have at least 150 megs free on your main partition, the required amount for
Linux.
·  Resize the partitions so you have at least 150 megs free, outside of any current partition.
·  Reboot and launch the Linux installation.
·  Run fdisk or any partitioning program that comes with the Linux distribution, and follow the
installation instructions to make the required Linux partitions.

Tip 4: Installing with no CD-ROM drive or modem
Most Linux distributions come on a CD-ROM. You can also download them from an FTP site, but that
requires an Internet connection. What if you have a system with no CD-ROM drive or Internet connection,
like an old 486 laptop? The trick here is to have another desktop system with a CD-ROM drive, and a
null-modem serial cable.
I will show you how to do it with Slackware. It is also possible with most other Linux distributions. Insert the
Linux CD-ROM in the drive on the desktop and copy the A (base) and N (networking) packages on diskettes.
You need at least those in order to use a serial cable to transfer the rest of the packages.
Now you need to enable NFS networking on the desktop, and allow the laptop to connect. You can give a
temporary IP address to the laptop, like 192.168.1.11 that you need to add to your /etc/exports file on your
desktop.
To link the two systems together, this is what you need to type on the laptop:
/usr/sbin/pppd -detach crtscts lock 192.168.1.11:192.168.1.10 /dev/ttyS1 115200
And this on the PC:
/usr/sbin/pppd -detach crtscts lock 192.168.1.10:192.168.1.11 /dev/ttyS1 115200
This is assuming the cable is linked to ttyS1 (COM2) on both systems.
With NFS, you can mount the CD-ROM drive remotely and tell the installation program to use a specific
path to install the remaining packages. Mount the CD-ROM with a command like this:
mount -tnfs 192.168.1.10:/cdrom /mnt
Then run the installation program:
setup
and enter the new path for the packages files.

Tip 5: Swap and memory
One important setting in any protected mode operating system like Linux is the swap space. In the
installation, you will need to create a swap partition. A common question is what size should the partition be?
The proper size depends on 2 things: The size of your hard drive and the size of your RAM memory. The less
RAM you have, the more swap you will need. Usually you will want to set your swap space size to be twice
the RAM size, with a maximum of 128 megs. This of course requires you to have a hard drive with enough
free space to create such a partition.
If you have 16 megs of RAM, making the swap space 32 megs or even 64 megs is very important. You will
need it. If you have 128 megs of RAM on the other hand, you won't need much swap because the system will
already have 128 megs to fill before using swap space. So a swap partition of 128 megs or even 32 megs
could be enough.
If you don't select enough swap, you may add more later.

Tip 6: More swap with a swap file
You installed a new Linux system, but forgot to set enough swap space for your needs. Do you need to
repartition and reinstall? No, the swap utilities on Linux allow you to make a real file and use it as swap
space.
The trick is to make a file and then tell the swapon program to use it. Here's how to create, for example, a 64
megs swap file on your root partition (of course make sure you have at least 64 megs free):
dd if=/dev/zero of=/swapfile bs=1024 count=65536
This will make a 64 megs (about 67 millions bytes) file on your hard drive. You now need to initialize it:
mkswap /swapfile 65536
sync
And you can then add it to your swap pool:
swapon /swapfile
With that you have 64 megs of swap added. Don't forget to add the swapon command to your startup files so the command will be repeated at each reboot.

Tip 7: Kernel size and modules
To configure Linux to detect a new hardware part, especially on a new kernel, you may need to recompile the kernel. If you add too many devices in the kernel configuration, you may get an error message telling you that
the kernel is too big. The trick is to enable modules.
The kernel itself must be a certain size because it needs to be loaded in a fixed memory size. This is one
reason why modules can be very handy. If you enable modules, you will need to make them:
make modules
and install them:
make modules_install
Then using the modprobe utility you can load selected modules on bootup. This way the kernel will be
smaller and will compile with no error.

Tip 8: The boot prompt
The Linux system uses a program called LILO to boot itself. This is the LInux LOader, and will load a kernel
and can pass various parameters. This is what the "boot:" prompt is for.
At the "boot:" prompt, you can enter a lot of parameters. You can send parameters to drivers like the ethernet
driver, telling it at which IRQ the ethernet card is located, or you can pass parameters to the kernel, like
memory size or what to do in a panic. Reading the LILO manual will tell you all of the nice things LILO can
be used for.
Note that for device drivers compiled as modules, you need to pass values when you load these drivers, and
not on the "boot:" prompt.

Tip 9: Wrong memory size found
The Linux kernel will detect various settings from your computer configuration. This includes the size of
memory you have. In some cases, it will find the wrong size. For example, it could find only 64 megs of
memory when in fact you have 128 megs.
The trick here is to specify the amount of RAM memory you have with the "mem=" parameter. Here is what
you would type when your system boots if you have 128 megs of memory:
LILO boot: linux mem=128M
This will tell LILO to load the linux kernel with 128 megs of memory.

Tip 10: Master boot record and LILO
What is the master boot record (MBR) and why does LILO erase the old boot loader? Every hard drive has a top space called the MBR where the BIOS will try to load an operating system. Every system has its own
loader. DOS has DOS-MBR, Windows NT has the NTLDR and Linux has LILO.
When you install LILO, you can install it in the MBR or in a boot record for the Linux partition. If you want
to keep your current boot loader, you can select the Linux partition, and make sure it is the active partition in
fdisk. This way you will be able to boot to LILO, and then boot the old loader from the MBR.
If you plan on only using Linux on your system, you can tell LILO to boot right into Linux and not display a
"boot:" prompt, and you can install it in the MBR.