The Curious Admin
There was a problem reading this feed (see error.log for details).
|
|
Welcome to fallenknight.org Thursday, March 11 2010 @ 07:07 AM MST
NOTE: This is not maintained any more, as I've gotten rid of my cobalts.
For most all of this, I've used the following pages as very useful references: Kernel images for Cobalts - Cobalt Hacking FAQ - Francisco Jorge's original RH8 on a RaQ3 walkthrough - DHCP and/or btoip - New Cobalt ROMs - Installing RH on a Qube - Installing RH into UML - Raqware.com (buy RaQ's, get them fixed, etc)
I have successfully gotten RedHat 8.0 AND Fedora Core 1 installed on my RaQ3 after much beating and gnashing of teeth. I'll get the fully documented list up shortly (as I had to find a few more things that weren't documented in the above sites).
NOTE: If, at any point, you run into a step where the cobalt just refuses to do something, consider trying another machine as your "host" server. I beat my head into a wall trying to get someone's Cobalt to install, until I realized that (for example) Linux box A was seeing BOOTP requests as well as DHCP requests, whereas the workstation I was using (on the SAME SWITCH, EVEN), was only seeing the DHCP requests. Later on, after manually fixing that problem, it refused to recognize that my NFS mount was a legitimate one. I moved it the other machine, and it worked great the first try.
How-to: Install Redhat on a Cobalt RaQ3
- Have a linux machine (preferably the same version that you're trying to install to the RaQ3) available to run DHCP, RARP, NFS, and a terminal application (minicom works fine)
- DHCP
- RARP - You MAY or may NOT need this. Some machines will recognize the bootp broadcast, and some won't (not sure why). If the cobalt won't find an IP during the installation, try installing RARP. Also, the default installation won't work, as it tries checks for a bootfile based on the MAC address of the machine you're trying to netboot (a holdover from the Sun days, as Sun boxes will netboot via this method). You'll need to run
rarpd -e manually, or just modify the /etc/init.d/rarpd file and add the -e in on the daemon line.
- NFS - We'll set this up later.. just make sure you have the NFS server and portmap installed (all the redhat installations do by default)
- Terminal App - Minicom works fine. The only specifics you need to know are which serial port you'll be using on the server, and the serial port settings should be 115200,8,N,1
- Need to add more?
- Upgrade the ROM in your RaQ3 - This will definitely invalidate your warranty, in case you're worried about that, but this is necessary for the 2.4 kernel, plus ext3 and more goodies. You can get the ROMS at the Cobalt-ROM sourceforge site. BIG FAT WARNING: It seems that most of the RaQ3's come with an Intel FLASH chip that is ghetto, and quite possibly may be dead. The flashing process MAY FAIL IN THE MIDDLE AND NOT KEEP GOING. If it does, you're probably dead in the water. You can buy a new flash from Raqware.com, or you can just ship it to them and they'll fix it for you.. but at that point, isn't it cost effective to spend a little more on a better machine? Up to you..
- Download the 2.10.3 ROM and the romutils from the Cobalt-ROM sourceforge site. Do not get the ones that end in -flat. Those are for the RaQ 550's. Whether or not you get the regular or the security enhanced kernel is up to you. (hint: not many people will need the SE version)
- You'll need to download this to the RaQ3. This is assuming that it's running SOMETHING right now - probably the default Cobalt OS. You can get the rom and romutils with wget once you find the URL to use. After un-bziping the romutils package, you'll find flashtool along with a number of other programs that you probably won't need right now.
- First, make a backup of your current rom:
./flashtool -v -r > stock.backup.rom
Make sure there are no error messages that appear. If there are, try it again. If you do not have a good backup of the rom, you won't be able to restore it if the upgrade fails.
- Now, you'll be upgrading the ROM:
./flashtool -v -w cobalt-2.10.3-1M.rom
Again, if you see any errors at all, try it again. I've never had it fail, but I've seen that occasionally it will, but retrying will eventually work. Messages such as "buffer page X does not exist - creating it" are not errors.WARNING: if the ROM is not written correctly, then you reboot, you've now created a rather large boat anchor. The rom is only read on power on/reset, so you can keep trying until it works, or restore the stock rom you backed up.
- Once you have the new rom written successfully, reboot, and you should see the new rom messages on both the LCD as well as the serial console.
- The new rom will probably be reset with the defaults, but some things you might want to check/change:
- Type
lowlevel then cmos to get to the CMOS menu.
- To turn on debug mode (useful to see where you run into errors with your custom kernel later), type
cmos_flags debug on. - I noticed that turning this on made things seem smoother, so you might want it on until you finish installing, then turn it off.
- To change the IP that the RaQ tries to boot from, type
btoip octet1 octet2 octet3 octet4. Note that there are spaces, not dots between the octets of the IP address. This should be the IP address of the linux server you're installing from. - You should only have to do this if your NFS and DHCP/RARP server are not the same. Otherwise, leave it alone.
- Find a spot on the linux server with about 1.3GB of space, and copy the CD data to a directory. (Installing via NFS works with just the ISO images, but until I iron down what's failing in the RH9/FC1 install, I'm not taking chances) - I used /var/rh8.
- Insert CD 1
mount /mnt/cdrom (not necessary if you're in X and the CD automounts)
cp -a /mnt/cdrom/RedHat /var/rh8
cp -a /mnt/cdrom/images /var/rh8
cp -a /mnt/cdrom/RELEASE-NOTES* /var/rh8
umount /mnt/cdrom
eject cdrom
- Insert CD 2
mount /mnt/cdrom (not necessary if you're in X and the CD automounts)
cp -a /mnt/cdrom/RedHat /var/rh8
umount /mnt/cdrom
eject cdrom
- Insert CD 3
mount /mnt/cdrom (not necessary if you're in X and the CD automounts)
cp -a /mnt/cdrom/RedHat /var/rh8
umount /mnt/cdrom
eject cdrom
- Now you'll need to extract the installer files from the boot disk image.
- Copy bootnet.img from /var/rh8/images to /tmp (or wherever you feel like using as a temporary working area). i.e.:
cp /target/directory/images/bootnet.img /tmp Fedora Note: I had to download the bootdisk.img from the fedora.redhat.com site, as using the one on the ISO did not work at all.
- Mount bootnet.img as loopback. i.e.:
mount -o loop /tmp/bootnet.img /mnt
- Copy /mnt/initrd.img (from the previous example) to the work directory, then unmount it. i.e.:
cp /mnt/initrd.img /tmp
umount /mnt
- initrd.img is actually a gziped file, even though it does not have the gz suffix. You'll need to rename it. then gunzip
it in order to use it:
cd /tmp
mv initrd.img initrd.img.gz
gunzip initrd.img.gz
- Mount the new initrd.img as loopback:
mount ?o loop /tmp/initrd.img /mnt
- Copy everything under /mnt to /nfsroot-x86. This directory is mandatory, as it's what the rom looks for when the cobalt does a boot netkernel.
mkdir /nfsroot-x86
cd /mnt
cp -a . /nfsroot-x86
umount /mnt
- Make sure anyone can write to the /nfsroot-x86 directory:
chmod -R 777 /nfsroot-x86 Hint: Fedora seems to corrupt the /nfsroot-x86 directory after it runs once, so you might want to make a copy before you try to install, so that all you have to do is delete the folder and recreate from the copy, instead of going through all the above steps.
- Set up NFS for netbooting and installing from:
- 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/exports file in the Linux machine and add the following lines:
/nfsroot-x86 *(rw,sync)
/target/directory *(rw,sync)
Yes, I know this is terribly insecure, but I'm assuming you're on a private network. If you want to make it more secure change the * to the network you're on, such as 192.168.0.0/24
- Start (or restart) the various daemons for NFS:
service portmap restart
service nfs restart
- Build custom linux kernel (on other linux box) to boot the installer
- Get the latest kernel patch from cobalt.iceblink.org (currently 2.4.25)
- Get the matching kernel from kernel.org (linux-2.4.25.tar.gz)
- uncompress said kernel in /usr/src
- patch the kernel with the cobalt patches:
patch -p0 < patchfile
- copy my config file into /usr/src/(kerneldir)/.config and run
make oldconfig
make dep ; make clean; make vmlinux
bzip2 vmlinux
cp vmlinux.bz2 /tftpboot
cp vmlinux.bz2 /nfsroot-x86
- Boot Cobalt from network kernel.
- Reboot the RaQ, and at the CMOS screen, type
bfx n n. This will boot from the kernel you just built, and mount the installer disk via NFS.
- Install Redhat/Fedora
- The only real trick to this part is to make sure that hda1 is your root partition. That will make for fewer changes you have to make to the CMOS.
- Boot Cobalt from network kernel but disk filesystem.
- After the install has finished, reboot, and at the CMOS screen, type
bfx n d. This will boot from the kernel you used to install with, but use your newly installed distribution.
- Build custom linux kernel (on the Cobalt) for the installed system
- Here, you go through the same steps as the first kernel you built to install it. The only difference is that you can pick the various modules, etc, that you'll want to run. As long as you have the Cobalt section filled out, you'll be fine.
- Once you're done with the config, follow these steps:
make dep; make clean; make vmlinux; make modules; make modules_install
bzip2 vmlinux
cp vmlinux.bz2 /boot
- Reboot!
- Make the final change to the CMOS
- Reboot, go into the boot menu, and set the default boot device to disk, if you changed it at some point:
boot
set_boot_type disk
- You're done!
Last Updated Wednesday, September 20 2006 @ 10:14 AM MDT|16,352 Hits 
|