ROOT logo Linux penguin
» Start Page
» News

» Download
» Mirroring info
» Logos / banners

» Manuals
» Features
» Release notes
» Package lists

» Press
» Other sites
» Donate
» Forum

Current Release: 1.4
Contact Author


ROOT v1.4 Manual

Copyright © 1999-2003 John Eriksson

This is the manual for version 1.4 (Pommes) of the ROOT GNU/Linux operating system. It covers installation, configuration as well as features specific to the ROOT system.

Table of Contents

1. Introduction

1.1. What is ROOT?
1.2. License Information

2. Installing ROOT

2.1. Supported Hardware
2.2. Installation Guide

3. Package System

3.1. Using the Package System
3.2. Creating your own Packages

1. Introduction

1.1. What is ROOT?

ROOT is a GNU/Linux operating system aiming for speed, simpleness and flexibility. It contains lots of high-quality software for both server and workstation use. The system is built for experienced GNU/Linux or UNIX users. ROOT has a simple text (menu-based) installation program. It uses simple gzipped tar packages and BSD-style initscripts.

1.2. License Information

ROOT is an open source project. This means, all source code written by me for ROOT is available under the second version of the GNU General Public License. The system contains lots of different packages with individual licenses. The most common license types are the GNU GPL and BSD-type licenses. Some non-free packages are also included in a seperate directory - for example Macromedia Flash and Pine.

Also, remember: The ROOT system comes with ABSOLUTELY NO WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Use it at YOUR OWN RISK.

2. Installing ROOT

2.1. Supported Hardware

Here is a list of hardware supported by the ROOT GNU/Linux system. Most modern computers with Intel compatible CPU's will work.

IDE systems will more likely work than SCSI systems. If you have SCSI devices that must be supported during the installation, make sure your SCSI controller is supported by a driver in the "SCSI controllers" list.

Supported CPU's
  • Generic Intel Pentium (i586) compatible processor

Supported IDE controllers
  • All generic IDE controllers

Supported SCSI controllers
  • 7000FASST
  • Adaptec AHA152X/2825
  • Adaptec AHA1542
  • Adaptec AHA1740
  • Adaptec AIC7xxx
  • AdvanSys
  • AM53/79C974 PCI
  • BusLogic
  • Generic NCR5380/53c400
  • Initio 9100U(W)
  • Initio INI-A100U2W
  • NCR53c406a
  • NCR53C8XX
  • Simple 53c710
  • Symbios 53c416
  • Tekram DC390(T)
  • Am53/79C974
  • UltraStor

Supported keyboards
  • Generic PS/2 keyboard
  • Generic USB keyboard

2.2. Installation Guide

2.2.1. Get a ROOT GNU/Linux CDROM

If you don't own a ROOT CDROM, you must download the ISO image from a ROOT download server. This is currently the only way to obtain a CD. You need a fairly fast connection because the size of the ISO is over 600 MB.

When you have downloaded the latest ISO file, ensure your download was successful using the md5sum command on your GNU/Linux or *NIX system. The output of this command should be the same as the contents of the file rootlinux-x.x.md5sum, found in the same directory as the ISO file on the server.

2.2.2. Make Boot Floppy (If needed)

If your computer does not support booting from CDROM's, you must make a boot floppy to be able to start the installer. You need one non-damaged floppy disk (1.44 or 2.88 MB).

In a Linux/UNIX system, mount your ROOT CDROM and change to the image/ directory on the CD. Then, as a priviligied user, type:
dd if=boot.img of=/dev/fd0 bs=1024
In a DOS or Windows 9X system, use the program RAWRITE, available in the tools/ directory on the CDROM. In a Windows NT-based system (NT, 2000, XP), use RAWRITENT, available in the same directory. In the program, enter the path to the boot.img file and the destination drive (A:).

2.2.3. Before Installing

Please remember that ROOT comes with NO WARRANTIES AT ALL. If you have important data on your hard drive, PLEASE make a backup before starting the installation. You can also take the risk, but be prepared to lose all you data.

2.2.4. Start the Installer

Insert the ROOT CD into your CDROM drive and (re)start your computer. If you're using a boot floppy, insert that one as well.

You should now see a welcome message starting with Welcome to ROOT GNU/Linux version 1.4 release 'Pommes'!. At the bottom there is a prompt (boot:).

Press ENTER to start the installation from the first CDROM drive on your system. If you have several CDROM drives, and want to run from the second one, type:
install root=/dev/cdroms/cdrom1
You can also boot from your third CDROM drive by replacing the '1' with a '2' and so on...

