Subject:
[cobalt-developers] Procedure to install RedHat 8 on a Cobalt (Raq3)
From:
"Francisco Jorge" <franjorge@xxxxxxxxxxx>
Date:
Tue, 22 Apr 2003 16:09:55 +0200
To:
cobalt-developers@xxxxxxxxxxxxxxx
Hi,
Some time ago I promised to write down the procedure to install RH 8
on a Raq3 without removing the hard disk. I wrote it the same day of
the initial post, but I wanted to check if there were any mistake on
it. Unfortunately I am becoming more and more busy, so I think I will
not have time to do this in a near future.
So I have decided to post the NON TESTED procedure I have written down
some time ago. Please note that I cannot take any responsibility of
any damage caused to your Cobalt if you decide to try it.
All I can say is that I have the RedHat running on my Cobalt for some
weeks now and it works fine and that I have tried to write the same
steps I followed.
Please note that I have written this procedure more or less by heart.
So maybe I have forgotten some steps or maybe some are unnecessary. If
you get stuck at any point, please, write to the list. I will try to
answer as soon as I can. If anybody is willing to rewrite this
procedure in correct English and put it in a web page, he or she will
be welcomed.
If after all these warnings you are still willing to try it, please
let me know if it worked out for you.
And finally, here you have the steps:
Please note that this procedure may void your Cobalt guarantee and can
even make your Cobalt not to boot again!!!!!!
I cannot take any responsibility to damages caused to your Cobalt
during any of the exposed steps.
1) Upgrade the rom kernel as explained in
http://www.gurulabs.com/rhl-cobalt-howto/redhat.qube3.howto.2.html,
but instead of the 2.3.40.rom use the rom in:
ftp://ftp-eng.cobalt.com/pub/users/thockin/2.4/2.9.34.rom.
Please read all the READMES and warnings.!!!!!!!!!!!!!!!!!
I have not tried the 2.3.40 rom, but I have seen that 2.9.34 rom
offers many interesting features.
2) You need another machine running Linux in order to act as a DHCP
and NFS server. Configure the DHCP server to offer an IP to the Cobalt
when it boots. I have connected the Cobalt and the Linux server to the
same LAN segment, and the DHCP has offered an IP of the same IP subnet
to the Cobalt.
3) Copy the contents of the RedHat directory and the Release Notes on
the three CDs of the RH distribution to a directory in the Linux
machine. Repeat these steps for each CD:
 Insert disc
 mount /mnt/cdrom
 cp -a /mnt/cdrom/RedHat /target/directory
 cp /mnt/cdrom/RELEASE-NOTES* /target/directory
 umount /mnt/cdrom
 eject
