This README contains a little bit more detail of configuration and build instructions for building both the Avila Build System and RedBoot for the Gateworks Avila Platform. We encourage all users of this BSP CDROM to first perform a Quick Build of the Avila Build System prior to making any configuration changes or customization of the Avila Build System Tree. Instructions for a Quick Build can be found in README.QUICKBUILD within the Source/ directory. This README assumes you have already successfully extracted/installed an appropriate toolchain in order to build redboot and have verified it to build correctly. If you do not have a working toolchain installed, please review README.TOOLCHAINS found in the Source/ directory prior to continuing. IMPORTANT!!! -------------------------------------- The new Avila Build system will download any application not already included in the Buildroot Download directory. An Internet connection may be neccessary to build additional programs not contained on this CD. Changing Avila Build System Configuration -------------------------------------- We will assume you have already extracted/installed the Avila Build System tarball into /usr/src or a working directory. If you have not please follow instructions in README.QUICKBUILD to extract/install SnapGear. # cd /usr/src/snapgear # make menuconfig The menuconfig environment will allow you to make changes to the Avila build process including Linux kernel changes, userland changes, etc. Ncurses error: If you don't have a ncurses development package installed on your build host you won't be able to build/use menuconfig. On RedHat/Debian systems install libncurses-dev or similar and run make menuconfig again. Note: make xconfig was not tested to work. You may or may not be able to use make xconfig. Reset to Avila Defaults ---> Select this in order to reset the configuration to the BSP Defaults Customize Kernel settings ---> Turn this on if you want to modify Linux kernel build options. Customize Buildroot Settings ---> This is the main configuration for the Avila Build System. Turn this on if you would like to adjust userland build options. Customize Busybox Settings ---> If you have elected to use Busybox (much encouraged), this is where you can adjust the busybox build options Customize uClibc Settings ---> This is the main configuration for uClibc. Please only edit if you know what you are doing. Select Exit, then Exit again (answer Yes to save) Kernel Note: System Type ---> ARM system type (IXP4xx-based) ---> This MUST remain IXP4xx-based. Do not change to any other value. Intel IXP4xx Implementation Options ---> --- IXP4xx Platforms [*] Avila Please choose Avila as the supported platfrom as that is what Machine Id (526) the Redboot contained on this CD passes. 8MB Ramdisk Note ---------------------------------------- The default configuration is an 8MB ramdisk. This can be easily adjusted under the "Buildroot Settings". You will also need to increase the number of inodes with the increase of a ramdisk size. Userland/Application Build Errors ---------------------------------------- The userland applications, daemons, tools, etc (referred to as userlands) included in the Avila Build System were all added by the Buildroot project and not by Gateworks. Gateworks updated/fixed/added only the items listed in the /CHANGES file on this CDROM. Some of the userlands may not build at all and may still not build even after some massaging of the userland Makefile or build environment. There are some items that just will not build (or run) on ARM/XScale but will run on x86, PPC or other architectures. Gateworks does not test every configuration possible. We have selected common userlands and set them as defaults, tested them to build and tested them to run on the Gateworks Avila platform. Some of the userlands we did not select as defaults WILL build and WILL probably run, however we have not verified any additional userlands other than defaults. If you choose to build some alternate userlands and succeed in getting them to build and run on an Avila board, feel free to let us know and/or the Avila Mailing List so we can update our collection of tested items. After setting all configuration/customization to your liking, you can now start a SnapGear build: # cd /usr/src/snapgear # make Everything is scripted and automated from this point on. Go get some dinner, take a walk or do something else for a while if staring at scrolling text is not the most exciting thing to you. A full Avila System build will build the Linux kernel, kernel modules, Intel Access Library modules, build uClibc (C libraries), and userlands you selected (not in that particular order). This process will take as short as 20 minutes and as long as 3 hours depending on the horsepower of your build host. If you however run into some build errors the build process will end up exiting prior to completion so you may want to hang around and watch if you have made substantial changes to the kernel and/or userlands. When a build is complete you will end up with a zImage and a ramdisk.gz located in the images/ directory. These images are ready to be deployed onto an Avila board. Building the RedBoot Bootloader -------------------------------------- We will assume you have already extracted/installed the RedBoot tarball into /usr/src or a working directory. If you have not please follow instructions in README.QUICKBUILD to extract/install RedBoot. # cd /usr/src/redboot # make clean : remove build directory rb : build universal image Running make will default to the target 'rb'. To Build RedBoot for the Avila Network Platform: # cd /usr/src/redboot # make When complete you will have a RedBoot image ready to be flashed to an Avila board in the images/ directory called rb.bin. Running "make clean" cleans up your RedBoot source tree of any build fragments. RedBoot ecosconfig build errors ---------------------------------------- If you get the following errors when running make 64: bin/ecosconfig: error while loading shared libraries: libtcl8.4.so: cannot open shared object file: No such file or directory bin/ecosconfig: error while loading shared libraries: libtcl8.4.so: cannot open shared object file: No such file or directory bin/ecosconfig: error while loading shared libraries: libtcl8.4.so: cannot open shared object file: No such file or directory make: *** [tree_64] Error 127 You do not have TCL 8.4 installed. The tool ecosconfig is linked against TCL 8.4. You have two options: 1) Rebuild ecosconfig (you don't want to do this, somewhat difficult) 2) Install TCL 8.4 Choose option #2, much easier to install a TCL RPM or .deb package. Both RedHat and Debian have TCL 8.4 packages available to install. The TCL package(s) to install will be something similar to tcl8.4 and tcl8.4-dev.