![]() |
The Master Makefile is for developing and building the latest and greatest HEAD! These instructions do not apply if all you want to do is build packages. Here are instructions for building Optware packages For SlugOS development, you should read some OpenEmbedded bitbake recipe documentation. Contents
Standard stepsThis is very simple if you have the required software dependencies (if unsure see below):
NB 1: Don't even think about doing make as root. Chances are it will screw up your system libraries and executables. Best practise is to set up a new normal user and build using that. Warning:When choosing a path to contain the build enviroment make sure to choose a path that contains NO SYMLINKS, otherwise building will fail (see also OpenSlugBuildFailsDueToSymlinks). Also make sure the volume on which you are working is mounted with the exec attribute (pmount, by default mounts volumes with noexec). Also make sure your path contains no spaces in any part of the path. There's a bucketload of valid targets. For a complete list, peruse the Makefile. It should be quite easy to figure out what target you want to build. Before building you may need to download the two zip files from Intel. Check carefully to see what versions your environment will need; the versions are not interchangeable, nor are they upwards compatible. See the partial list below to see which ones you'll need.
Alternative version instructions for getting the 2 required intel libs
If you're building Openslug 3.10 then you need the 2.3 versions of the Intel libs from http://www.intel.com/design/network/products/npfamily/ixp400_current.htm If you're building Openslug 4.8 and newer, then you need the 2.4 versions of the Intel libs from http://www.intel.com/design/network/products/npfamily/download_ixp400.htm ''DO NOT download the 3.0 versions -- this version is not used by any current firmware, and will not build. Place these files along with their md5s in the To generate the md5sums, you can use the md5sum utility like this: If you have already done a majority of the MasterMakefile build, saw the error about the missing Intel drivers and did the fix above; you don't need to restart the build! Just go to the 'slugos/tmp/stamps' directory and remove the 'ixp4xx*' files. Then all you need to do is go back to the top level and restart your 'make'. It will continue where it left off. If you use A quick start is to run
followed by
It will download all the files necessary for building a complete cross development environment. After that it will download all packages and the kernel needed for the slugos firmware, crosscompile them and combine them into a firmware package. The Makefile builds the latest HEAD: if you want the stable version, If you have lots of time (out for the night?) and disk space (as of September 2005: 7GB), you can easily kick off Another handy target is: make update (it could require a prior make setup or make setup-unslung setup-debianslug setup-slugos) You will get a directory structure, that looks like this:
If you encounter any problems while building this, please check, if there is already a bug filed at Trac or email your bug report to the nslu2-linux mailiing list. You might also check the OpenEmbedded Eventcounter to see, if any of your problem have been fixed since your last update. OpenEmbedded contains much more packages than SlugOS, so you can add a package to openembedded/packages/meta/slugos-packages.bb, if there is already a bitbake file for it. After that, you can rerun make build-slugos and this time your package will be included in the feed. Alternatively you can do a If you get kicked out of your shell when running one of the above commands, you should run If you're making changes to the code, config files, or other items, please be aware that when you commit your changes, your work is indelibly preserved for the community. Please follow the guidelines on the CommitGuidelines page; doing so is very helpful to others who might need to understand the nature of the changes you've made.
Requirements: Recommended: Development with Windows (CoLinux)You can build the Master Makefile on a Windows system using 'coLinux' (http://www.colinux.org). Their wiki has various quick start guides.
Development with DebianIt is recommended, but not essential, to make a new user, to build using the Master Makefile. Development with Ubuntu 7.04 Feisty FawnMake a directory for your build and change to it ('mkdir slug' and then 'cd slug' perhaps). There are many different things you can build, I have worked with Openslug in the past and it was changed to slugosbe. To build Unslung, the command would be Development with Ubuntu 9.10 KarmicMake a directory for your build and change to it ('mkdir slug' and then 'cd slug' perhaps). At this point, some edits to the Makefile need to be made to get it to work. Locate the text beginning with # [ -d bitbake/.svn ] && \ # mv bitbake bitbake_svn_obsolete # [ -e bitbake/.git/config ] || \ This will get To get openwrt to setup, you need to change the url in line 6 of .PHONY: setup-openwrt to: ( svn co svn://svn.openwrt.org/openwrt/trunk openwrt ) Then make setup-openwrt will work.
To get openwrt to build, you need to remove sablevm-sdk from the feeds/packages/lang directory. It requires jikes to build and apparently jikes is not available on 9.10. Then Run: Development with Ubuntu 10.10 Maverick MeerKatMake a directory for your build and change to it ('mkdir slug' and then 'cd slug' perhaps). At this point, some edits to the Makefile need to be made to get it to work: Toward the beginning of the file, change BITBAKE_BRANCH to 1.10 and BITBAKE_VERSION to 1.10.1 Locate the text beginning with # [ -d bitbake/.svn ] && \ # mv bitbake bitbake_svn_obsolete # [ -e bitbake/.git/config ] || \ This will get To get openwrt to setup, you need to change the url in line 6 of .PHONY: setup-openwrt to: ( svn co svn://svn.openwrt.org/openwrt/trunk openwrt ) Then make setup-openwrt will work.
To get openwrt to build, you need to remove sablevm-sdk from the feeds/packages/lang directory. It requires jikes to build and apparently jikes is not available on 9.10. Then Run: Development with GentooIt is recommended, but not essential, to make a new user, to build using the Master Makefile. Alternatively, you can emerge required packages in Gentoo with (As of 2006.1, Jan-2007): Development with Fedora Core 4Install the needed packages through yum. The native compiler of FC 4 is gcc 4.0.2 but with that compiler it is possible to build the needed cross compiler (tested for optware and unslung image) Development with MAC OS X (Intel)It might be that during provessing of the file errors occuring about missing tools (like git and gawk). Use port (can be downloaded form http://www.macports.org) to install these additional tools) Completing the Makefile failed with the following messages: NOTE: package quilt-native-0.45-r0: task do_configure: started ERROR: Information not available for target 'i386-darwin' NOTE: exceptions.TypeError?:iterable argument required while evaluating: ${@siteinfo_get_endianess(d)} ERROR: Information not available for target 'i386-darwin' Don't know how to proceed Development with UnslungSee NativelyCompileUnslungPackages
(But will this really work to recompile the kernel?) Development with slugosSee SlugOSNativeCompileEnvironment Development with Windows (VMWare Player and Ubuntu 5.10)
If a package can't be downloadedIf a package can not be found (for example, at the moment the homepage of xinetd, http://www.xinetd.org is down so the build tools can't download xinetd-2.3.13.tar.gz from there) but you have a copy of the package file (for example, xinetd-2.3.13.tar.gz can be downloaded from ftp://gd.tuwien.ac.at/infosys/servers/xinetd/xinetd-2.3.13.tar.gz): You may also use http://sources.nslu2-linux.org/sources/ as an alternate location of package files. (Example: wget http://sources.nslu2-linux.org/sources/foo.tar.gz )
1. Download the package file to md5sum ~/slug/slugos/downloads/PACKAGENAME.tar.gz | \ 3. Try running: make build-slugos Build a package (plus dependencies)To build a package for openslug or unslung, simply execute the following commands (in a bash shell) from the MasterMakefile directory (after checking out the repository): % cd [slugos|unslung] or if you are working on your own bitbake file % bitbake -b my_file_0.00.bb This will build the package represented by "<package-name>", if the package exists as a part of the distribution. If the package you want to build is not a part of the given distribution, you can try adding it by editing openembedded/packages/meta/slugos-packages.bb. If you want to rebuild after making changes then use the bitbake command The openembedded file format for Build notesI have just attempted the build from the source and encountered two issues. 1. Sleepycat does not have the db-4.3.27.tar.gz for download. I searched the net and found a copy. Dumped into download dir. Then created a checksum with md5sum. 2. There is an issue with your cvs download of irssi from your cvs. Edit the file openembedded/packages/irssi/irssi_cvs.bb Add a line near the top CVSDATE = "20050930" Force the date and the build continues.
view ·
edit ·
print ·
history ·
Last edited by sdm485.
Based on work by sdm485, Reedy, RudolfReuter, rwhitby, mwester, ahagge, oleo, bwalle, Lars Bager, RobinC, mathieu_xwave, Blastur, piti, Sinclair, wklam, Peter Taylor, attila, jstein, BC van 't Hul, fcarolo, Steve G, mrkzander, ingeba, ben, Tobbe, Gordon, PatrickSchneider, eFfeM, asgaut, Rob Lockhart, ironstorm, Joe S, PP, beonas, Liviu Ionescu, Didge, Peter Enzerink, emm_is, Fred Wenzel, infoball, andrew, eddyp, ai2097, RobHam, Patrick Schneider, pmeerw, gfk, Eiffel, endecotp, mda, Heiko Lippmann, ByronT, CervAnteZ, whaly, marceln, vortex, BrandonPhilips, kaste, grahame_falvey, tman, engie, blaster8, ka6sox, repvik, malfi, Michael-Luke Jones, Matt Bostock, peteru, Malfi, and jbowler. Originally by repvik. Page last modified on November 01, 2010, at 12:02 PM
|