Tint: Difference between revisions

From coreboot
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 7: Line 7:
== Building  ==
== Building  ==


=== libpayload ===
First, get tint itself and patch it:


The tint payload uses [[libpayload]], which is in the coreboot tree:
  $ svn export svn://coreboot.org/coreboot/trunk/payloads/external/tint
 
  $ cd tint
  $ svn co svn://coreboot.org/coreboot/trunk
 
=== tint ===
 
You can then get tint itself, patch it, and build it:
 
  $ cd coreboot/payloads
  $ wget http://ftp.debian.org/debian/pool/main/t/tint/tint_0.03b.tar.gz
  $ wget http://ftp.debian.org/debian/pool/main/t/tint/tint_0.03b.tar.gz
  $ tar xfvz tint_0.03b.tar.gz
  $ tar xfvz tint_0.03b.tar.gz
  $ cd tint-0.03b
  $ cd tint-0.03b
  $ svn export svn://coreboot.org/coreboot/trunk/payloads/external/tint/libpayload_tint.patch
$ patch -p1 < ../libpayload_tint.patch
  $ patch -p1 < libpayload_tint.patch
 
Then, get [[libpayload]] and build it (the '''libpayload''' directory has to be in the '''tint-0.03b''' directory):
 
  $ svn export svn://coreboot.org/coreboot/trunk/payloads/libpayload
$ cd libpayload
  $ make menuconfig
  $ make
  $ make


The file '''tint.elf''' is your final payload which you can use with coreboot, either on real hardware or in a [[QEMU]] image.
The ELF file '''tint''' is your final payload which you can use with coreboot, either on real hardware or in a [[QEMU]] image.


=== coreboot ===
=== coreboot ===

Revision as of 23:14, 18 September 2010

The tint payload.

tint is a small curses-based game.

We have ported this game to libpayload so it can now be used as a coreboot payload.

Building

First, get tint itself and patch it:

$ svn export svn://coreboot.org/coreboot/trunk/payloads/external/tint
$ cd tint
$ wget http://ftp.debian.org/debian/pool/main/t/tint/tint_0.03b.tar.gz
$ tar xfvz tint_0.03b.tar.gz
$ cd tint-0.03b
$ patch -p1 < ../libpayload_tint.patch

Then, get libpayload and build it (the libpayload directory has to be in the tint-0.03b directory):

$ svn export svn://coreboot.org/coreboot/trunk/payloads/libpayload
$ cd libpayload
$ make menuconfig
$ make

The ELF file tint is your final payload which you can use with coreboot, either on real hardware or in a QEMU image.

coreboot

Finally, you have to build coreboot with tint as payload:

$ cd ../..
$ make menuconfig

Now enter the Payload menu and select Payload type and then An ELF executable payload file. Then, exit the menu, save your settings, and build coreboot:

$ make

The file build/coreboot.rom is your final coreboot image, which also contains the tint payload.

Running tint in QEMU

For running the coreboot+libpayload+tint image in QEMU, you need a patched version of vgabios-cirrus.bin in your build directory first, and you also need to rename or copy coreboot.rom to bios.bin:

$ cd build
$ mv coreboot.rom bios.bin
$ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip
$ unzip Vgabios-cirrus.zip
$ cd ..

You can now run tint in QEMU:

$ qemu -L build -hda /dev/zero -serial stdio

Ready-made QEMU image

Please follow QEMU#coreboot_v3_.2B_libpayload_.2B_tint these instructions if you want to try out coreboot and tint in QEMU.

Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.