Eric Andersen | ffde94b | 2001-12-22 00:56:11 +0000 | [diff] [blame] | 1 | To build and use the buildroot stuff, do the following: |
| 2 | |
Ulf Samuelsson | 2a7d563 | 2007-08-01 08:11:48 +0000 | [diff] [blame] | 3 | 1) run 'make menuconfig' |
Eric Andersen | 957a598 | 2005-02-07 23:01:20 +0000 | [diff] [blame] | 4 | 2) select the packages you wish to compile |
Eric Andersen | c7af927 | 2004-10-09 06:27:44 +0000 | [diff] [blame] | 5 | 3) run 'make' |
| 6 | 4) wait while it compiles |
Peter Korsgaard | f55d8df | 2011-01-15 13:01:25 +0100 | [diff] [blame] | 7 | 5) Use your shiny new root filesystem. Depending on which sort of |
Eric Andersen | 957a598 | 2005-02-07 23:01:20 +0000 | [diff] [blame] | 8 | 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 Andersen | ffde94b | 2001-12-22 00:56:11 +0000 | [diff] [blame] | 11 | |
Eric Andersen | c7af927 | 2004-10-09 06:27:44 +0000 | [diff] [blame] | 12 | You do not need to be root to build or run buildroot. Have fun! |
Eric Andersen | ffde94b | 2001-12-22 00:56:11 +0000 | [diff] [blame] | 13 | |
Bernhard Reutner-Fischer | 1d9fa60 | 2007-01-17 10:07:01 +0000 | [diff] [blame] | 14 | Offline build: |
| 15 | ============== |
| 16 | |
| 17 | In order to do an offline-build (not connected to the net), fetch all |
| 18 | selected source by issuing a |
| 19 | $ make source |
| 20 | |
| 21 | before you disconnect. |
| 22 | If your build-host is never connected, then you have to copy buildroot |
| 23 | and your toplevel .config to a machine that has an internet-connection |
| 24 | and issue "make source" there, then copy the content of your dl/ dir to |
| 25 | the build-host. |
| 26 | |
Peter Korsgaard | d1b1b4e | 2008-10-06 09:11:57 +0000 | [diff] [blame] | 27 | Building out-of-tree: |
| 28 | ===================== |
| 29 | |
| 30 | Buildroot supports building out of tree with a syntax similar |
| 31 | to the Linux kernel. To use it, add O=<directory> to the |
| 32 | make command line, E.G.: |
| 33 | |
| 34 | $ make O=/tmp/build |
| 35 | |
Peter Korsgaard | cd7459b | 2010-06-21 23:07:12 +0200 | [diff] [blame] | 36 | And all the output files (including .config) will be located under /tmp/build. |
Peter Korsgaard | d1b1b4e | 2008-10-06 09:11:57 +0000 | [diff] [blame] | 37 | |
Bernhard Reutner-Fischer | 05a2211 | 2006-12-22 12:11:06 +0000 | [diff] [blame] | 38 | More finegrained configuration: |
| 39 | =============================== |
| 40 | |
| 41 | You can specify a config-file for uClibc: |
| 42 | $ make UCLIBC_CONFIG_FILE=/my/uClibc.config |
| 43 | |
Bernhard Reutner-Fischer | 673ee97 | 2007-09-02 17:44:09 +0000 | [diff] [blame] | 44 | And you can specify a config-file for busybox: |
| 45 | $ make BUSYBOX_CONFIG_FILE=/my/busybox.config |
| 46 | |
Peter Korsgaard | fccd660 | 2008-06-23 13:40:34 +0000 | [diff] [blame] | 47 | To use a non-standard host-compiler (if you do not have 'gcc'), |
Bernhard Reutner-Fischer | 05a2211 | 2006-12-22 12:11:06 +0000 | [diff] [blame] | 48 | make sure that the compiler is in your PATH and that the library paths are |
| 49 | setup properly, if your compiler is built dynamically: |
| 50 | $ make HOSTCC=gcc-4.3.orig HOSTCXX=gcc-4.3-mine |
| 51 | |
| 52 | Depending on your configuration, there are some targets you can use to |
| 53 | use menuconfig of certain packages. This includes: |
Mike Frysinger | 176afdb | 2010-11-18 06:31:46 -0500 | [diff] [blame] | 54 | $ make HOSTCC=gcc-4.3 linux-menuconfig |
Bernhard Reutner-Fischer | 05a2211 | 2006-12-22 12:11:06 +0000 | [diff] [blame] | 55 | $ make HOSTCC=gcc-4.3 uclibc-menuconfig |
| 56 | $ make HOSTCC=gcc-4.3 busybox-menuconfig |
| 57 | |
Peter Korsgaard | 9d40356 | 2009-01-15 14:50:07 +0000 | [diff] [blame] | 58 | Please feed suggestions, bug reports, insults, and bribes back to the |
Thomas De Schampheleire | 2f78767 | 2014-02-12 17:54:57 +0100 | [diff] [blame] | 59 | buildroot mailing list: buildroot@buildroot.org |