| ------------------------------------------------------------------------------- |
| 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 https://www.coreboot.org for details on coreboot. |
| |
| |
| Installation |
| ------------ |
| |
| $ git clone https://review.coreboot.org/coreboot.git |
| |
| $ cd coreboot/payloads/libpayload |
| |
| $ make menuconfig |
| |
| $ make |
| |
| $ make install (optional, will install into ./install per default) |
| |
| On x86 systems, libpayload will always be 32-bit even if your host OS runs |
| in 64-bit, so you might have to install the 32-bit libgcc version. |
| On Debian systems you'd do 'apt-get install gcc-multilib' for example. |
| |
| Run 'make distclean' before switching boards. This command will remove |
| your current .config file, so you need 'make menuconfig' again or |
| 'make defconfig' in order to set up configuration. Default configuration |
| is based on 'configs/defconfig'. See the configs/ directory for examples |
| of configuration. |
| |
| |
| 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 https://www.coreboot.org/Libpayload. |
| |
| For additional information, patches, and discussions, please join the |
| coreboot mailing list at https://www.coreboot.org/Mailinglist, where most |
| libpayload developers are subscribed. |
| |
| |
| Copyright and License |
| --------------------- |
| |
| See LICENSES. |