blob: 944347dd61725565e29d2861f62e11ef7d7d9bbf [file] [log] [blame]
Eric Andersenffde94b2001-12-22 00:56:11 +00001To build and use the buildroot stuff, do the following:
2
Ulf Samuelsson2a7d5632007-08-01 08:11:48 +000031) run 'make menuconfig'
Eric Andersen957a5982005-02-07 23:01:20 +000042) select the packages you wish to compile
Eric Andersenc7af9272004-10-09 06:27:44 +000053) run 'make'
64) wait while it compiles
Peter Korsgaardf55d8df2011-01-15 13:01:25 +010075) Use your shiny new root filesystem. Depending on which sort of
Eric Andersen957a5982005-02-07 23:01:20 +00008 root filesystem you selected, you may want to loop mount it,
9 chroot into it, nfs mount it on your target device, burn it
10 to flash, or whatever is appropriate for your target system.
Eric Andersenffde94b2001-12-22 00:56:11 +000011
Eric Andersenc7af9272004-10-09 06:27:44 +000012You do not need to be root to build or run buildroot. Have fun!
Eric Andersenffde94b2001-12-22 00:56:11 +000013
Bernhard Reutner-Fischer1d9fa602007-01-17 10:07:01 +000014Offline build:
15==============
16
17In order to do an offline-build (not connected to the net), fetch all
18selected source by issuing a
19$ make source
20
21before you disconnect.
22If your build-host is never connected, then you have to copy buildroot
23and your toplevel .config to a machine that has an internet-connection
24and issue "make source" there, then copy the content of your dl/ dir to
25the build-host.
26
Peter Korsgaardd1b1b4e2008-10-06 09:11:57 +000027Building out-of-tree:
28=====================
29
30Buildroot supports building out of tree with a syntax similar
31to the Linux kernel. To use it, add O=<directory> to the
32make command line, E.G.:
33
34$ make O=/tmp/build
35
Peter Korsgaardcd7459b2010-06-21 23:07:12 +020036And all the output files (including .config) will be located under /tmp/build.
Peter Korsgaardd1b1b4e2008-10-06 09:11:57 +000037
Bernhard Reutner-Fischer05a22112006-12-22 12:11:06 +000038More finegrained configuration:
39===============================
40
41You can specify a config-file for uClibc:
42$ make UCLIBC_CONFIG_FILE=/my/uClibc.config
43
Bernhard Reutner-Fischer673ee972007-09-02 17:44:09 +000044And you can specify a config-file for busybox:
45$ make BUSYBOX_CONFIG_FILE=/my/busybox.config
46
Peter Korsgaardfccd6602008-06-23 13:40:34 +000047To use a non-standard host-compiler (if you do not have 'gcc'),
Bernhard Reutner-Fischer05a22112006-12-22 12:11:06 +000048make sure that the compiler is in your PATH and that the library paths are
49setup properly, if your compiler is built dynamically:
50$ make HOSTCC=gcc-4.3.orig HOSTCXX=gcc-4.3-mine
51
52Depending on your configuration, there are some targets you can use to
53use menuconfig of certain packages. This includes:
Mike Frysinger176afdb2010-11-18 06:31:46 -050054$ make HOSTCC=gcc-4.3 linux-menuconfig
Bernhard Reutner-Fischer05a22112006-12-22 12:11:06 +000055$ make HOSTCC=gcc-4.3 uclibc-menuconfig
56$ make HOSTCC=gcc-4.3 busybox-menuconfig
57
Peter Korsgaard9d403562009-01-15 14:50:07 +000058Please feed suggestions, bug reports, insults, and bribes back to the
Thomas De Schampheleire2f787672014-02-12 17:54:57 +010059buildroot mailing list: buildroot@buildroot.org