72ef8881a3
Nico Huber spotted [1], that commit (4d6ab4e2
) [1] updating superiotools’s `README` with the Git command line superiotool: Update README with Git repository URL and directory location missed, that after `git clone` one sitll has to change into the cloned directory. So prepend the path with `coreboot/` to fix that. The same error happened in the commit (e1ea5151
) for libpayload [2] libpayload: Update README with Git repository URL and directory location and is fixed in this patch too. [1] http://review.coreboot.org/#/c/3019/ [2] http://review.coreboot.org/2228 Change-Id: Ib6e8b678af6276556a40ccfd52ae35ca7e674455 Reported-by: Nico Huber <nico.h@gmx.de> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-on: http://review.coreboot.org/3021 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber <nico.huber@secunet.com>
66 lines
1.6 KiB
Text
66 lines
1.6 KiB
Text
-------------------------------------------------------------------------------
|
|
libpayload README
|
|
-------------------------------------------------------------------------------
|
|
|
|
libpayload is a minimal library to support standalone payloads
|
|
that can be booted with firmware like coreboot. It handles the setup
|
|
code, and provides common C library symbols such as malloc() and printf().
|
|
|
|
Note: This is _not_ a standard library for use with an operating system,
|
|
rather it's only useful for coreboot payload development!
|
|
See http://coreboot.org for details on coreboot.
|
|
|
|
|
|
Installation
|
|
------------
|
|
|
|
$ git clone http://review.coreboot.org/p/coreboot.git
|
|
|
|
$ cd coreboot/payloads/libpayload
|
|
|
|
$ make menuconfig
|
|
|
|
$ make
|
|
|
|
$ sudo make install (optional, will install into /opt per default)
|
|
|
|
As libpayload is for 32bit x86 systems only, you might have to install the
|
|
32bit libgcc version, otherwise your payloads will fail to compile.
|
|
On Debian systems you'd do 'apt-get install gcc-multilib' for example.
|
|
|
|
|
|
Usage
|
|
-----
|
|
|
|
Here's an example of a very simple payload (hello.c) and how to build it:
|
|
|
|
#include <libpayload.h>
|
|
|
|
int main(void)
|
|
{
|
|
printf("Hello, world!\n");
|
|
return 0;
|
|
}
|
|
|
|
Building the payload using the 'lpgcc' compiler wrapper:
|
|
|
|
$ lpgcc -o hello.elf hello.c
|
|
|
|
Please see the sample/ directory for details.
|
|
|
|
|
|
Website and Mailing List
|
|
------------------------
|
|
|
|
The main website is http://www.coreboot.org/Libpayload.
|
|
|
|
For additional information, patches, and discussions, please join the
|
|
coreboot mailing list at http://coreboot.org/Mailinglist, where most
|
|
libpayload developers are subscribed.
|
|
|
|
|
|
Copyright and License
|
|
---------------------
|
|
|
|
See LICENSES.
|
|
|