4) Copy the file bootnet.img from the ‘images’ directory on the first
CD of the RH distribution to the Linux machine.
5) Mount the bootnet.img as a loopback device, for example in /mnt
mount -o loop bootnet.img /mnt
6) Copy the file /mnt/initrd.img for example to the /root directory of
the Linux machine:
cp /mnt/initrd.img /root
7) The initrd.img file is gziped, although it does not have the gz
suffix. In order to decompress it we need to change its suffix first
and then gunzip it:
cd /root
mv initrd.img initrd.img.gz
gzip -d initrd.img.gz
8) Umount the /mnt directory
umount /mnt
9) Mount the initrd.img as a loopback device, for example again on /mnt.
mount –o loop initrd.img /mnt
10) Copy everything under /mnt to /nfsroot-x8. You should not change
the name of this directory, since this is the place where the Cobalt
will look for the nfsroot filesystem (well, in fact you could, but you
would have to pass more arguments to the boot-rom):
mkdir /nfsroot-x86
cd /mnt
cp -a . /nfsroot-x86/
umount /mnt
11) Change permissions to everything under /nfsroot-x86 in order to
allow the installation program of RedHat to write onto the tmp directory
chmod -R 777 /nfsroot-x86
12) Export the /nfsroot-x86 and the directory where you have copied
the RedHat CDs in step 3) in NFS. In order to do this edit the
/etc/exportfs file in the Linux machine and add the following lines
/nfsroot-x86 172.16.1.0/24(rw)
/target/directory 172.16.1.0/24(rw)
Substitute 172.16.1.0/24 with the IP subnet to which the Linux machine
is attached and /target/directory with the directory where you have
copied the RH distribution.
Then issue the `exportfs` command in order to export the directories.
exportfs
13) On the Linux machine you have to compile a kernel. This kernel
will be used to boot the Cobalt from network. I have followed the
following steps:
a) Go to the /usr/src/linux-2.4. If you do not have this directory on
your Linux machine you have to install the necessary packages to
compile new kernels (I do not know exactly which packages are these,
but this is widely explained in the WWW)
cd /usr/src/linux-2.4
b) Copy a config file to this directory. I have used the config file
in /usr/src/linux-2.4/configs/kernel-2.4.18-i386.config:
cp /usr/src/linux-2.4/configs/kernel-2.4.18-i386.config ./.config
c) Edit this file and add LVM and Ethernet support to the kernel,
changing the lines:
CONFIG_BLK_DEV_LVM=m
CONFIG_EEPRO100=m
with
CONFIG_BLK_DEV_LVM=y
CONFIG_EEPRO100=y
d) Prepare the system to compile the kernel with this new config file
make oldconfig
make dep
e) Compile the new kernel
make vmlinux
f) When finished, you will have a vmlinux file on /usr/src/linux-2.4.
Compress this file with either gzip or bzip2. I have used gzip, but
this really does not matter:
gzip vmlinux
g) Move the compressed file to the /nfsroot-x86 directory in order to
make it accessible via NFS
mv vmlinux.gz /nfsroot-x86
14) Now you have all you need to begin the installation of RedHat 8.0.
Attach a console to the serial port of the Cobalt and reboot it. When
it starts booting, press the space bar when told to do so in order to
access the ROM menu.
15) When you are in the boot menu type:
boot
to access the boot menu.
16) Then force a network boot typing:
bfn
17) The Cobalt will boot, taking the newly compiled kernel from the
Linux machine via NFS. This kernel will also mount the nfsroot-x86
filesystem from the Linux machine and will start installation. During
installation, you will be asked to select an installation method
(NFS), the distribution files location (/target/directory written in
step 3), the IP address of the NFS server (this is the IP of the Linux
machine), and some other obvious things (netmask, DNS server, gateway,
etc.). The rest of the installation is a normal text-based RedHat
installation, including disk format (You will loose all your
information on the Cobalt!!!!!!!!)
18) After installation is complete, there is still one problem to
solve. RedHat installation puts a complete bootsector on the /boot
directory, which can be used by lilo or grub to boot the machine.
Nevertheless the Cobalt can only boot a compressed kernel image, but
not a bootsector. To solve this issue, we need to put a compressed
kernel image to the /boot directory of the Cobalt. To do so, when the
installation finishes, reboot the Cobalt. One of the problems I have
found is that with the general RedHat kernel, the ‘reboot’ command on
the Cobalt does not work properly, so probably you will have to switch
it off and on again. Press the space bar during reboot in order to
enter the rom menu.
19) In the rom menu type
bfx n d
This will boot the Cobalt using the kernel in the Linux box, but
mounting the recently created filesystem in the Cobalt.
20) When the Cobalt reboots, compile the kernel in the Cobalt,
following the same steps described in step 12) but this time in the
Cobalt, instead of the Linux box. Copy the vmlinx.gz to the /boot
directory and reboot the Cobalt. Again, you will have to switch it off
and on after issuing the reboot command (wait to switch the Cobalt off
untill the message “Restarting System” appears).
And that’s it. Now your Cobalt has a brand new RedHat 8.0 installed.
The other problem I have found is that I cannot use the LCD display. I
have a /dev/lcd device, but if I try to use the lcd-write utility (you
can install the lcd packages from the Cobalt Restoration Disk) I get
the message “LCD is not present”.
21) Lately I have received the following message from Duncan Laurie.
Now I am running his kernel and it is working fine (including the
reboot and the lcd features), so you can use it as an alternative to
the kernel compiled in step 20. Thanks, Duncan:
----BEGIN OF QUOTE----
You will need a patched kernel to get a few things working right, one
of them is reboot because the RaQs do not have a standard PC BIOS. If
you are interested I have some RH8 kernel RPMS that have been modified
to add cobalt support. The binarys are here:
http://cobalt.iceblink.org/redhat/binary/
kernel-cobalt-III-2.4.18-24.8.0.i386.rpm # for RaQ 3, RaQ 4, Qube 3
kernel-cobalt-V-2.4.18-24.8.0.i386.rpm # for RaQ XTR, RaQ 550
This kernel includes the LCD driver necessary for the panel-utils
package to work, but you will need to install the lcd device first:
mknod /dev/lcd c 10 156
There is more information on how these kernels were built as well as
the required kernel patches available here:
http://cobalt.iceblink.org/redhat/build/readme.build
----END OF QUOTE----
_____________________________________________
Francisco Jorge
email: franjorge@xxxxxxxxxxx
_________________________________________________________________
Multiplica por cinco el tamaño de tu buzón de correo y envía adjuntos
de hasta 2 Mb con MSN Almacenamiento Extra.
http://join.msn.com/?pgmarket=es-es