The "dredded" Intel ROM Chip
ROM Flashing - How to be successful!
Document Version: 004.10-March-2007 Howie Dines
ROM flashing is one of those tasks that can be a killer for the appliance.
So why bother taking the risk?
RaQ 550 OS on a RaQ 3 or RaQ 4
If your reason for flashing it is to load the RaQ 550 OS on a Raq 3 or 4,
you will need the version 2.9.34 rom.
Follow the same procedue as described in the section
Flashing for success!
CentOS 3 (or other distro's) on a RaQ 3 or RaQ 4
To load the CentOS 3, 2.4 Kernel on the RaQ you will need to have the
2.10.3-ext3 rom.
The following procedure assumes you have a working install of the
Raq 3/4/550 OS on your appliance.
Because of the hazards and risk of failure, please don't come back
if it all goes wrong. This being said if you take the following
precautions you shouldn't have a problem.
- Power the RaQ through a UPS (Uninterruptable Power Supply)
- Run a 'Console Connection' through the serial port using a
null modem cable
(This also gives you the added visualisation of what's
happening during BOOT)
- FTP the required rom and flashtool files to the RaQ.
- Backup the original rom file
(If the new causes errors, you can reflash the old one)
- Execute the commands from command line.
- Using the correct version of the flashtool.
I know that there are .pkg files out there to help with the flash
process. However there is nothing like the control you have running
the commands and seeing any failure codes whilst you can still do
something about it.
There is also a lot of discussion about the 'Dredded Intel ROM'
Chip.
If you find your motherboard has the Intel chip, you don't have to
give up. Providing you use the "correct" version of the
flashtool you can successfully flash an Intel ROM.
There are many versions of flashtool, with these
you shouldn't have problems with the AMD ROMS. However if you have
a Intel ROM you must ONLY use the version from
Tim Hockin's site. You can tell if you have the right
one by it's size. Tim's one is approx 1.5MB others are something
like 300-400kB.
I can honestly say that I have never had a failed flash using Tim's
flashtool.
Before we look at the flash process, let's look at what to expect.
You don't have to peel off the ROM's label to find out what ROM you
have. All information is displayed via the console during Boot.
The boot with the AMD ROM:
Sun Cobalt - Smaller, Bluer, Better
Firmware version 2.9.34
Current date: Mar 30 19:00:20 UTC 2006
ROM build info: Fri Apr 5 00:05:20 PST 2002 galvatron.cobalt.com
System serial number: Uninitialized
System type: 3000 series system, Version 1 board
Silicon serial number: 1b000007c4e7df01
Monitor: 153712 bytes
Memory: 256 MB
CPU: 1 processor(s) detected
CPU 0: AuthenticAMD 448MHz (4.5 x 100MHz host bus) [BSP]
Initializing flash: done
Flash Bank 0: AMD AM29F080B 1024KB (01:d5)
Flash Bank 1: not installed.
Mounting ROM fs: done
Initializing PCI: done
(end of snippet from file)
The boot with the Intel ROM:
Cobalt Networks - 'We serve it, you surf it'
Firmware version 2.3.0
ROM Build info: Wed Oct 6 15:23:25 PDT 1999 freakshow.cobaltnet.com
System serial number: 3603BM0201162
Memory found: 128 MB
Initializing I2C bus: done
Scanning PCI bus: done
Initializing IDE: done
IDE 0 master: found
slave: not found
IDE 1 master: not found
slave: not found
Initializing SCSI: no SCSI found - failed
Initializing ethernet: failed
Initializing EEPROMs: done
EEPROM Bank 0: Intel E28F008S5 1MB
EEPROM Bank 1: not installed.
Mounting rom_fs: done
Initializing RTC: done
(end of snippet from file)
A Successful Flash: (Using Tim Hockin's flashtool on an Intel ROM)
root@new admin]# ./flashtool -v -w cobalt.rom-2.9.34.img
./flashtool: searching for PCI 10b9:7101 : found it at /proc/bus/pci/00/03.0
./flashtool: systype = COBT_3K
./flashtool: bank 0: Intel E28F008S5 1MB
./flashtool: writing page 0
./flashtool: buffer page 0 does not exist - creating it
./flashtool: writing page 1
./flashtool: buffer page 1 does not exist - creating it
./flashtool: writing page 2
./flashtool: buffer page 2 does not exist - creating it
./flashtool: writing page 3
./flashtool: buffer page 3 does not exist - creating it
./flashtool: writing page 4
./flashtool: buffer page 4 does not exist - creating it
./flashtool: writing page 5
./flashtool: buffer page 5 does not exist - creating it
./flashtool: writing page 6
./flashtool: buffer page 6 does not exist - creating it
./flashtool: writing page 7
./flashtool: buffer page 7 does not exist - creating it
./flashtool: writing page 8
./flashtool: buffer page 8 does not exist - creating it
./flashtool: writing page 9
./flashtool: buffer page 9 does not exist - creating it
./flashtool: writing page 10
./flashtool: buffer page 10 does not exist - creating it
./flashtool: writing page 11
./flashtool: buffer page 11 does not exist - creating it
./flashtool: writing page 12
./flashtool: buffer page 12 does not exist - creating it
./flashtool: writing page 13
./flashtool: buffer page 13 does not exist - creating it
./flashtool: writing page 14
./flashtool: buffer page 14 does not exist - creating it
./flashtool: writing page 15
./flashtool: buffer page 15 does not exist - creating it
./flashtool: flushing buffers
./flashtool: flushing block 0 to ROM... verifying... done
./flashtool: flushing block 1 to ROM... verifying... done
./flashtool: flushing block 2 to ROM... verifying... done
./flashtool: flushing block 3 to ROM... verifying... done
./flashtool: flushing block 4 to ROM... verifying... done
./flashtool: flushing block 5 to ROM... verifying... done
./flashtool: flushing block 6 to ROM... verifying... done
./flashtool: flushing block 7 to ROM... verifying... done
./flashtool: flushing block 8 to ROM... verifying... done
./flashtool: flushing block 9 to ROM... verifying... done
./flashtool: flushing block 10 to ROM... verifying... done
./flashtool: flushing block 11 to ROM... verifying... done
./flashtool: flushing block 12 to ROM... verifying... done
./flashtool: flushing block 13 to ROM... verifying... done
./flashtool: flushing block 14 to ROM... verifying... done
./flashtool: flushing block 15 to ROM... verifying... done
(end of snippet from file)
A Failed Flash: (Using the smaller flashtool on an Intel ROM)
[root@new admin]# ./flashtool -v -w cobalt.rom-2.9.34.img
./flashtool.small: searching for PCI 10b9:7101 : found it at /proc/bus/pci/00/03
.0
./flashtool.small: systype = COBT_3K
./flashtool.small: bank 0: Intel E28F008S5/Sharp LM28F008SCT 1MB
./flashtool.small: Using pthread POSIX real time scheduling.
./flashtool.small: writing page 0
./flashtool.small: buffer page 0 does not exist - creating it
./flashtool.small: writing page 1
./flashtool.small: buffer page 1 does not exist - creating it
./flashtool.small: writing page 2
./flashtool.small: buffer page 2 does not exist - creating it
./flashtool.small: writing page 3
./flashtool.small: buffer page 3 does not exist - creating it
./flashtool.small: writing page 4
./flashtool.small: buffer page 4 does not exist - creating it
./flashtool.small: writing page 5
./flashtool.small: buffer page 5 does not exist - creating it
./flashtool.small: writing page 6
./flashtool.small: buffer page 6 does not exist - creating it
./flashtool.small: writing page 7
./flashtool.small: buffer page 7 does not exist - creating it
./flashtool.small: writing page 8
./flashtool.small: buffer page 8 does not exist - creating it
./flashtool.small: writing page 9
./flashtool.small: buffer page 9 does not exist - creating it
./flashtool.small: writing page 10
./flashtool.small: buffer page 10 does not exist - creating it
./flashtool.small: writing page 11
./flashtool.small: buffer page 11 does not exist - creating it
./flashtool.small: writing page 12
./flashtool.small: buffer page 12 does not exist - creating it
./flashtool.small: writing page 13
./flashtool.small: buffer page 13 does not exist - creating it
./flashtool.small: writing page 14
./flashtool.small: buffer page 14 does not exist - creating it
./flashtool.small: writing page 15
./flashtool.small: buffer page 15 does not exist - creating it
./flashtool.small: flushing buffers
./flashtool.small: flushing block 0 to ROM... verifying... done
./flashtool.small: flushing block 1 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 1! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 2 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 2! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 3 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 3! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 4 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 4! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 5 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 5! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 6 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 6! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 7 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 7! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 8 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 8! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 9 to ROM..../flashtool.small: flashrom_flush
_buffers(): erase failed for block 9! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 10 to ROM..../flashtool.small: flashrom_flus
h_buffers(): erase failed for block 10! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 11 to ROM..../flashtool.small: flashrom_flus
h_buffers(): erase failed for block 11! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 12 to ROM..../flashtool.small: flashrom_flus
h_buffers(): erase failed for block 12! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 13 to ROM..../flashtool.small: flashrom_flus
h_buffers(): erase failed for block 13! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 14 to ROM..../flashtool.small: flashrom_flus
h_buffers(): erase failed for block 14! Bad or non-existent flash chip?
done
./flashtool.small: flushing block 15 to ROM..../flashtool.small: flashrom_flus
h_buffers(): erase failed for block 15! Bad or non-existent flash chip?
done
./flashtool.small: flashrom_cleanup(): device error flushing buffers
[root@new admin]#
(end of snippet from file)
ROM Chips
Where are the ROM chips and what do they look like.
The ROM chip is located in the middle of the motherboard, just to one side.
(Click the following picture to enlarge)
To my knowledge there are 4 types of ROM's used in RaQ's
- AMD
- Intel
- ST (SGS Thompson)
- Mitsubishi
The ROM Chips come with a white sticker (Decal) on them.
Once removed the chip manufacturer can clearly be seen.
I've yet to see a Mitsubishi one, so I can't show a picture
of it.
Flashing for success!
Let's bite the bullet and go for it.
1) Boot the system looking at the boot process via the console.
2) FTP the required files to the system.
3) Login and navigate to the dir with the uploaded files.
# chmod 777 flashtool
4) Backup existing ROM (in this case an Intel one)
# ./flashtool -v -r > original.rom
[root@new admin]# ./flashtool -v -r >original.rom
./flashtool: searching for PCI 10b9:7101 : found it at /proc/bus/pci/00/03.0
./flashtool: systype = COBT_3K
./flashtool: bank 0: Intel E28F008S5 1MB
./flashtool: reading page 0
./flashtool: reading page 1
./flashtool: reading page 2
./flashtool: reading page 3
./flashtool: reading page 4
./flashtool: reading page 5
./flashtool: reading page 6
./flashtool: reading page 7
./flashtool: reading page 8
./flashtool: reading page 9
./flashtool: reading page 10
./flashtool: reading page 11
./flashtool: reading page 12
./flashtool: reading page 13
./flashtool: reading page 14
./flashtool: reading page 15
./flashtool: flushing buffers
5) Flash new ROM
# ./flashtool -v -w cobalt-2.10.3-ext3-1M.rom
Compare result with sections A Successful Flash:
and A Failed Flash: above.
6) If successful, then reboot the system.
If you have errors, then keep trying or your system will
not reboot again !!
If you can't get it to work, reflash the original or fall-back roms.
|