vuxu.org: Ceres

Ceres is a 1st generation Raspberry Pi (Revision 0002, BCM2708 700 MHz ARMv6) running Arch Linux ARM.

The naming

Ceres is the only one of Rome’s many agricultural deities to be listed among the Di Consentes, Rome’s equivalent to the Twelve Olympians of Greek mythology. The Romans saw her as the counterpart of the Greek goddess Demeter, whose mythology was reinterpreted for Ceres in Roman art and literature.

How to reprogram a Lenovo L201p

First of all, the Raspberry Pi didn’t detect my old TFT correctly, thus these steps were necessary (this probably will not work with modern monitors, because the edid is write protected):

  • Note that there are different EDID information for VGA and DVI-D (VGA was ok, DVI-D was corrupted)
  • Use a radeon graphics card (my onboard Intel only exposed I2C over VGA)
  • Install i2c-tools and edid-decode, and get https://github.com/bulletmark/edid-rw
  • Load i2c support: modprobe i2c-dev
  • Find out which i2c bus we need: i2cdetect -l
  • Scan the radeon devices for the display: i2cdetect 0, i2cdetect 1 … The matching display will have addresses 50 and 37 at least
  • Dump the EDID information: edid-rw 1 > edid
  • Check its the correct device: edid-decode < edid
  • Magically fix the EDID (in my case the first byte was not 00)
  • Check the EDID for the right checksum with edid-decode
  • Write the EDID again: edid-rw -w 1 < edid (Here, an invalid address error occured, but it was written nevertheless. I wrote the EDID while the monitor was off.)
  • Enjoy your fixed monitor.

Theoretically, the pi can do hdmi_ignore_edid=0xa5000080 in /boot/config.txt and then select the mode with hdmi_mode=XXX, but this did not work for me.

To get a crisp disply, use disable_overscan=1.

Setup

Hardware: noname USB hub in orobus mode: power comes from the external power supply, the USB uplink is plugged into one of the two ports of the Pi, one USB hub port is used to power the Pi itself.

Software: Straight forward ArchLinux ARM installation, replaced sysvinit with ignite. Use xf86-video-fbdev as X.org server.

Overclocking

I tried to overclock according to the eLinux wiki, but this did not run stable over a few days, so I reverted back to 700 MHz.