1------------------------------------------------------------------------------- 2libpayload README 3------------------------------------------------------------------------------- 4 5libpayload is a minimal library to support standalone payloads 6that can be booted with firmware like coreboot. It handles the setup 7code, and provides common C library symbols such as malloc() and printf(). 8 9Note: This is _not_ a standard library for use with an operating system, 10rather it's only useful for coreboot payload development! 11See https://www.coreboot.org for details on coreboot. 12 13 14Installation 15------------ 16 17 $ git clone https://review.coreboot.org/coreboot.git 18 19 $ cd coreboot/payloads/libpayload 20 21 $ make menuconfig 22 23 $ make 24 25 $ make install (optional, will install into ./install per default) 26 27On x86 systems, libpayload will always be 32-bit even if your host OS runs 28in 64-bit, so you might have to install the 32-bit libgcc version. 29On Debian systems you'd do 'apt-get install gcc-multilib' for example. 30 31Run 'make distclean' before switching boards. This command will remove 32your current .config file, so you need 'make menuconfig' again or 33'make defconfig' in order to set up configuration. Default configuration 34is based on 'configs/defconfig'. See the configs/ directory for examples 35of configuration. 36 37 38Usage 39----- 40 41Here's an example of a very simple payload (hello.c) and how to build it: 42 43 #include <libpayload.h> 44 45 int main(void) 46 { 47 printf("Hello, world!\n"); 48 return 0; 49 } 50 51Building the payload using the 'lpgcc' compiler wrapper: 52 53 $ lpgcc -o hello.elf hello.c 54 55Please see the sample/ directory for details. 56 57 58Website and Mailing List 59------------------------ 60 61The main website is https://www.coreboot.org/Libpayload. 62 63For additional information, patches, and discussions, please join the 64coreboot mailing list at https://www.coreboot.org/Mailinglist, where most 65libpayload developers are subscribed. 66 67 68Copyright and License 69--------------------- 70 71See LICENSES. 72