Difference between revisions of "Coreinfo"
(Updates, more info.) |
(→Building coreinfo: svn bad. git good.) |
||
| (12 intermediate revisions by 4 users not shown) | |||
| 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 == | ||
| − | <gallery> | + | <gallery perrow="5"> |
Image:Coreinfo cpu.png|<small>CPU info</small> | Image:Coreinfo cpu.png|<small>CPU info</small> | ||
Image:Coreinfo pci.png|<small>PCI info</small> | Image:Coreinfo pci.png|<small>PCI info</small> | ||
Image:Coreinfo coreboot.png|<small>coreboot table</small> | Image:Coreinfo coreboot.png|<small>coreboot table</small> | ||
| − | Image:Coreinfo | + | Image:Coreinfo nvram.png|<small>NVRAM dump</small> |
| + | Image:Coreinfo ramdump.jpg|<small>RAM dump</small> | ||
</gallery> | </gallery> | ||
| − | == | + | == 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 git clone steps below. | ||
| + | |||
| + | === 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: | ||
| − | $ | + | $ '''git clone http://review.coreboot.org/p/coreboot''' |
| − | $ cd libpayload | + | $ '''cd coreboot/payloads/libpayload''' |
| − | $ make menuconfig | + | $ '''make menuconfig''' |
| − | $ make | + | $ '''make install''' |
| + | |||
| + | === coreinfo === | ||
You can then get coreinfo itself and build it: | You can then get coreinfo itself and build it: | ||
| − | $ cd | + | $ '''cd coreboot/payloads/coreinfo''' |
| − | $ | + | $ '''make menuconfig''' |
| − | $ cd | + | $ '''make''' |
| − | $ 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: | ||
| + | |||
| + | $ '''cp coreboot/payloads/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 | ||
| + | |||
| + | 1 Previously described steps (build coreboot image for QEMU) | ||
| + | |||
| + | 2 Patched version of '''vgabios-cirrus.bin''' in your '''build''' directory: | ||
| + | |||
| + | $ '''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-system-i386 -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 [[QEMU#coreboot_v3_.2B_libpayload_.2B_coreinfo|ready-made coreinfo QEMU image]] by following the instructions on that page. | |
| − | |||
{{PD-self}} | {{PD-self}} | ||
Latest revision as of 18:41, 20 March 2013
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.
Contents |
[edit] Screenshots
[edit] 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 git clone steps below.
[edit] libpayload
The coreinfo payload uses libpayload, thus you need to get that first and build it:
$ git clone http://review.coreboot.org/p/coreboot $ cd coreboot/payloads/libpayload $ make menuconfig $ make install
[edit] coreinfo
You can then get coreinfo itself and build it:
$ cd coreboot/payloads/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.
[edit] coreboot
Finally, you have to build coreboot with coreinfo as payload:
$ cp coreboot/payloads/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.
[edit] Running coreinfo in QEMU
For running coreboot+coreinfo image in QEMU, you need
1 Previously described steps (build coreboot image for QEMU)
2 Patched version of vgabios-cirrus.bin in your build directory:
$ 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-system-i386 -L build -hda /dev/zero -serial stdio
[edit] 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: |