Coreinfo: Difference between revisions
mNo edit summary |
|||
Line 1: | Line 1: | ||
'''coreinfo''' is a small informational [[Payloads|payload]] for coreboot. Currently, it can display CPU information, PCI information, coreboot table information, | '''coreinfo''' is a small informational [[Payloads|payload]] for coreboot. Currently, it can display CPU information, PCI information, coreboot table information, show an NVRAM dump, as well as a RAM dump. | ||
== Screenshots == | == Screenshots == | ||
Line 12: | Line 12: | ||
== Building coreinfo == | == Building coreinfo == | ||
libpayload and coreinfo are in the payloads/ directory of the coreboot tree. | |||
[[libpayload]] and coreinfo are in the '''payloads/''' directory of the coreboot tree. If you have already checked out the tree, you can skip the svn co steps below. | |||
=== libpayload === | === libpayload === | ||
The coreinfo payload uses [[libpayload]], thus you need to get that first and build it: | The coreinfo payload uses [[libpayload]], thus you need to get that first and build it: | ||
Line 32: | Line 34: | ||
$ '''make''' | $ '''make''' | ||
The file '''build/coreinfo.elf''' is your final coreinfo payload which you can use with coreboot | The file '''build/coreinfo.elf''' is your final coreinfo payload which you can use with coreboot, either on real hardware or in a [[QEMU]] image. | ||
=== coreboot === | === coreboot === | ||
Finally, you have to build coreboot | Finally, you have to build coreboot with coreinfo as payload: | ||
$ '''cd ..''' | $ '''cd ..''' | ||
$ '''svn co svn://coreboot.org/ | $ '''svn co svn://coreboot.org/coreboot/trunk coreboot''' | ||
$ '''cp coreinfo/build/coreinfo.elf coreboot | $ '''cp coreinfo/build/coreinfo.elf coreboot/payload.elf''' | ||
$ '''cd coreboot | $ '''cd coreboot''' | ||
$ '''make menuconfig''' | $ '''make menuconfig''' | ||
Now enter the '''Payload''' menu and select '''Payload type''' and then '''An ELF executable payload file'''. | 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''' | $ '''make''' | ||
The file '''build/coreboot.rom''' | The file '''build/coreboot.rom''' is your final coreboot image, which also contains the coreinfo payload. | ||
== Running coreinfo in QEMU == | == Running coreinfo in QEMU == | ||
For running coreboot+coreinfo image in QEMU, you need a patched version of '''vgabios-cirrus.bin''' in your '''build''' directory first: | For running coreboot+coreinfo image in [[QEMU]], you need a patched version of '''vgabios-cirrus.bin''' in your '''build''' directory first: | ||
$ cd build | $ '''cd build''' | ||
$ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip | $ '''wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip''' | ||
$ unzip Vgabios-cirrus.zip | $ '''unzip Vgabios-cirrus.zip''' | ||
$ cd .. | $ '''cd ..''' | ||
You can now run coreinfo in QEMU: | You can now run coreinfo in [[QEMU]]: | ||
$ qemu -L build -hda /dev/zero -serial stdio | $ qemu -L build -hda /dev/zero -serial stdio |
Revision as of 16:50, 19 September 2010
coreinfo is a small informational payload for coreboot. Currently, it can display CPU information, PCI information, coreboot table information, show an NVRAM dump, as well as a RAM dump.
Screenshots
-
CPU info
-
PCI info
-
coreboot table
-
NVRAM dump
-
RAM dump
Building coreinfo
libpayload and coreinfo are in the payloads/ directory of the coreboot tree. If you have already checked out the tree, you can skip the svn co steps below.
libpayload
The coreinfo payload uses libpayload, thus you need to get that first and build it:
$ svn co svn://coreboot.org/coreboot/trunk/payloads/libpayload $ cd libpayload $ make menuconfig $ make install
coreinfo
You can then get coreinfo itself and build it:
$ cd .. $ svn co svn://coreboot.org/coreboot/trunk/payloads/coreinfo $ cd coreinfo $ make menuconfig $ make
The file build/coreinfo.elf is your final coreinfo payload which you can use with coreboot, either on real hardware or in a QEMU image.
coreboot
Finally, you have to build coreboot with coreinfo as payload:
$ cd .. $ svn co svn://coreboot.org/coreboot/trunk coreboot $ cp coreinfo/build/coreinfo.elf coreboot/payload.elf $ cd coreboot $ 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 coreinfo payload.
Running coreinfo in QEMU
For running coreboot+coreinfo image in QEMU, you need a patched version of vgabios-cirrus.bin in your build directory first:
$ cd build $ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip $ unzip Vgabios-cirrus.zip $ cd ..
You can now run coreinfo in QEMU:
$ qemu -L build -hda /dev/zero -serial stdio
Ready-made coreinfo QEMU image
If you don't want to build libpayload, coreinfo, and coreboot from source, you can also use the ready-made coreinfo QEMU image by following the instructions on that page.
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.
In case this is not legally possible: |