From coreboot
Revision as of 23:28, 10 March 2008 by Linux junkie (talk | contribs) (New page: The RCA RM4100 was originally designed by Thomson Electronics and was called the IP1000. I was then manufactured by RCA and named the RM4100. It is a great little set-top-box for coreboot....)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to Contributions welcome!

The RCA RM4100 was originally designed by Thomson Electronics and was called the IP1000. I was then manufactured by RCA and named the RM4100. It is a great little set-top-box for coreboot.


Device/functionality Status Comments
CPU works OK Mobile Intel(R) Celeron(TM) CPU 733MHz
L1 cache enabled OK
L2 cache enabled OK 256 KB
L3 cache enabled N/A
Multiple CPU support N/A
Multi-core support N/A
Hardware virtualization N/A
SO-DIMM OK Onboard 128MB PC133
Dual channel support N/A
ECC support N/A
On-board Hardware
On-board IDE 3.5" OK Tested with hard drive
On-board IDE 2.5" OK Tested with 2.5" hard drive and adapter
On-board SATA N/A
On-board SCSI Unknown
On-board USB OK Tested with USB Keyboard
On-board VGA OK VGA support in coreboot works fine
On-board Ethernet OK Onboard Intel 82562ET LAN On Motherboard (LOM) Design
On-board Audio OK
On-board Modem OK
On-board FireWire N/A
On-board Smartcard reader N/A
On-board CompactFlash OK
On-board PCMCIA N/A
On-board Wifi N/A
On-board Bluetooth N/A
On-board SD card reader N/A
Add-on slots/cards
ISA add-on cards N/A
Audio/Modem-Riser (AMR/CNR) cards N/A
PCI add-on cards N/A
Mini-PCI add-on cards Unknown
Mini-PCI-Express add-on cards Unknown
PCI-X add-on cards Unknown
AGP graphics cards N/A
PCI Express x1 add-on cards N/A
PCI Express x2 add-on cards N/A
PCI Express x4 add-on cards N/A
PCI Express x8 add-on cards N/A
PCI Express x16 add-on cards N/A
PCI Express x32 add-on cards N/A
HTX add-on cards N/A
Legacy / Super I/O
Floppy N/A
Serial port 1 (COM1) OK
Serial port 2 (COM2) OK IR is connected to COM2
Parallel port OK There is no actual Parallel connector, the Parallel is used to enable IR and control 3 LED's
PS/2 keyboard N/A
PS/2 mouse N/A
Game port N/A
Infrared OK
PC speaker N/A
DiskOnChip N/A
Trackpoint N/A
Touchpad N/A
Fn Hotkeys N/A
Fingerprint Reader N/A
Docking VGA N/A
Docking LAN N/A
Docking USB N/A
Docking Audio N/A
Docking Displayport N/A
Thinklight N/A
Webcam N/A
Sensors / fan control OK lm_sensors uses I801, smsc47m192
Hardware watchdog Untested
SMBus Unknown
CAN bus N/A
CPU frequency scaling Untested
Other powersaving features WIP
Reboot WIP
Poweroff WIP
Suspend Unknown
Nonstandard LEDs OK Controled by Parallel Port
High precision event timers (HPET) N/A
Random number generator (RNG) N/A
Wake on modem ring Untested
Wake on LAN Untested Enabled on LOM Design, should work fine but untested
Wake on keyboard Untested Supported by the Super I/O but not implimented
Wake on mouse N/A
TPM Unknown
Flashrom WIP

Building a coreboot image

Before building coreboot for the RCA RM4100 there are a few settings to consider.

1. Do you want to use VGA for your application?

Edit targets/rca/rm4100/

# option ROM_SIZE = 1024 * 1024 


option ROM_SIZE = 1024 * 1024 

and change

option ROM_SIZE = (1024 * 1024) - (64 * 1024) 


# option ROM_SIZE = (1024 * 1024) - (64 * 1024)


option CONFIG_CONSOLE_VGA = 1 and option CONFIG_PCI_ROM_RUN = 1 

to 0


option CONFIG_VIDEO_MB = 8 

to 0

Edit src/mainboard/rca/rm4100/
Comment out these lines so it looks like this:

#    chip drivers/pci/onboard		# Onboard VGA
     device pci 2.0 on end		# VGA (Intel 82830 CGC) 
#      register "rom_address" = "0xfff00000" 
#    end

If you do want VGA you can choose how much memory is pre-allocated for VGA. Possible options are:

## 0 for No memory pre-allocated (Graphics memory Disabled)
## 512 for DVMT (UMA) mode, 512K of memory pre-allocated for frame buffer
## 1 for DVMT (UMA) mode, 1M of memory pre-allocated for frame buffer
## 8 for DVMT (UMA) mode, 8M of memory pre-allocated for frame buffer

To adjust this edit targets/rca/rm4100/ and change option


and change it to any of the options above. Note: Remember that if you do want VGA you will need the vga bios file (vga.bin).

2. Next you will need to prepare a payload. See the Payloads page for your options. For this Tutorial I will use filo to boot from a hard drive to Grub/Fedora Core 7. In the filo directory run


like instructed in the INSTALL directions and then edit Config. Change:

MENULST_FILE = "hda3:/boot/filo/menu.lst"

to (menu.lst is a symlink to grub.conf and filo does not like that)

MENULST_FILE = "hda1:/boot/grub/grub.conf"

to boot to grub on the compact flash or

MENULST_FILE = "hdc1:/boot/grub/grub.conf"

to boot to grub on the harddrive (if you have the HD hack installed).


#SERIAL_SPEED = 115200



to insure we get output to the serial console. That should be it. Now you can run


again to build your payload elf file. Once that finishes copy filo.elf to the /tmp directory, or you can adjust targets/rca/rm4100/ to point to where filo.elf is.

3. Now we are ready to build core boot.

cd ~/coreboot-v2/targets
./buildtarget rca/rm4100
cd rca/rm4100/rm4100

If your using VGA to now need to prepend your video bios to the coreboot.rom

cat vga.rom coreboot.rom > bios.bin

4. At last your ready to flash bios.bin to your RM4100. If this is the first time, meaning your rm4100 still has the original bios, you need to use the method on the RM4100 Customizing website to flash otherwise you can just use flashrom.