Difference between revisions of "Cobalt Firmware"

From LinuxMIPS
Jump to: navigation, search
m
(Kernel is too large: Info copied over from "Cobalt" page)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The '''Cobalt Firmware''' is only used on Cobalt MIPS systems.  It consists of a Linux 2.0 kernels which can read a gziped ELF kernel directly from a serial line at 115200bps, 8N1.  When booting from disk the firmware kernels expects the kernel binary to be booted to reside on an ext2 filesystem /dev/hda1 as /vmlinux.gz. It can also boot a backup kernel from /usr/games/.doug if you hold all four arrow buttons in whilst powering the unit on.
+
The '''Cobalt Firmware''' is only used on Cobalt MIPS systems.  It consists of a Linux 2.0 kernel which can read a gziped ELF kernel directly from a serial line at 115200bps, 8N1.  When booting from disk the firmware kernels expects the kernel binary to be booted to reside on an ext2 filesystem /dev/hda1 as /vmlinux.gz.
 +
 
 +
= Features of this firmware =
 +
 
 +
* By default, the firmware will try to load /vmlinux.gz from hda1
 +
* It can boot /usr/games/.doug as an alternate kernel if you hold all four buttons in whilst powering the unit on.
 +
* Holding in the "password reset" button switches on the serial console.  When you see "Console ON" switch the unit off, then back on again to use the console.
 +
* Holding the LEFT + RIGHT arrow buttons triggers a netboot.  See below.
 +
* Pressing space during the diagnostics (serial console) drops you to a shell... 'bfd vmlinux.blah.gz' will load an alternate kernel.
 +
 
 +
= Limitations =
 +
 
 +
This firmware has two major limitations:
  
 
== Firmware can't mount the boot partition ==
 
== Firmware can't mount the boot partition ==
Line 5: Line 17:
  
 
== Kernel is too large ==
 
== Kernel is too large ==
Due to unfortunate use of the available memory the size of the bootable kernel is severly restricted.  In Linux 2.6 even a minimal kernel will exceed this limit.
+
Due to unfortunate use of the available memory the size of the bootable kernel is severly restricted (about 620 kB, depending on model).  In Linux 2.6 even a minimal kernel will exceed this limit.  For 2.4, one should try "strip vmlinux" then "gzip -9 vmlinux" to reduce the size to a minimum.
 +
 
 +
= Netbooting =
 +
 
 +
This firmware is capable of loading a kernel over NFS when you hold both the LEFT and RIGHT arrow buttons on boot.  The unit first obtains an IP number via [[BOOTP]].
 +
Once the system is up, it then mounts /nfsroot off the BOOTP server (or a specified server via the 'next-server' parameter -- check this) and attempts to execute vmlinux_raq-2800.gz from this directory.
  
== Replacement Firmware -- [[CoLo]] ==
+
= Replacement Firmware -- [[CoLo]] =
  
 
There is a replacement firmware available that can either be burned into the flash chip, or chainloaded from the existing firmware.  See the [[CoLo]] page for more information.
 
There is a replacement firmware available that can either be burned into the flash chip, or chainloaded from the existing firmware.  See the [[CoLo]] page for more information.

Latest revision as of 22:48, 27 February 2006

The Cobalt Firmware is only used on Cobalt MIPS systems. It consists of a Linux 2.0 kernel which can read a gziped ELF kernel directly from a serial line at 115200bps, 8N1. When booting from disk the firmware kernels expects the kernel binary to be booted to reside on an ext2 filesystem /dev/hda1 as /vmlinux.gz.

Features of this firmware

  • By default, the firmware will try to load /vmlinux.gz from hda1
  • It can boot /usr/games/.doug as an alternate kernel if you hold all four buttons in whilst powering the unit on.
  • Holding in the "password reset" button switches on the serial console. When you see "Console ON" switch the unit off, then back on again to use the console.
  • Holding the LEFT + RIGHT arrow buttons triggers a netboot. See below.
  • Pressing space during the diagnostics (serial console) drops you to a shell... 'bfd vmlinux.blah.gz' will load an alternate kernel.

Limitations

This firmware has two major limitations:

Firmware can't mount the boot partition

The firmware is based on a Linux 2.0 kernel. This kernel only supports ext2 rev. 0 filesystems. Current e2fsprogs however default to rev. 1. Journaling isn't supported with rev. 0 filesystems either so the partition containing the kernel cannot be ext3.

Kernel is too large

Due to unfortunate use of the available memory the size of the bootable kernel is severly restricted (about 620 kB, depending on model). In Linux 2.6 even a minimal kernel will exceed this limit. For 2.4, one should try "strip vmlinux" then "gzip -9 vmlinux" to reduce the size to a minimum.

Netbooting

This firmware is capable of loading a kernel over NFS when you hold both the LEFT and RIGHT arrow buttons on boot. The unit first obtains an IP number via BOOTP. Once the system is up, it then mounts /nfsroot off the BOOTP server (or a specified server via the 'next-server' parameter -- check this) and attempts to execute vmlinux_raq-2800.gz from this directory.

Replacement Firmware -- CoLo

There is a replacement firmware available that can either be burned into the flash chip, or chainloaded from the existing firmware. See the CoLo page for more information.