Coreinfo: Difference between revisions
mNo edit summary |
(Thanks to https://review.coreboot.org/#/c/12454/, libpayload does not to be linked manually anymore and works across all systems.) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
== Building coreinfo == | == 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 | [[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. | ||
$ '''git clone http://review.coreboot.org/p/coreboot''' | |||
=== libpayload === | === libpayload === | ||
Line 19: | Line 21: | ||
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: | ||
$ ''' | $ '''cd coreboot/payloads/libpayload''' | ||
$ '''make menuconfig''' | $ '''make menuconfig''' | ||
$ '''make install''' | $ '''make install''' | ||
Line 28: | Line 29: | ||
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''' | $ '''make menuconfig''' | ||
$ '''make''' | $ '''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. | If you are fine with coreboot's default configuration, you can also build coreinfo directly without any steps beforehand as libreboot's build system automatically builds libpayload as a dependency: | ||
$ '''make -C coreboot/payloads/coreinfo''' | |||
The file '''coreboot/payloads/coreinfo/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 === | ||
Line 40: | Line 43: | ||
Finally, you have to build coreboot with coreinfo as payload: | Finally, you have to build coreboot with coreinfo as payload: | ||
$ ''' | $ '''cp coreboot/payloads/coreinfo/build/coreinfo.elf coreboot/payload.elf''' | ||
$ '''cd coreboot''' | $ '''cd coreboot''' | ||
$ '''make menuconfig''' | $ '''make menuconfig''' | ||
Line 54: | Line 55: | ||
== Running coreinfo in QEMU == | == Running coreinfo in QEMU == | ||
For running coreboot+coreinfo image in [[QEMU]], you need | 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''' | $ '''cd build''' | ||
Line 63: | Line 68: | ||
You can now run coreinfo in [[QEMU]]: | You can now run coreinfo in [[QEMU]]: | ||
$ qemu -L build -hda /dev/zero -serial stdio | $ qemu-system-i386 -L build -hda /dev/zero -serial stdio | ||
== Ready-made coreinfo QEMU image == | == Ready-made coreinfo QEMU image == |
Latest revision as of 07:48, 7 December 2015
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 git clone steps below.
$ git clone http://review.coreboot.org/p/coreboot
libpayload
The coreinfo payload uses libpayload, thus you need to get that first and build it:
$ cd coreboot/payloads/libpayload $ make menuconfig $ make install
coreinfo
You can then get coreinfo itself and build it:
$ cd coreboot/payloads/coreinfo $ make menuconfig $ make
If you are fine with coreboot's default configuration, you can also build coreinfo directly without any steps beforehand as libreboot's build system automatically builds libpayload as a dependency:
$ make -C coreboot/payloads/coreinfo
The file coreboot/payloads/coreinfo/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 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: |