diff options
Diffstat (limited to 'docs/uclibc.org/toolchains.html')
-rw-r--r-- | docs/uclibc.org/toolchains.html | 120 |
1 files changed, 80 insertions, 40 deletions
diff --git a/docs/uclibc.org/toolchains.html b/docs/uclibc.org/toolchains.html index 132270b6b..852096af9 100644 --- a/docs/uclibc.org/toolchains.html +++ b/docs/uclibc.org/toolchains.html @@ -2,51 +2,91 @@ <h3>Toolchains</h3> -To use uClibc, you need to have a toolchain, which is composed -of <a href="http://sources.redhat.com/binutils/">binutils</a>, -<a href="http://gcc.gnu.org/">gcc</a>, and of course uClibc. +To use uClibc, you need to have a toolchain. A toolchain consists +of <a href="http://sources.redhat.com/binutils/">GNU binutils</a>, +<a href="http://gcc.gnu.org/">the gcc compiler</a>, and uClibc, all +built to produce binaries for your target system linked with uClibc. +You can build your own native uClibc toolchain using the +<a href="/cgi-bin/cvsweb/buildroot/">uClibc buildroot system</a>. +<p> +To build your own uClibc toolchain, follow the following simple +steps: <ul> + <li> Point your web browser <a href="/cgi-bin/cvsweb/buildroot/">here</a>, + <li> Click on "Download tarball" + <li> Unpack the tarball on your Linux system somewhere + <li> Edit the Makefile as needed if you wish to change anything. + <li> run 'unset CC'. Then run 'unset CXX'. Some Linux systems + (i.e. Gentoo) set variables such as 'CC' in the system environment + which really messes things up when cross compiling. + <li> run 'make menuconfig' + <li> Select the things you want to build. If you <em>only</em> want a + toolchain, leave everything except the toolchain disabled. + <li> save your buildroot configuration. + <li> run 'make' + <li> go eat a nice loose meat sandwich, drink a pop, call a friend, + play a video game, and generally find something to do. While you + are waiting, buildroot will download all the needed source code and + then compile things up for you. + <li> You should now have a shiny new toolchain, and maybe even a shiny + new uClibc based root filesystem or development system, depending on + the options you selected. +</ul> + + + + +<p> + +If you want to be <em>really</em> lazy and start using uClibc right away +without needing to compile your own toolchain or anything, you can grab a +pre-compiled uClibc development system. These are currently available for + +<a href="http://www.uclibc.org/downloads/root_fs_arm.ext2.bz2">arm</a>, +<a href="http://www.uclibc.org/downloads/root_fs_armeb.ext2.bz2">armeb</a>, +<a href="http://www.uclibc.org/downloads/root_fs_i386.ext2.bz2">i386</a>, +<a href="http://www.uclibc.org/downloads/root_fs_mips.ext2.bz2">mips</a>, +<a href="http://www.uclibc.org/downloads/root_fs_mipsel.ext2.bz2">mipsel</a>, +<a href="http://www.uclibc.org/downloads/root_fs_powerpc.ext2.bz2">powerpc</a>, and +<a href="http://www.uclibc.org/downloads/root_fs_sh4.ext2.bz2">sh4</a>. - <li>You can build your own - <a href="/cgi-bin/cvsweb/toolchain/gcc-3.3.x/">uClibc toolchain</a> - using this to automagically download all the needed source code - and compile everything for you. - <p> - - <li>Steven J. Hill has kindly provided - <a href="ftp://ftp.realitydiluted.com/linux/MIPS/toolchains">RPMs and SRPMs</a> - with toolchains for mips. - <p> - - <li>You can compile your own uClibc development system using - <a href="/cgi-bin/cvsweb/buildroot/">buildroot</a>. - <p> - - <li>Prebuilt uClibc development systems for - <a href="http://www.kernel.org/pub/linux/libs/uclibc/root_fs_i386.bz2">i386</a> - and - <a href="http://www.kernel.org/pub/linux/libs/uclibc/root_fs_arm.bz2">arm</a> - and - <a href="http://www.kernel.org/pub/linux/libs/uclibc/root_fs_mipsel.bz2">mipsel</a> - are available and contain complete native gcc 3.3.2 toolchains. These - are development systems are ext2 filesystems that runs natively on the - specified architecture. They contain all the development software you - need to build your own uClibc applications, including bash, coreutils, - findutils, diffutils, patch, sed, ed, flex, bison, file, gawk, tar, - grep gdb, strace, make, gcc, g++, autoconf, automake, ncurses, zlib, - openssl, openssh perl, and more. And of course, everything is - dynamically linked against uClibc. By using a uClibc only system, you - can avoid all the painful cross-configuration problems that have made - using uClibc somewhat painful in the past. If you want to quickly get - started with testing or using uClibc you should give these images a - try. You can loop mount them and then chroot into them. You can boot - into them using user-mode Linux. You can even 'dd' them to a spare - partition and use resize2fs to make them fill the drive, and then boot - into them. Whatever works for you. - <p> +<p> +These are bzip2 compressed ext2 filesystems containing all the development +software you need to build your own uClibc applications, including: bash, awk, +make, gcc, g++, autoconf, automake, ncurses, zlib, openssl, openssh, gdb, +strace, busybox, GNU coreutils, GNU tar, GNU grep, etc. + +<p> + +Each of these uClibc development systems was created using +<a href="/cgi-bin/cvsweb/buildroot/">buildroot</a>, specifically, +<a href="http://www.uclibc.org/downloads/buildroot.tar.bz2">buildroot.tar.bz2</a> +along with <a href="http://www.uclibc.org/downloads/buildroot-sources">these sources</a>. + +<p> + +These development systems should provide pretty much everything you need to get +started building your own applications with uClibc. Once you download one of +these systems, you can then boot into it, loop mount it, dd it to a spare drive +and use a tool such as resize2fs to make it fill a partition... Whatever works +best for you. + +<p> +The quickest way to get started using a root_fs image (using the i386 +platform as an example) is: +<ul> + <li>Download root_fs_i386.bz2 from kernel.org</li> + <li>bunzip2 root_fs_i386.bz2</li> + <li>mkdir root_fs</li> + <li>su root</li> + <li>mount -o loop root_fs_i386 root_fs</li> + <li>chroot root_fs /bin/su -</li> </ul> +Type "exit" to end the chroot session and return to your host system. +<p> + <!--#include file="footer.html" --> |