Thomson IP1000:Howto coreboot and Linux

NOTE: THE TV-OUT IS NOT WORKING YET You can use VGA or Serial Console.

=Howto install coreboot & Linux on the IP1000=

By linux_junkie

Let it be known, this is from my own experience and I take no responsibility if you kill your system.

Requirements

 * "Host PC" with a intel chipset, PLCC 32 socket, and a Linux OS or eprom programmer

Flashing the Bios
Unfortunately there is not really an easy way to do this. The IP1000 has a PLCC32 socket for the firmware chip so you can take the chip out and use the Hotflash method or a eprom programmer device. After you have Linux running you can always use flashrom.

Determining the chip size
The IP1000 comes with two different firmware chips. The ST M50FW080 which is 1024K and the ST M50FW040 which is 512K. You need to determine which chip you have installed.

Choose a bios image
Decide which pre-built coreboot image you want to use. You can find them here. There is a description of size (1024k or 512k), where they boot too, and what Linux OS they were tested on. The pre-built coreboot images are all the same, they just contain different payloads (like a bootloader), and boot to different locations.

If you decide to build an image from source, and want to add the tested image to the wiki, just let me know and I would be glad to add it for everyone to use. If you need a special coreboot image built for your IP1000, let me know and I will see if I can help you. If you need a copy of the vbios (vga.rom) you can find it [[Media:vga.rom| here]].

Hotflash method
Download your new bios image (IP1000.rom) to your "Host PC". If you do not have flashrom installed on your "Host PC" than do it now. I recomend installing flashrom from source, it only recently obtained support for the M50FW080 & M50FW040. Ok, time to flash.

1. Take the firmware chip out of your IP1000 very carefully.

2. Take the firmware chip out of your "Host PC" very carefully, while Linux is running.

3. Place the firmware chip from the IP1000 in the "Host PC"'s PLCC32 socket very carefully.

4. Flash the bios: $ flashrom -wv IP1000.rom

5. Once it is finished, shutdown the "Host PC".

6. Switch back the firmware chips and your ready to install Linux.

Eprom programmer device
If you have one of these devices you probably already know what you are doing. So I am not going to touch on this area. Just flash the firmware chip like you normally would.

1. Take the firmware chip out of your IP1000 very carefully.

2. Place the firmware chip from the IP1000 in the eprom programmer device and flash it with the new coreboot image.

3. Put the firmware chip back in your IP1000 and your ready to install Linux.

Congratulations, you now have coreboot on your IP1000.

Putting Linux on your IP1000
NOTE: Booting from USB (UHCI) with filo is not currently working.

Depending on which payload (like a bootloader), you are using (most commonly filo) the first time you boot it will bring you to a command line. Depending on where your CD or DVD rom drive is connected (USB or IDE), you can use these examples to boot to the linux setup. To boot a CD-ROM or DVD you only need to specify the drive without a partition number. For example to boot to the primary drive on the secondary IDE channel you would use hdc and not hdc1 in filo.

filo's naming convention:
 * hda - IDE1
 * hdb - IDE2
 * hdc - IDE3
 * hdd - IDE4
 * hde - SATA
 * uda - USB1
 * udb - USB2
 * udc - USB3
 * udd - USB4

If you are using filo with USE_GRUB = 1, and want to boot to your Linux install disk you have to do a mixture of grub and filo commands.

Like grub you have to append a kernel (and parameters), then an initrd, and give a boot command. Like filo you have to give absolute paths.

Example to boot to a GeeXboX install CD-ROM: grub>kernel hdc:/GEEXBOX/boot/vmlinuz root=/dev/ram0 rw init=linuxrc boot=cdrom installator Press  grub>initrd hdc:/GEEXBOX/boot/initrd.gz Press  grub>boot Press 

Your system will now boot right into the Linux install.

If you want to install Linux over the serial console and your Linux distribution supports it, just add

console=tty0 console=ttyS0,115200

to the end of the kernel line.

For info on how to setup the serial interface see: Howto install coreboot & Linux on the RM4100

The command line you want is usually on the Linux install cd in the isolinux.cfg file. Once you get the Linux install disk running, you can install Linux as normal. After you finish and reboot coreboot should autoboot right into grub. If you only have one boot entry in your grub.conf/menu.lst filo it will automaticly boot that command line. If you have two or more the grub menu comes up and you can choose which one to use.

Congratulations, you now have Linux on your IP1000.

At this point if you need to flash back or want to flash a different pre-built coreboot image you can always use flashrom and flash it on the fly!

Please let me know if you have any questions, comments or corrections (post them in the forum), and I will do my best.

Well I hope you found this howto helpful in bring out the full potential of your system. Again, this is at you own risk; I take no responsibility if you kill your system. And as I always say....Don‘t settle for what you have. Hack it!