When the kernel has booted, the installer will start. You will see the message Initializing ROOT GNU/Linux installation on your screen.

2.2.5. Keyboard Configuration

Select your preferred keymap from the list presented on your screen. The first two characters of the keymap generally means the country code for the keymap.

2.2.6. Partition Setup

Setup your partitions by choosing a program from the list. The supported programs are currently cfdisk and fdisk. cfdisk is menu-based and easy to use. fdisk is command-based, and harder to use - but much more powerful.

Start your selected program and create partitions if you need to. You must have at least one partition of the type Linux. You should also have a small partition (~150 MB) of the type Linux Swap.

Don't forget to write your new partition table to the disk using the Write function in cfdisk or using the command w in fdisk.

2.2.7. Activate Swap Partition

If you have created one or more Linux swap partitions, then the installer will detect the partitions and, for each partition, ask you if you want to use it as a swap partition. You probably want to answer yes to this question/questions. If you don't have a swap partition, you won't get this question.

2.2.8. Choose Target Partitions

A list of Linux partitions will be presented on your screen. Choose the partition you want to use as your root (/) filesysten, and press ENTER. Then select / as the mount point for the partition. Next, select your preferred filesystem. I recommend using either reiserfs or ext3.

If you want to have a seperate partition for your /home, /var, /usr or /opt, then select another partition from the list and select the mount point (for example /home). Note: It is recommended to place your /home directory on a seperate partition.

When you have added your partitions, press OK on the partition list to continue.

2.2.9. Package Selection

Now it's the time to choose what software packages you want to be installed to your new system. You first choose packages from the base category, then opt, x and so on. The general rule is: do NOT uncheck something you don't know what it is. Especially not in the base category. ROOT has no dependency checking, so if you remove something vital, your system won't work.

2.2.10. Package Installation

The packages will now be installed. This will take some time.

2.2.11. Network Configuration

Select your hostname and domainname. If your computer is not on a domain, you can choose whatever you like.

If you are connected to a local network or Internet, then select your connection method from the list - either dynamic IP from a DHCP server or static IP (you have to enter your IP address yourself). If you are using a dial-up connection or no connection at all, choose loopback here.

If you didn't select loopback, the installer will search for a supported NIC (Network Interface Card) now.

2.2.12. Root Password Configuration

Answer yes to the question about setting the root password. Choose a secure password (at least 8 chars, with A-Z,a-z,0-9 and special characters). Enter it again to confirm. You will not see any output on the screen for secutity reasons.

2.2.13. Boot Loader Configuration

If you want to install LILO (the boot loader for ROOT), then select yes here. You probably want to do so. To install to the suggested location (probably correct), just say yes to the question. Else, enter the correct device name.

You will also be prompted for special kernel parameters. If you want to use any such parameters, enter them on the line. The kernel will use these options when booting the system later. If you don't know what this is, or don't need any options, just press ENTER.

2.2.14. Time Configuration

Select weather your computer's hardware clock is set to local time or UTC time. Most computers are set to local time. If you have a Windows operating system on your computer, this is for sure the correct answer. If you don't know, choose local time.

2.2.15. Timezone Configuration

Select the correct timezone for your computer.

2.2.16. Restart Computer

The installation is now finished. Press ENTER to restart the computer. If you installed the boot loader, it should start when your computer boots up.

3. The Package System

The package system used in ROOT is based on pkgutils from the CRUX Linux distribution. It is very simple, but elegant and powerful enough. A ROOT package has the filename name#version-release.pkg.tar.gz. This file only a gzipped tar archive of the files, not including any meta-data.

pkgadd(8), pkgrm(8), pkginfo(8), and pkgmk(8) are the package management utilities. They are used to handle all you may want to do with packages.

3.1. Using the Package System

When a package is installed using pkgadd(8) a new record is added to the package database (located in /var/lib/pkg/db ). Please note that the package system does not have any dependency checking. You must install all other packages that a single package may need manually.

Install a package using the command pkgadd(8). The program requires at least one argument - the name of the package you want to install. For example:

# pkgadd mozilla#1.2.1-1.pkg.tar.gz
If any file from the package is already installed on the system, the program will abort with an error message, showing the names of the conflicting files. Example:

# pkgadd mozilla#1.2.1-1.pkg.tar.gz

