IMPORTANT NOTICE TO ALL USERS 2005/12/04: after several serious server problems, we have finally started to… rebuild the web site from scratch. Consequently, several links below are broken: I (Marco) have chosen to put everything back online first, and then fix (hopefully with help from others) all links and formatting. Please be patient and signal any error or CSS/formatting tip to me.
This guide describes how to install Red Hat Linux or Fedora Core using the RULE Slinky Installer, boot floppies and ISO images. Older versions of the document, like the first one from M. Stricker and the last version covering Miniconda are not online anymore, since RULE development should use only Slinky from now on. If anybody needs them, please ask Marco. This is a user only guide. Every information about the internal working of the installers or their customization has been, or will be, moved to separate pages for developers
THIS VERSION IS STILL BETA: IT MAY MAY STILL WELL CONTAIN ERRORS/DUPLICATIONS/OMISSIONS. Be warned, and please signal any problem on the RULE mailing list!
WARNING:This is free software. It is provided as-is, without warranty of any kind! This software may be used and redistributed under the terms of the GNU General Public License version 2 or, at your decision, any later version. Specifically, the RULE installer is still beta software and may or may not work! Do not use it on important or production machines and backup all data beforehand!
History of changes
- 2005/12/04: v0.9: put online again on the new web server, with almost no changes
- 2004/08/10: v0.8: added paragraphs from G. M. Beddingfield on network installs and post-install network configuration
- 2004/07/02: v0.7: added one paragraph about installing over serial line
- 2004/07/01: v0.6: Several sections moved to separate documents: [Miniconda install guide->102] and [partitioning guide->101]
- 2004/05/06: First version formatted for the SPIP CMS system
- 2003/04/26: Added expanded paragraphs from R. Kweskin
- 2003/03/08: Added paragraph from C.D. Rigby on repartitioning
- 2003/02/23: Better formatting, boot floppy section rewritten, lot of material added
- 2003/01/27: First version of the install guide in this form
The standard Redhat/Fedora installer is Anaconda. It has come to require, even in text mode, more RAM than the kernel itself, and is the first bottleneck when installing RH/Fedora distros on older hardware.
The first RULE installer, derived from Anaconda, is Miniconda. It runs only in text mode, in as little as 16 MB (some of us have done it with 12 MB) with an interface nearly identical to its ancestor. Development of Miniconda has been however almost stopped in favour of Slinky, the other RULE installer, which only runs in monochrome
text mode, but in as little as 6 MB of ram.
Both tools enable you to install a very minimal Red Hat/Fedora system on your hard disk (the end result is identical) by using carefully reduced lists of stock packages. Disk space is reduced even when selecting X and some KDE packages.
Please note that the RULE installers were NOT made by Red Hat or Fedora, so you cannot get installation support from Red Hat for a RULE install even if you paid for installation support (i. e. bought a boxed set). If you have problems with a RULE install or have any questions, please subscribe to the RULE mailing list.
Please provide as much information as possible in you mail so we help you faster.
- Backup everything (everything!!)
- Know your hardware (everything written about this issue in the official Red Hat/Fedora installation guide also applies to installation with RULE)
- Register your computer in the RULE testing farm. This is a facultative step, but knowing on which combination of hardware RULE works or fails will help a lot both the developers and other end users like you.
- Check in the testing farm database, reachable from the test page above, if RULE has been already used on your particular combination of hardware. When available, read the corresponding installation report to know about any specific trick that had to be used.
- Read these [notes->101] if you need to repartition your hard drive
- Have the official Red Hat/Fedora CDs at hand.
- Backup everything (everything!!)
Where and what to download
Download from here the latest Slinky .img or .iso files available, after reading the corresponding descriptions below. As of 2004/07/01 Slinky works with all of the above Redhat 8 and 9. Work for porting directly to Fedora Core 2 is ongoing. Should you wish to take screenshots during the install, read the corresponding howto in the Docs section of this website.
The Slinky ISO
A bootable cd image is available (slinky-$version.iso) which contains all the contents of both floppy.img files, the kernel modules, and the Redhat kernel package necessary for 486s. If you will not boot from the cd, then get the slinky-$version.img file which provides the initial boot floppy for all other install options. If you will not use the cd image at all then also get the disk2.img file.
Keep in mind that Gnu/linux also provides a means of directly (without the need to burn to a cd first) using an iso which you may have on a dvd or hard drive, effectively turning it into a virtual cd.
The .img files for boot floppies
Slinky comes in different flavors of floppy boot images:
- boot.img is the one most people want since it is designed to boot from the floppy drive and setup the drivers to recognize the cd-rom or dvd drive and use the Redhat cd’s to install from – much like a windows startup disk. There is no moment when you have to type the command “startup” it just does it. The questions asked are nearly the same as Redhat’s stock questions. This image is also the one to use if you have the Redhat packages already on your hard drive and you intend using these rather than any Redhat cd’s.
- bootnet.img is for a floppy boot disk for a computer that is not going to have the Redhat cd’s in its own drive. The options are, as in Ananconda, nfs (i.e. the computer has a network card and is wired to a local area network, lan, and will try to find the Redhat cd’s on another computer on the same lan) http (i.e. the computer is wired to an internet or intranet and will connect to a web page to find the Redhat packages) or ftp (i.e. the computer is wired to an internet or lan with a ftp server and will connect by ftp to the packages.)
- pcmcia.img is for a floppy boot disk for a computer as in 2 above but its modem or network card is a pcmcia or pc card (laptops that don’t have a useable built-in modem or network card but do have a pcmcia slot use this) If you need pcmcia.img as the boot floppy, then you will also need pcmciadd.img as a driver disk.
Pick one of the three above as your disk 1. Disk 2 is the updates.img. The other floppy disk images not yet mentioned provide additional drivers for less usual hardware. Most users do not require them.
How to create Slinky boot floppies
You need both the disk2.img file and the slinky-$version.img file. Download them here. The disk images (download files ending with .img) need to be written
in raw mode onto a msdos-formatted, empty floppy. To accomplish this on Linux, type at the command line
dd if=filename of=/dev/fd0 bs=1440k (replace filename with the relative or absolute path to the floppy image file you downloaded)
Creating boot disks under MSDOS or Windows
On Windows, copy the file X:dosutils rawrite.exe (X: is your CD-ROM drive letter) into the directory where your downloaded the floppy images. Doubleclick rawrite.exe and follow the instructions on the screen to create the floppies you need. Another way would be, at the DOS prompt, to use the following commands (assuming your CD-ROM is drive D:):
C:> d: D:> cd dosutils D:dosutils> rawrite Enter disk image source file name: ..imagesoot.img Enter target diskette drive: a: Please insert a formatted diskette into drive A: and press --ENTER-- : [Enter] D:dosutils>
Creating the updates floppy without Linux
To create the updates floppy you need a Linux machine available. If you don’t have a Linux system available you can boot from the boot floppy made from boot.img (pcmcia.img might not work!). If you need to use the boot floppy type
linux updates at the boot prompt. The booting will continue. When it asks you for the updated floppy, press
[Alt][F2] simultanously to get to VT2. Take the boot floppy out of your floppy drive and replace it with the floppy you want to use as
updates floppy. Now at the Linux command line type these commands (wait until each has finished before typing the next one):
mke2fs -c -m0 /dev/fd0 mount /dev/fd0 mkdir floppymount mount /dev/fd0 floppymount
If the first command above gives an error you must create a directory to mount it. Then continue with uncompressing the tar file. Go to /mount/floppy or where the floppy was mounted and type
tar -xvf /path/to/updates-v0.7.0.tar. If you use the boot floppy as Linux system you have a problem here (please ask on the RULE mailing list). The next step is to go back to your home directory (cd ~) and unmount the floppy (umount /dev/fd0). The updates floppy is now ready to use. Take it out of the floppy drive and reboot the computer using the reset button.
General instructions and tricks
This chapter includes information valid whatever the install media is.Do read it all before proceeding with the install. To go from one field to the next just hit
[Tab]. To go back either go round or use
[Shift][Tab]. To select/deselect a choice hit the
[Space] bar. To confirm a screen and accept all it’s settings move to
[Tab] and hit
[Enter]. TODO: add explanation of how to move to other console, and of the fact that devices have no familiar names (e.g. /dev/hdb instead of /dev/cdrom)
How to declare memory when booting
At the RULE installer boot prompt type
linux mem=12M. This instruction tells to the installer that there are 12 MB of RAM available. Usually, you need to specify the mem=xM parameter only if you want to restrict the RULE installer to less RAM than the computer really has, for example for testing. According to our testing so far
12 MB is the lowest number the installation process will work with properly. If you need a drivers disk (i. e. booting from pcmcia.img you need pcmciadd as a drivers disk) you have to provide the dd option, too:
linux dd updates mem=12M.
How to boot from floppy disk
This covers both normal (booting from floppy or cdrom) and less normal cases (laptop or SCSI installs for example). Insert the boot floppy into the floppy drive and boot your computer. If it doesn’t boot from floppy you need to set the BIOS to do so. See the handbook of you computer’s motherboard for more information. Once the floppy boots, it shows the welcome screen for the RULE installer. At the boot prompt type
linux updates. If you need to boot from the pcmcia.img floppy type instead
linux dd updates.
Kernel modules needed during the install
If you are using the ISO image, a large subset of kernel modules is included in the modules directory. To load them, type
The i386 kernel problem
This is not an issue with Redhat 7.x. However, beginning with 8.0 the stock kernel package on the cd’s has been compiled for 586′s and 686′s. Redhat has made another kernel package available which works for 486′s as well. This package is on the RULE cd. During the second stage of the install the hardware is probed. If the cpu is a 486, the installer looks for the package on the RULE cd. If instead of this cd, the package was downloaded to somewhere else it is necessary to use the second virtual console and manually get rpm to install it.
Slinky environment customization
This is a great time saver in the event that an install needs to start over! Nearly every question put by Slinky can be pre-answered by defining the variables in ‘/scripts/slinky.config.sample’, and saving it as ‘/scripts/slinky.config’. The installer includes a simple ‘pico’ like editor called ‘nano’. To edit the file, just type
nano /scripts/slinky.config.sample. Use ‘ctrl o’ to save, and ‘ctrl x’ to exit the editor. Another editor, vi, is also available.
While the install is running, and up until you reboot, there is a second console available by entering alt-F2. From that shell, you have access to a limited subset of unix commands. Most of the more common utilities are available, though in some cases they exist is a slightly slimmed down form. If you use the shell on vt2 during the install,
make sure you exit it before completing the install.
If a mount command fails, the installer should now allow you to switch to another terminal and work on the problem, as opposed to exiting and forcing you to start over.
Because of the pivot_root that the installer does, the second shell can prevent the root file system from unmounting. If you see that your root file system did not unmount when the install completed, you can try switching to vt2, hit ‘enter’, type ‘exit’ and hit enter again. Then try manually unmounting it. ‘umount newroot’ should do the trick. If it still fails to unmount, exit the shell, hit ‘enter’, and try again.
During the installation, the installer will ask which drive to partition. You must create at least a swap partition (Remember to set the partition type to swap) and a ‘/’ partition. You may optionally create other partitions as well. You may create as many partitions as you like. A / partition of 180M and a /boot partition of 20M is more than ample for a base install. You will be prompted during the install when the installer needs information.
Just as Red Hat and Fedora (ah, the beauty and power of not being a different distribution…): on first boot after a Slinky install, kudzu runs, and handles the hardware detection that the installer skips.
The same script on the cd and the first floppy disk, /scripts/setup.sh, is the main one of the first stage. Hence, if the user can boot (the computer on which the installation will be placed) from the Slinky cd, there is no need of either floppy disk. Further, the flexibility of the first stage to cover so many install scenarios can require the end user to use some expertise (e.g. a nic is not automatically scanned and drivers must be manually applied in order to proceed with an nfs install.) However, an install from a cdrom drive on the one computer, using the Slinky cdrom, is simple enough for the beginner. The various methods possible with Slinky are:
- Using stock Redhat cd’s on a stand alone computer whether the bios can boot from a cd or not.
- Using stock Redhat packages (rpm) already copied to a separate partition of a hard disk.
- Using stock Redhat cd’s from another computer on a lan by nfs or ftp or http.
- Using stock Redhat packages (rpm) from a remote computer by ftp or http
If a user requires yet another scenario, he or she is invited to describe the need on the list. This has already happened more than once and a solution was found. Installation over a serial cable is described in a separate page because while possible, it won’t be supported.
How to start
Remove or otherwise protect any disks with existing data that you do not want to loose. While there is some error checking done, the installer will not object if you make a typo, and choose to run the install on /dev/hda, rather than your empty test disk residing on /dev/hdb. (For example). Follow the instructions for your chosen install mode below.
Slinky supported install modes
With Slinky, the possible install modes are: floppy, local cdrom, nfs mounts, local disk iso image, local disk rpms, http, and ftp.
Once you have made the boot floppy as explained in the previous paragraphs, to begin the install, boot from the boot disk, and once the shell is available, enter
Local CDROM install
As expected: configure the BIOS to boot from CD, insert the RULE ISO image, reboot or power up, have the official RH CDs ready when they are prompted for. If the BIOS cannot boot from the cd, just use the first floppy instead. Once the shell is available, enter:
cd /scripts [enter] /scripts/setup.sh [enter]
Once the network comes up proceed with /scripts/setup.sh. Slinky mounts the exported file system on /mnt/cdrom and expects to find ALL of the needed rpms in /mnt/cdrom/RedHat/RPMS. So, if you are not exporting the cdrom drive from the nfs server, but some other directory, e.g. /home/username/, create /home/username/RedHat/RPMS and put all of the rpm files in that directory.
local ISO IMAGE(S)
Slinky will prompt for the partition containing the images, as well as the name(s) of the image file(s). Currently, only 2 image files are allowed. They can be located anywhere on the partition, you must specify the full path and filename of the images.
HTTP and FTP
Slinky prompts for the login (if needed), the server, port (optional) and the path to the rpm files. There is no fault tolerance built in. If the server refuses a connection, the installer will happily continue and try the next rpm. Use with caution, expect RPM install failures, unless you have a local server.
Installing from local RPMs
Slinky prompts for the partition containing the RPMS. The directory RedHat/RPMS must be located in the root of this partition, and contain all of the RPMS needed. You could, for example: Boot the install disk, manually mount a partition, create RedHat/RPMS, and use wget to download the needed files. Unmount the partition when done, and start the installer.
Note about network installs
If you need network access, bring up the network before beginning the install! There is a script included: /scripts/init_network.sh that may be helpful in getting the network up and configured. Simply edit it to suit your situation, and execute the script.
The file /scripts/init_network.sh can be found either on the RULE CD or on the ramdisk after being decompressed by booting from the Slinky floppy. (If the nic is not pci it may be necessary to add io=3D and irq=3D parameters to the insmod command.) To bring up the network before installing, follow these steps:
1. Boot to the slinky floppy.
2. At the boot prompt, enter
boot: linux dd updates3. At the Rule Install screen, press <Ctrl>+<Alt>+<F2>
4. Press <Enter>
5. Remove the slinky disk and put in the PCMCIA disk.
# mount /mnt/floppy # /mnt/floppy/setup_pcmcia.sh
7. If you have a Cirrus Logic PCMCIA controller, enter:
# vi /scripts/pcmcia.sh
Edit line 36 to read:
8. Edit the network file for your network:
# vi /scripts/init_network.sh
Edit the following parameters (use values for your network):
IPADDRESS=192.168.0.7 NETMASK=255.255.255.0 HOSTNAME=sirius GATEWAY=192.168.0.3 NAMESERVER=192.168.0.3
And later in the file, you can optionally add computer names for
your network to make tye typing a little easier.
HOST1="192.168.0.3 pleiades.local pleiades" HOST2="192.168.0.7 sirius.local sirius" HOST3= HOST4=
Note that there are tabs between each value.
9. Bring up the network like this:
# /scripts/pcmcia.sh start
Watch the messages and make sure everything comes up okay. Chances
are that it *won’t* come up okay… in which case you will have to
watch the error messages to see what went wrong. Focus on the
first error message.
10. Ping the server that has the rpms for the install. E.g.:
# ping pleiades
If you get response times of the order of milliseconds, you are
11. You’re ready to go back to slinky:
# umount /mnt/floppy # exit
12. Continue with the rest of the slinky install.
Notes about Bootloaders (GRUB and lilo)
Toward the end of the RULE installation process, you will be asked
where to write the LILO bootloader. You may wish to skip this stage
and simply create a bootdisk. This will leave your current bootloader
untouched. Later, you can install LILO or GRUB from within the RULE
installation (or from within another Gnu/Linux installation) once you
are satisfied with the configuration of your hard disk.
A generic grub.conf file is installed. No attempt is made to set the
correct values for the devices and paths. If you want use grub as your
boot loader, be sure to edit the file.
You will be offered the chance to install lilo as your boot
loader. lilo.conf is auto generated, and should be correct for your
installation. If you intend to dual boot a windows partition, you will
need to add an appropriate entry to lilo.conf and re-run lilo.
Lilo will overwrite the master boot record of the drive you select for
installation. You will be prompted before lilo executes, make sure the
drive selected is correct before you allow lilo to install.
Installing on challenged laptops
What if you have one of those laptops without space on disk, and only the floppy OR a NOT bootable CD-ROM? If some other Linux was already installed on the laptop, there is an easy way, which also works for any other Linux installation. Just copy all the needed image files (slinky-VERSION_NUMBER.img, etc..) on a local partition, for example /RULE/, and modify your bootloader to boot from there. In GRUB, you would add a section like this:
title RULE kernel /RULE/slinky-v0.3.4.img root=/dev/ram
then change the .img file permissions to 644, update GRUB, plug in the CD-ROM drive the ISO image if needed, and reboot. The same trick works with LILO, of course.
Step-by-Step Slinky install
You have finally managed to prepare your floppy image, or burned the RULE ISO image, and boot your PC. What now? Unless you have very weird hardware, it should be clear sailing. The following is an incomplete and unordered list of what to expect, with notes on some still tricky and/or potentially confusing points. The reason why (in version 0.6)
is so incomplete and unordered is because I (Marco) have typed it again by memory, sorry….)
- run /scripts/setup.sh, as already explained
- select the Red Hat version of which you have all the official binary CDs (as of July 2004, Slinky supports RH 7.x, 8.0 and 9.0)
- Select installation method. For this, see notes above, and the official Red Hat installation Guide for the version that you want to install.
- Select the stage 2 scripts from the CD-ROM, or whatever their location is (see again notes above on the several install methods)
- Choose the filesystem type
- Partition the disk if needed, with the standard program fdisk (add pointer to its home page here)
- Choose to format partitions (you DID backup, didn’t you?)
- At this point Slinky installs the rpm binary, places the root directory(partition??)onthe selected partition, and goes through the “pivot root phase” (ADD EXPLANATIONS HERE!!)
- Choose the selected packages (remember that RULE works with Red Hat rpm and binary packages, so you can install normal RPMs later!)
- (POINT HERE TO SOME LIST OF WHICH PACKAGES ARE INCLUDED IN EACH GROUP!!)
- Explain why and how to mount CDs manually
- Explain what to do when one gets the message: umount: newroot: Device or resource busy (is it still needed?? It was in some README until Slinky v.0.3.4…) .
- Select the boot loader you want to use (Grub is the default)
- Confirm [OK], the boot loader should have added all OS present on your computer to the =====boot menu=====.
- Select where to put the boot loader (Master Boot Record is selected by default).
- Enter the IP addess of this machine in your local network.
- Enter the netmask of your local network
- Enter the IP addess of the default gateway in your local network.
- Enter the name (partial or FQDN??) of this compuer in your local network.
- Select installation Languages
- Enter your root password and REMEMBER it.
- Create a normal user and choose his or her password.
Your install is now done. Remove the Red Hat installation CD from the CD drive (it is ejected automatically).
Post-Install Network Configuration for PCMCIA
If you are using a PCMCIA NIC (Network Interface Card), chances are that slinky will not have everything set up so that you can network. Follow these steps to configure your NIC and network with each boot-up. This will set up a PCMCIA card on a network using DHCP.
1. Edit /etc/sysconfig/pcmcia:
######################################################## PCMCIA=yes PCIC=i82365 PCIC_OPTS=i365_base=0xfcfc CORE_OPTS= CARDMGR_OPTS=-f ########################################################
Note: Don’t include the #’s. The PCIC and PCIC_OPTS are the same as from the slinky install. The 0xfcfc was be found by issuing the command
cat /proc/pci. These settings are peculiar to the Cirrus Logic card.
2. Create /etc/sysconfig/networking/profiles/default/ifcfg-eth0
######################################################## DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00:10:A4:0A:3F:3C ONBOOT=yes TYPE=Ethernet DHCP_HOSTNAME=sirius.local USERCTL=yes PEERDNS=yes IPV6INIT=no ########################################################
Note: HWADDR was got by issuing the command
3. Edit /etc/init.d/pcmcia and make line 112 read:
/sbin/modprobe $PCIC $PCIC_OPTS
Here’s the output of diff between the two:
######################################################## 112c112 < /sbin/modprobe $PCIC --- > /sbin/modprobe $PCIC $PCIC_OPTS ########################################################
4. Reboot the computer and make sure it works.
5. To bring up / shut down the network by hand, as root, enter
/sbin/ifup eth0. To take it down, enter