pkgadd error: listed file(s) already installed (use -f to ignore and
To force the installation (i.e. overwrite the conflicting files), use the option -f (or --force). For example:
# pkgadd -f mozilla#1.2.1-1.pkg.tar.gz
The package system only allowes a file to be owned by exactly one package. When forcing an installation the ownership of the conflicting files will be transferred to the package that is currently beeing installed. Directories can be owned by more than one package.

Pleas note that this option should only be used if you really know what you are doing. Two packages should never include the same files. If they do, it can be a sign that one of them is broken and contains too many files.

The package manager uses only the package filename to identify the package information such as name and version. If the package is named mozilla#1.2.1-1.pkg.tar.gz then it will be interpreted as mozilla version 1.2.1-1. If pkgadd(8) can't interpret the filename, then it will abort installation and print an error message.

3.2.2 Removing a Package

Removing a package is done by using pkgrm(8). This utility requires one argument, the name of the package you want to remove. For example: $ pkgrm bash WARNING! This will remove all files owned by the package, no questions asked. Think twice before doing it and make sure that you did not misspell the package name since that could remove something completely different (e.g. think about what could happen if you misspelled glib as glibc). 3.2.3 Upgrading a Package Upgrading a package is done by using pkadd(8) with the -u option. For example: $ pkgadd -u bash#2.05-1.pkg.tar.gz This will replace the previously installed bash package with the new one. If bash has not been previously installed an error message will be printed. The package system will not care about the version number of the package in the sense that you can "upgrade" version 2.05-1 with version 2.04-1 (or even with version 2.05-1 itself). All that happens is just that the installed package will be replaced with the new one. Upgrading a package is equivalent to executing pkgrm(8) followed by pkgadd(8) with one (big) exception. When upgrading a package (with pkgadd -u) you have the option to preserve some of the already installed files and prevent them from getting replaced. This is typically useful when you want to preserve configuration and log files. When executing pkgadd(8) the file /etc/pkgadd.conf will be read. This file can contain rules describing how pkgadd should behave when doing upgrades. A rule is built out of three fragments; event , pattern and action . The event describes in what kind of situation this rule applies. Currently only one type of event is supported, that is UPGRADE. The pattern is a regular expression and the action applicable to the UPGRADE event is YES or NO . More than one rule of the same event type is allowed, in which case the first rule will have the lowest priority and the last rule will have the highest priority. Example: # # /etc/pkgadd.conf: pkgadd(8) configuration # UPGRADE ^etc/.*$ NO UPGRADE ^var/log/.*$ NO UPGRADE ^etc/X11/.*$ YES UPGRADE ^etc/X11/XF86Config$ NO # End of file The above example will cause pkgadd(8) to never upgrade anything in /etc/ or /var/log/ (subdirectories included), except files in /etc/X11/ (subdirectories included), unless it is the file /etc/X11/XF86Config. The default rule is to upgrade everything, rules in this file are exceptions to that rule. NOTE! A pattern should never contain an initial "/" since you are referring to the files in the package, not the files on the disk. If pkgadd(8) finds that a specific file should not be upgraded it will install it under /var/lib/pkg/rejected/. The user is then free to examine, use and/or remove that file manually. Files in this directory are never added to the package database. Example (with above /etc/pkgadd.conf used): $ pkgadd -u bash#2.05-1.pkg.tar.gz pkgadd: rejecting etc/profile, keeping existing version $ ls /var/lib/pkg/rejected/ etc/ $ ls /var/lib/pkg/rejected/etc/ profile 3.2.4 Querying the Package Database Querying the package database is done by using pkginfo(8) . This utility has a few options to answer different queries. -i, --installed List installed packages and their version. -l, --list List files owned by the specified or contained in . -o, --owner List owner of . Examples: $ pkginfo -i audiofile 0.2.3-1 autoconf 2.52-1 automake 1.5-1 <...> xmms 1.2.7-1 zip 2.3-1 zlib 1.1.4-1 $ pkginfo -l bash bin/ bin/bash bin/sh etc/ etc/profile usr/ usr/man/ usr/man/man1/ usr/man/man1/bash.1.gz usr/man/man1/sh.1.gz $ pkginfo -l grep#2.5-1.pkg.tar.gz usr/ usr/bin/ usr/bin/egrep usr/bin/fgrep usr/bin/grep usr/man/ usr/man/man1/ usr/man/man1/egrep.1.gz usr/man/man1/fgrep.1.gz usr/man/man1/grep.1.gz $ pkginfo -o /bin/ls fileutils 4.1-1 The ROOT GNU/Linux system: Copyright © 2000-2006
John Eriksson