![]() |
HowTo.CrossCompileWithCentOS HistoryHide minor edits - Show changes to markup June 21, 2008, at 08:33 PM
by -- cosmetics of course
Changed lines 29-30 from:
[/usr/src/monotone-0.29]$ make check <--- NOTE DONE AS NON-ROOT IN ORDER TO NOT FAIL!! to:
[/usr/src/monotone-0.29]$ make check <--- NOTE: DONE AS NON-ROOT IN ORDER TO NOT FAIL!! Changed lines 223-224 from:
It is saved automatically, so when you reboot your "turnup" scripts will now work properly. Note that this may not be necessary for newer versions of Apex, but for 1.5.13 I required this workaround (thanks to rwhitby). to:
It is saved automatically, so when you reboot your "turnup" scripts will now work properly. Note that this is not necessary for newer versions of Apex (1.5.14 and above), but for 1.5.13 I required this workaround (thanks to rwhitby). Changed lines 233-235 from:
So, let's proceed to modify the file common-pci.c per recommendation above. The file to modify is here (note line break on purpose): tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/ to:
So, let's proceed to modify the file common-pci.c per recommendation above. The file to modify is here (note line break): slugos/tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/\ Changed lines 240-242 from:
[slug@Linux ~/slugos]$ diff tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c ~/tmp/common-pci.c to:
[~/slugos]$ diff tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/\ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c ~/tmp/common-pci.c Changed lines 250-252 from:
[slug@Linux ~/slugos]$ cp ~/tmp/common-pci.c tmp/work/nslu2be-linux/ linux-ixp4xx-2.6.24.7+svnr1066-r0/linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c to:
[~/slugos]$ cp ~/tmp/common-pci.c tmp/work/nslu2be-linux/\ linux-ixp4xx-2.6.24.7+svnr1066-r0/linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c Changed lines 256-262 from:
[slug@Linux ~/slugos]$ rm tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.o [slug@Linux ~/slugos]$ rm tmp/stamps/nslu2be-linux/ linux-ixp4xx-2.6.24.7+svnr1066-r0.do_compile [slug@Linux ~/slugos]$ make slugosbe to:
[~/slugos]$ rm tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/\ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.o [~/slugos]$ rm tmp/stamps/nslu2be-linux/\ linux-ixp4xx-2.6.24.7+svnr1066-r0.do_compile [~/slugos]$ make slugosbe June 21, 2008, at 08:16 PM
by -- Added instructions for modifying kernel pieces and recompiling
Changed lines 223-264 from:
It is saved automatically, so when you reboot your "turnup" scripts will now work properly. Note that this may not be necessary for newer versions of Apex, but for 1.5.13 I required this workaround (thanks to rwhitby). to:
It is saved automatically, so when you reboot your "turnup" scripts will now work properly. Note that this may not be necessary for newer versions of Apex, but for 1.5.13 I required this workaround (thanks to rwhitby). Now, let's say you want to make some mods to the kernel source files. I had asked on the IRC channel in how to do this, and the easiest way was via checking out the kernel and rebuilding. I didn't feel that comfortable in doing that, so I decided to do it via the compile process here. So, let's assume you want to try out some mods that were suggested in the kernel bug for OOM errors for FatSlugs?: http://bugzilla.kernel.org/show_bug.cgi?id=7760 How to start this? First, let's assume you've already got a complete system working per above, and you've compiled the slugosbe image. That would be in the path: /home/slug/slugos/tmp/deploy/images/slugosbe-4.10-alpha-nslu2.bin So, let's proceed to modify the file common-pci.c per recommendation above. The file to modify is here (note line break on purpose): tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c I manually patched and copied common-pci.c and put it in the ~/tmp directory. Here I do a diff: [slug@Linux ~/slugos]$ diff tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c ~/tmp/common-pci.c 326c326 < dmabounce_register_dev(dev, 2048, 4096); --- > dmabounce_register_dev(dev, 16384, 131072); So now just copy the patch to the appropriate directory above via: [slug@Linux ~/slugos]$ cp ~/tmp/common-pci.c tmp/work/nslu2be-linux/ linux-ixp4xx-2.6.24.7+svnr1066-r0/linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.c Now we have to "fake" the process into re-compiling the parts necessary: [slug@Linux ~/slugos]$ rm tmp/work/nslu2be-linux/linux-ixp4xx-2.6.24.7+svnr1066-r0/ linux-2.6.24/arch/arm/mach-ixp4xx/common-pci.o [slug@Linux ~/slugos]$ rm tmp/stamps/nslu2be-linux/ linux-ixp4xx-2.6.24.7+svnr1066-r0.do_compile [slug@Linux ~/slugos]$ make slugosbe That will re-compile the kernel, as we manually removed the "do_compile" file in the path above (so that means it assumes it's not there and needs to be re-run). Lucky for us, it only looks at the missing .o files so it only needs to re-compile the common-pci.c file to create common-pci.o and then merge / link to the rest of the kernel files and such to make the 8MB flash image. June 13, 2008, at 04:16 AM
by -- added instructions about modification of cmdline for turnup scripts to work with custom Apex
Changed lines 209-210 from:
I used the first instructions, as I use TFTP at work via custom boot loader, and am very comfortable with it. I know that a lot of the instructions warn about not using it, there are better ways, etc. but that is the only instruction set that will work with both Linux and Windows environments (at least that I know), without having to install SerComm, etc. utility (which I don't want). to:
I used the first instructions, as I use and trust TFTP. I know that a lot of the instructions warn about not using it, there are better ways, etc. but that is the only instruction set that will work with both Linux and Windows environments (at least that I know), without having to install SerComm, etc. utility (which I don't want). And if you compile your own RedBoot, you can access all RAM and all FLASH area within RedBoot. Added lines 212-223:
NOTE: I assume you know how to use SlugImage? to pack and unpack parts of the image. Something useful is to be able to replace the apex boot loader with a more recent one (that supports 256MiB via "sdram-init" and support for 16MiB flash). If you're running slugos and you run the turnup scripts, and after the first reboot the external drive doesn't get re-mounted, that's because your apex command line needs to be modified. Do it as follows (in APEX - for SlugOS - unknown for Debian): type "print" in Apex (CTRL-C while Apex is booting and "copying"). old line: cmdline *= root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200 You need to append "init=/linuxrc". Do it as follows: setenv cmdline *= root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200 init=/linuxrc It is saved automatically, so when you reboot your "turnup" scripts will now work properly. Note that this may not be necessary for newer versions of Apex, but for 1.5.13 I required this workaround (thanks to rwhitby). May 28, 2008, at 01:25 AM
by -- updated number of tasks with \"make slugosle\"
Changed lines 2-3 from:
(running CentOS 5 with functioning yum and all updates to yum as of April 2008)to:
(running CentOS 5 with functioning yum and all updates to yum as of May 2008)Changed line 118 from:
[~]$ make slugosle (took about 6 hours to finish - 684 tasks) to:
[~]$ make slugosle (took about 6 hours to finish - 760 tasks) May 27, 2008, at 11:30 AM
by --
Changed lines 40-41 from:
For CentOS? 5, it showed Python 2.4.3, so download the latest psyco-1.6. If you have Python version earlier than 2.2.2, then you have to use psyco-1.5.2. More details in the README.txt file for 1.6 to:
For CentOS 5, it showed Python 2.4.3, so download the latest psyco-1.6. If you have Python version earlier than 2.2.2, then you have to use psyco-1.5.2. More details in the README.txt file for 1.6 Changed lines 83-84 from:
If you use another version of monotone, you have to update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) to:
If you use another version of monotone (besides 0.29), you have to update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) May 27, 2008, at 02:50 AM
by -- cosmetic again
Changed lines 29-30 from:
[/usr/src/monotone-0.29]$ make check <--- NOTE DONE AS NON-ROOT IN ORDER TO NOT FAIL!! to:
[/usr/src/monotone-0.29]$ make check <--- NOTE DONE AS NON-ROOT IN ORDER TO NOT FAIL!! May 27, 2008, at 02:49 AM
by -- cosmetic again
Changed lines 7-8 from:
I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type: to:
I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type: May 27, 2008, at 02:49 AM
by -- cosmetic again
Changed lines 8-10 from:
to:
export PS1='[\w]\$ '
Changed lines 204-205 from:
/usr/local/bin/ to:
/usr/local/bin/
May 27, 2008, at 02:47 AM
by -- cosmetic again
Changed lines 19-20 from:
[~]$ wget http://www.nslu2-linux.org/Makefile%% to:
[~]$ wget http://www.nslu2-linux.org/Makefile Changed line 23 from:
[~]$ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz%% to:
[~]$ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz Changed line 41 from:
[~]$ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz%% to:
[~]$ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz Changed lines 73-74 from:
You will have to install monotone separately. See http://venge.net/monotone/ to:
You will have to install monotone separately. See http://venge.net/monotone/ Changed lines 80-81 from:
[~]# rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm%% to:
[~]# rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm May 27, 2008, at 02:44 AM
by -- cosmetic
Changed lines 71-72 from:
You will have to install quilt separately. See http://centos.karan.org/ You will have to install git separately. See http://rpmforge.net/ to:
You will have to install quilt separately. See http://centos.karan.org/ You will have to install git separately. See http://rpmforge.net/ May 27, 2008, at 02:43 AM
by -- highlighting
Changed lines 5-11 from:
$ => implies non-root ("slug" account)
# => implies root
I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type: export PS1='[\w]\$ ' to:
$ => implies non-root ("slug" account) # => implies root I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type: export PS1?='[\w]\$ ' Changed lines 13-16 from:
[~]# useradd -m slug [~]# su - slug [~]$ cd /home/slug to:
[~]# useradd -m slug [~]# su - slug [~]$ cd /home/slug Changed lines 19-20 from:
[~]$ wget http://www.nslu2-linux.org/Makefile to:
[~]$ wget http://www.nslu2-linux.org/Makefile%% Changed lines 23-29 from:
[~]$ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz [~]# cd /usr/src; tar xzvf ~slug/monotone-0.29.tar.gz [/usr/src]# cd monotone-0.29; ./configure [/usr/src/monotone-0.29]# make [/usr/src/monotone-0.29]# chmod ugo+rw . -R [/usr/src/monotone-0.29]$ make check <--- NOTE DONE AS NON-ROOT IN ORDER TO NOT FAIL!! to:
[~]$ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz%% [~]# cd /usr/src; tar xzvf ~slug/monotone-0.29.tar.gz [/usr/src]# cd monotone-0.29; ./configure [/usr/src/monotone-0.29]# make [/usr/src/monotone-0.29]# chmod ugo+rw . -R [/usr/src/monotone-0.29]$ make check <--- NOTE DONE AS NON-ROOT IN ORDER TO NOT FAIL!! Changed lines 32-33 from:
[/usr/src/monotone-0.29]# make install to:
[/usr/src/monotone-0.29]# make install Changed lines 36-38 from:
[/usr/src/monotone-0.29]$ cd ~ [~]$ python -V to:
[/usr/src/monotone-0.29]$ cd ~ [~]$ python -V Changed lines 41-46 from:
[~]$ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz [~]# cd /usr/src [/usr/src]# tar xzvf ~slug/psyco-1.6-src.tar.gz [/usr/src]# cd psyco-1.6 [/usr/src/psyco-1.6]# python setup.py install to:
[~]$ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz%% [~]# cd /usr/src [/usr/src]# tar xzvf ~slug/psyco-1.6-src.tar.gz [/usr/src]# cd psyco-1.6 [/usr/src/psyco-1.6]# python setup.py install Changed lines 49-50 from:
[~]$ ls /usr/lib/python2.4/site-packages/psyco/ to:
[~]$ ls /usr/lib/python2.4/site-packages/psyco/ Changed lines 53-56 from:
[~]# cd /usr/src/ [/usr/src]# tar xzvf ~slug/psyco-1.5.2-src.tar.gz [/usr/src]# cp -r psyco-1.5.2/psyco /usr/lib/python2.3/site-packages/ to:
[~]# cd /usr/src/ [/usr/src]# tar xzvf ~slug/psyco-1.5.2-src.tar.gz [/usr/src]# cp -r psyco-1.5.2/psyco /usr/lib/python2.3/site-packages/ Changed lines 59-60 from:
[~]$ make update-master to:
[~]$ make update-master Changed lines 65-66 from:
[~]$ make setup-host-centos to:
[~]$ make setup-host-centos Changed lines 77-81 from:
[~]# yum install git* [~]# yum install quilt* [~]# yum install python-sqlite2 [~]# rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm to:
[~]# yum install git* [~]# yum install quilt* [~]# yum install python-sqlite2 [~]# rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm%% Changed lines 84-86 from:
[~]$ mtn db migrate --db=monotone/nslu2-linux.mtn [~]$ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn to:
[~]$ mtn db migrate --db=monotone/nslu2-linux.mtn [~]$ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn Changed lines 95-96 from:
[~]# make setup-host-centos to:
[~]# make setup-host-centos Changed lines 99-100 from:
[~]$ make setup-openembedded to:
[~]$ make setup-openembedded Changed lines 109-113 from:
[~]$ mkdir downloads [~]$ cp IPL_ixp400NpeLibrary-2_4.zip downloads [~]$ cd downloads [~/downloads]$ md5sum -b IPL_ixp400NpeLibrary-2_4.zip >IPL_ixp400NpeLibrary-2_4.zip.md5 to:
[~]$ mkdir downloads [~]$ cp IPL_ixp400NpeLibrary-2_4.zip downloads [~]$ cd downloads [~/downloads]$ md5sum -b IPL_ixp400NpeLibrary-2_4.zip >IPL_ixp400NpeLibrary-2_4.zip.md5 Changed lines 116-120 from:
[~/downloads]$ cd ~ [~]$ make slugosle (took about 6 hours to finish - 684 tasks) [~]$ make slugosbe (about 2 hours as some stuff can be re-used) [~]$ make update (this updates all packages, keys, etc.) to:
[~/downloads]$ cd ~ [~]$ make slugosle (took about 6 hours to finish - 684 tasks) [~]$ make slugosbe (about 2 hours as some stuff can be re-used) [~]$ make update (this updates all packages, keys, etc.) Changed lines 123-125 from:
/home/slug/slugos/tmp/deploy/images to:
/home/slug/slugos/tmp/deploy/images
Changed lines 133-134 from:
/home/slug/slugosle/openembedded/packages/mtd to:
/home/slug/slugosle/openembedded/packages/mtd Changed lines 137-138 from:
http://www.openembedded.org/oefaq to:
http://www.openembedded.org/oefaq Changed lines 148-149 from:
[~]$ cat >>~/.bashrc to:
[~]$ cat >>~/.bashrc Changed lines 151-152 from:
export PATH="$PATH:/home/slug/slugos/tmp/cross/bin:" to:
export PATH="$PATH:/home/slug/slugos/tmp/cross/bin:"
Changed lines 155-156 from:
[~]$ source ~/.bashrc to:
[~]$ source ~/.bashrc Changed lines 159-160 from:
[~]$ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel to:
[~]$ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel Changed lines 165-167 from:
[~]$ cd /home/slug/kernel [~/kernel]$ ln -s ../downloads . to:
[~]$ cd /home/slug/kernel [~/kernel]$ ln -s ../downloads . Changed lines 170-172 from:
[~/kernel]$ cd ~; wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm [/home/slug]# rpm -ivh ~slug/devio-1.3-1.i386.rpm to:
[~/kernel]$ cd ~; wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm [/home/slug]# rpm -ivh ~slug/devio-1.3-1.i386.rpm Changed lines 175-176 from:
[~/kernel]$ make APEX_CONFIG=debian apex to:
[~/kernel]$ make APEX_CONFIG=debian apex Changed lines 182-185 from:
[~/kernel]$ svn up (should show something like: ""At revision 1062."") [~/kernel]$ make clobber-apex (this just deletes all the old binaries) [~/kernel]$ make APEX_CONFIG=debian apex to:
[~/kernel]$ svn up (should show something like: ""At revision 1062."") [~/kernel]$ make clobber-apex (this just deletes all the old binaries) [~/kernel]$ make APEX_CONFIG=debian apex Changed lines 193-194 from:
[~]$ find . -name '*.bin' to:
[~]$ find . -name '*.bin' Changed lines 203-205 from:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \
/usr/local/bin/
to:
[~]# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \ /usr/local/bin/ May 27, 2008, at 02:16 AM
by -- syntax
Changed lines 7-8 from:
I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type: to:
I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type: May 27, 2008, at 02:16 AM
by -- syntax only
Changed lines 8-10 from:
to:
export PS1='[\w]\$ ' May 27, 2008, at 02:13 AM
by -- added paths in prompts for clarification purposes
Changed lines 7-10 from:
to:
I'm also using the notation [/absolute/path] to show the present working directory, and "~" to mean the home directory of the current user (whether it is root or slug). To do this on your system, type:
export PS1?='[\w]\$ '
Changed lines 13-16 from:
# useradd -m slug # su - slug $ cd /home/slug to:
[~]# useradd -m slug [~]# su - slug [~]$ cd /home/slug Changed lines 19-20 from:
$ wget http://www.nslu2-linux.org/Makefile to:
[~]$ wget http://www.nslu2-linux.org/Makefile Changed lines 23-29 from:
$ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz # cd /usr/src; tar xzvf ~slug/monotone-0.29.tar.gz # cd monotone-0.29; ./configure # make # chmod ugo+rw . -R $ make check to:
[~]$ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz [~]# cd /usr/src; tar xzvf ~slug/monotone-0.29.tar.gz [/usr/src]# cd monotone-0.29; ./configure [/usr/src/monotone-0.29]# make [/usr/src/monotone-0.29]# chmod ugo+rw . -R [/usr/src/monotone-0.29]$ make check <--- NOTE DONE AS NON-ROOT IN ORDER TO NOT FAIL!! Changed lines 32-33 from:
# make install to:
[/usr/src/monotone-0.29]# make install Changed lines 36-37 from:
$ python -V to:
[/usr/src/monotone-0.29]$ cd ~ [~]$ python -V Changed lines 41-46 from:
$ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz # cd /usr/src # tar xzvf ~slug/psyco-1.6-src.tar.gz # cd psyco-1.6 # python setup.py install to:
[~]$ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz [~]# cd /usr/src [/usr/src]# tar xzvf ~slug/psyco-1.6-src.tar.gz [/usr/src]# cd psyco-1.6 [/usr/src/psyco-1.6]# python setup.py install Changed lines 49-50 from:
$ ls /usr/lib/python2.4/site-packages/psyco/ to:
[~]$ ls /usr/lib/python2.4/site-packages/psyco/ Changed lines 53-56 from:
# cd /usr/src/ # tar xzvf ~slug/psyco-1.5.2-src.tar.gz # cp -r psyco-1.5.2/psyco /usr/lib/python2.3/site-packages/ to:
[~]# cd /usr/src/ [/usr/src]# tar xzvf ~slug/psyco-1.5.2-src.tar.gz [/usr/src]# cp -r psyco-1.5.2/psyco /usr/lib/python2.3/site-packages/ Changed lines 59-60 from:
$ make update-master to:
[~]$ make update-master Changed lines 65-66 from:
# make setup-host-centos to:
[~]$ make setup-host-centos Changed lines 77-81 from:
# yum install git* # yum install quilt* # yum install python-sqlite2 # rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm to:
[~]# yum install git* [~]# yum install quilt* [~]# yum install python-sqlite2 [~]# rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm Changed lines 84-86 from:
$ mtn db migrate --db=monotone/nslu2-linux.mtn $ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn to:
[~]$ mtn db migrate --db=monotone/nslu2-linux.mtn [~]$ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn Changed lines 95-96 from:
# make setup-host-centos to:
[~]# make setup-host-centos Changed lines 99-100 from:
$ make setup-openembedded to:
[~]$ make setup-openembedded Changed lines 109-113 from:
$ mkdir downloads $ cp IPL_ixp400NpeLibrary-2_4.zip downloads $ cd downloads $ md5sum -b IPL_ixp400NpeLibrary-2_4.zip >IPL_ixp400NpeLibrary-2_4.zip.md5 to:
[~]$ mkdir downloads [~]$ cp IPL_ixp400NpeLibrary-2_4.zip downloads [~]$ cd downloads [~/downloads]$ md5sum -b IPL_ixp400NpeLibrary-2_4.zip >IPL_ixp400NpeLibrary-2_4.zip.md5 Changed lines 116-120 from:
$ cd ~ $ make slugosle (took about 6 hours to finish - 684 tasks) $ make slugosbe (about 2 hours as some stuff can be re-used) $ make update (this updates all packages, keys, etc.) to:
[~/downloads]$ cd ~ [~]$ make slugosle (took about 6 hours to finish - 684 tasks) [~]$ make slugosbe (about 2 hours as some stuff can be re-used) [~]$ make update (this updates all packages, keys, etc.) Changed lines 123-125 from:
slugos/tmp/deploy/images to:
/home/slug/slugos/tmp/deploy/images Changed lines 148-149 from:
$ cat >>~/.bashrc to:
[~]$ cat >>~/.bashrc Changed lines 155-156 from:
$ source ~/.bashrc to:
[~]$ source ~/.bashrc Changed lines 159-160 from:
$ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel to:
[~]$ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel Changed lines 165-167 from:
$ cd /home/slug/kernel $ ln -s ../downloads . to:
[~]$ cd /home/slug/kernel [~/kernel]$ ln -s ../downloads . Changed lines 170-172 from:
$ cd ~; wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm # rpm -ivh ~slug/devio-1.3-1.i386.rpm to:
[~/kernel]$ cd ~; wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm [/home/slug]# rpm -ivh ~slug/devio-1.3-1.i386.rpm Changed lines 174-176 from:
$ cd ~/kernel; make APEX_CONFIG=debian apex to:
[~/kernel]$ make APEX_CONFIG=debian apex Changed lines 181-185 from:
$ cd ~/kernel $ svn up (should show something like: ""At revision 1062."") $ make clobber-apex (this just deletes all the old binaries) $ make APEX_CONFIG=debian apex to:
[~/kernel]$ svn up (should show something like: ""At revision 1062."") [~/kernel]$ make clobber-apex (this just deletes all the old binaries) [~/kernel]$ make APEX_CONFIG=debian apex Changed lines 193-194 from:
$ cd ~; find . -name '*.bin' to:
[~]$ find . -name '*.bin' May 25, 2008, at 03:28 PM
by -- restored \"make update\" to after builds for slugosbe/le
Deleted line 112:
$ make update (this updates all packages, keys, etc.) Changed lines 115-116 from:
to:
$ make update (this updates all packages, keys, etc.) May 25, 2008, at 03:24 PM
by -- put \"make update\" before builds
Added line 113:
$ make update (this updates all packages, keys, etc.) Changed lines 116-117 from:
$ make update (this updates all packages, keys, etc.) to:
May 08, 2008, at 06:59 PM
by -- made more clear the notes about monotone
Changed lines 78-79 from:
I you use an other version, you have to update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) to:
If you use another version of monotone, you have to update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) Deleted lines 80-84:
This took about 5 minutes - note if you use Monotone 0.29 the step above doesn't seem to be necessary. Next, it told me that I should run (which I did): Changed lines 83-84 from:
(took a VERY long time - 13,085 entries and took 30 minutes to get to 865). I let it run overnight (it took about 6 hours). to:
The first took about 5 minutes - note if you use Monotone 0.29 the step above doesn't seem to be necessary. Next, it told me that I should run (which I did) the regenerate caches, and that took a VERY long time - 13,085 entries and took 30 minutes to get to 865. I let it run overnight (it took about 6 hours). Again, note that this is NOT NECESSARY if you use monotone 0.29. May 08, 2008, at 04:51 AM
by -- updated CentOS links
Changed lines 2-3 from:
(running CentOS 5 with functioning yum and all updates to yum as of April 2008)to:
(running CentOS 5 with functioning yum and all updates to yum as of April 2008)Changed line 125 from:
to:
Extra info - for non-CentOS linux distributions May 08, 2008, at 03:43 AM
by -- update link for FatFlash
Changed lines 176-177 from:
Now you should have several apex'es - dmsg600, fsg3, nas100d, nslu2 and nslu2-16MB (FatFlash?), all for Debian. To get the ones for slugos, then just "make apex" and you'll get the same versions of apex except all for slugos. to:
Now you should have several apex'es - dmsg600, fsg3, nas100d, nslu2 and nslu2-16MB (FatFlash), all for Debian. To get the ones for slugos, then just "make apex" and you'll get the same versions of apex except all for slugos. May 08, 2008, at 03:41 AM
by -- Update with new information about Apex\'es
Changed lines 176-177 from:
Now you should have two different apex'es - nas100d and debian to:
Now you should have several apex'es - dmsg600, fsg3, nas100d, nslu2 and nslu2-16MB (FatFlash?), all for Debian. To get the ones for slugos, then just "make apex" and you'll get the same versions of apex except all for slugos. Added line 180:
$ cd ~/kernel May 05, 2008, at 12:07 AM
by -- added note about updating
Changed lines 118-119 from:
to:
$ make update (this updates all packages, keys, etc.) May 04, 2008, at 11:04 PM
by -- cosmetic
Changed line 200 from:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \\\ to:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \ May 04, 2008, at 11:03 PM
by -- cosmetic
Changed line 200 from:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \\ to:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \\\ May 04, 2008, at 11:03 PM
by -- cosmetic
Changed line 200 from:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \ to:
# ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage \\ May 04, 2008, at 11:02 PM
by -- added notes about slugimage
Added lines 198-204:
I had some issues with this at first, for some reason. I used the image compiled, and it gave me a message about "cannot find eRcOmM". I think it might be related to not using slugimage so I would recommend using that. Here it is: # ln -s /home/slug/slugos/tmp/work/i686-linux/slugimage-native-1.0-r12/slugimage /usr/local/bin/ then look at the SlugImage page. May 04, 2008, at 09:24 PM
by -- removed reference to old instructions - no longer needed
Deleted lines 112-113:
note that above I had to change the name as it was looking for -2_3.zip and I only had -2_3_2.zip file. Changed lines 119-121 from:
to:
After this is done, the files you compiled will be in this directory: slugos/tmp/deploy/images Deleted line 140:
Changed lines 144-145 from:
Once you have built slugosle and slugosbe, add /home/slug/slugosle/tmp/cross/bin and /home/slug/slugosbe/tmp/cross/bin to your path. This is done via appending these statements to /home/slug/.bashrc and re-sourcing it: to:
Once you have built slugosle and slugosbe, add /home/slug/slugos/tmp/cross/bin to your path. This is done via appending these statements to /home/slug/.bashrc and re-sourcing it: Changed lines 149-150 from:
export PATH="$PATH:/home/slug/slugosle/tmp/cross/bin:/home/slug/slugosbe/tmp/cross/bin" to:
export PATH="$PATH:/home/slug/slugos/tmp/cross/bin:" Changed lines 159-160 from:
After doing that, I got a bunch of stuff that looks like it was downloaded, and then it said "Checked out revision 819". to:
After doing that, I got a bunch of stuff that looks like it was downloaded, and then it said "Checked out revision 1062". Changed lines 166-170 from:
Next, you need "devio" RPM package (not part of CentOS): $ wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm # rpm -ivh devio-1.3-1.i386.rpm to:
Next, you need "devio" RPM package (not part of CentOS or default yum repository): $ cd ~; wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm # rpm -ivh ~slug/devio-1.3-1.i386.rpm Changed lines 172-174 from:
$ make APEX_CONFIG=debian apex to:
$ cd ~/kernel; make APEX_CONFIG=debian apex Changed line 179 from:
$ svn up to:
$ svn up (should show something like: ""At revision 1062."") Changed lines 190-191 from:
$ find . -iname '*.bin' to:
$ cd ~; find . -name '*.bin' May 04, 2008, at 04:22 PM
by -- cosmetic again
Changed lines 104-105 from:
See "Intel IXP400 software - NPE microcode (non-crypto)" and click on the BLUE "2.4" text. You will need to agree to the Intel Public License to do so - please do read it! You'll have to go through a few dialog boxes where you click "AGREE" so this can't be automated. If you do not agree, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. Don't even think about crypto support, the IXP420 doesn't have the hardware for it. The IXP465?, etc. have this hardware however. to:
See "Intel IXP400 software - NPE microcode (non-crypto)" and click on the BLUE "2.4" text. You will need to agree to the Intel Public License to do so - please do read it! You'll have to go through a few dialog boxes where you click "AGREE" so this can't be automated. If you do not agree, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. Don't even think about crypto support, the IXP420 doesn't have the hardware for it. The IXP465, etc. have this hardware however. May 04, 2008, at 04:21 PM
by -- note about crypto - IXP420 doesn\'t have the hardware needed to support it
Changed lines 104-105 from:
See "Intel IXP400 software - NPE microcode (non-crypto)" and click on the BLUE "2.4" text. You will need to agree to the Intel Public License to do so - please do read it! You'll have to go through a few dialog boxes where you click "AGREE" so this can't be automated. If you do not agree, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. to:
See "Intel IXP400 software - NPE microcode (non-crypto)" and click on the BLUE "2.4" text. You will need to agree to the Intel Public License to do so - please do read it! You'll have to go through a few dialog boxes where you click "AGREE" so this can't be automated. If you do not agree, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. Don't even think about crypto support, the IXP420 doesn't have the hardware for it. The IXP465?, etc. have this hardware however. May 04, 2008, at 03:26 PM
by -- updated time estimates
Changed lines 118-123 from:
$ make slugosle (took about 2 hours to finish) $ make slugosbe (about the same time as above) to:
$ make slugosle (took about 6 hours to finish - 684 tasks) $ make slugosbe (about 2 hours as some stuff can be re-used) May 04, 2008, at 03:09 PM
by -- changed NPE to 2.4
Changed lines 103-105 from:
Next, you'll have to download the Intel microcode. Googling for the file showed this link. You'll have to open it in a browser, because you have to agree to the licensing terms. Open it in a browser, then click the Download text. Then carefully read the agreement, then click "ACCEPT" if you accept the licensing agreement. If not, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. to:
Next, you'll have to download the Intel microcode. You must manually download IPL_ixp400NpeLibrary-2_4.zip from HERE. See "Intel IXP400 software - NPE microcode (non-crypto)" and click on the BLUE "2.4" text. You will need to agree to the Intel Public License to do so - please do read it! You'll have to go through a few dialog boxes where you click "AGREE" so this can't be automated. If you do not agree, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. Changed line 109 from:
$ cp IPL_ixp400NpeLibrary-2_3_2.zip downloads (into slug/downloads directory) to:
$ cp IPL_ixp400NpeLibrary-2_4.zip downloads Changed lines 111-114 from:
$ md5sum -b IPL_ixp400NpeLibrary-2_3_2.zip >IPL_ixp400NpeLibrary-2_3_2.zip.md5 $ cp IPL_ixp400NpeLibrary-2_3_2.zip IPL_ixp400NpeLibrary-2_3.zip $ md5sum -b IPL_ixp400NpeLibrary-2_3.zip >IPL_ixp400NpeLibrary-2_3.zip.md5 to:
$ md5sum -b IPL_ixp400NpeLibrary-2_4.zip >IPL_ixp400NpeLibrary-2_4.zip.md5 May 04, 2008, at 03:37 AM
by -- Major updates for CentOS 5.
Changed lines 2-3 from:
(running CentOS 4.4 with functioning yum and all updates to yum as of April 2007)to:
(running CentOS 5 with functioning yum and all updates to yum as of April 2008)Deleted line 7:
Added line 11:
# su - slug Changed lines 18-21 from:
(for CentOS): need to build monotone from here. (Get the source. I (david) recommend to use monotone 0.29 instead of the 0.34 described here. Here's where to get 0.29. See below why.) # cd /usr/src; tar xzvf monotone-0.34.tar.gz # cd monotone-0.34; ./configure to:
(for CentOS): need to build monotone from here. (Get the source. I (david) recommend to use monotone 0.29 instead of the latest. Here's where to get 0.29. See below why.) $ wget http://monotone.ca/downloads/0.29/monotone-0.29.tar.gz # cd /usr/src; tar xzvf ~slug/monotone-0.29.tar.gz # cd monotone-0.29; ./configure Changed lines 24-25 from:
# chmod ugo+r .deps * -R to:
# chmod ugo+rw . -R Changed lines 27-28 from:
(above should complete with no errors - one test is to have errors and make sure monotone detects them) to:
The above should complete with no errors - one test is to have errors and make sure monotone detects them. Note that it will take about an hour to run on a P4-2.0GHz with 1GB RAM. Changed lines 31-35 from:
This is going to take a VERY LONG time (took me more than 1hr on a P4-2.0GHz with 1GB DDR RAM). NOTE: Psyco JIT Compiler needs to be installed it to increase performance. This is only on i386-type build platforms. Download the version you need by first determining the version of python you have. to:
Next, Psyco JIT Compiler needs to be installed in order to increase performance. This is only on i386-type build platforms. Download the version you need by first determining the version of python you have. Changed lines 35-37 from:
for me it showed Python 2.3.4 so that means I would download psyco-1.5.2-linux.i386-2.3.tar.gz. I tar xzvf'ed it in /usr/src so it would be in the /usr/src/psyco-1.5.2 location. I then copied (per the INSTALL.txt) the psyco folder to the python site-packages dir: to:
For CentOS? 5, it showed Python 2.4.3, so download the latest psyco-1.6. If you have Python version earlier than 2.2.2, then you have to use psyco-1.5.2. More details in the README.txt file for 1.6 $ wget http://downloads.sourceforge.net/psyco/psyco-1.6-src.tar.gz # cd /usr/src # tar xzvf ~slug/psyco-1.6-src.tar.gz # cd psyco-1.6 # python setup.py install To confirm it worked: $ ls /usr/lib/python2.4/site-packages/psyco/ For 1.5.2 only, tar xzvf'ed it in /usr/src so it would be in the /usr/src/psyco-1.5.2 location. Then copy (per the INSTALL.txt) the psyco folder to the python site-packages directory as follows. Note that you may have to change your python directory if different than version 2.3 below Added line 50:
# tar xzvf ~slug/psyco-1.5.2-src.tar.gz Changed lines 53-55 from:
Next, download the entire database for building the SLUG packages: to:
Next, download the Monotone database for building SLUG packages: Changed lines 57-60 from:
(this takes a while as it verifies certificates, keys, revisions, etc.) Next, setup the build environment for CentOS: to:
This takes about 6 hours (P4-2GHz with 1GB RAM) as it downloads a 160MB OpenEmbedded Monotone file, verifies certificates, keys, revisions, etc. Next, setup the build environment for CentOS. You'll be prompted for the root password as some packages (via yum) will be installed. Changed lines 63-64 from:
The monotone database file is built with monotone 0.29. If you have a monotone version upper than this, you need to update it. Note that this is a very long (and unstable) process (I have not been able to update the database on my Amd64 box running Ubuntu (feisty) with the monotone supplied with the system, nor with the 0.34 and 0.36 versions I compiled). For this reasons, I greatly recommend you compile your version of monotone 0.29. to:
The monotone database file is built with monotone 0.29. If you have a monotone version upper than this, you need to update it. Note that this is a very long (and unstable) process (I have not been able to update the database on my Amd64 box running Ubuntu (feisty) with the monotone supplied with the system, nor with the 0.34 and 0.36 versions I compiled). For this reason, I greatly recommend you compile your version of monotone with version 0.29 only. When the make update-master process proceeds, you'll be able to confirm this by seeing the line OE-this-is-for-mtn-0.29.mtn.bz2 from the snapshot download. You'll see some messages as those shown below: You will have to install quilt separately. See http://centos.karan.org/ You will have to install git separately. See http://rpmforge.net/ You will have to install monotone separately. See http://venge.net/monotone/ I first did # yum install git* # yum install quilt* # yum install python-sqlite2 # rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm Changed lines 82-83 from:
(this took about 5 minutes) to:
This took about 5 minutes - note if you use Monotone 0.29 the step above doesn't seem to be necessary. Changed lines 103-107 from:
to:
Next, you'll have to download the Intel microcode. Googling for the file showed this link. You'll have to open it in a browser, because you have to agree to the licensing terms. Open it in a browser, then click the Download text. Then carefully read the agreement, then click "ACCEPT" if you accept the licensing agreement. If not, stop here and go back to the Linksys firmware. I'll assume you download that file and put it in the slug home directory somehow. Note that (per rwhitby) if you search on the IXP 400 family on the Intel web site, you'll find 3.0.1 (or higher) but that only supports 43x and 46x processors (not 420 on the NSLU2). So don't waste your time even thinking about 3.0.1. Changed lines 113-114 from:
$ cp IPL_ixp400NpeLibrary-2_3_2.zip.md5 IPL_ixp400NpeLibrary-2_3.zip.md5 to:
$ md5sum -b IPL_ixp400NpeLibrary-2_3.zip >IPL_ixp400NpeLibrary-2_3.zip.md5 Added line 119:
$ cd ~ Added lines 123-125:
May 03, 2008, at 05:28 PM
by -- added link to location of monotone 0.29
Changed line 18 from:
(for CentOS): need to build monotone from here. (Get the source. I (david) recommend to use monotone 0.29 instead of the 0.34 described here. See below why.) to:
(for CentOS): need to build monotone from here. (Get the source. I (david) recommend to use monotone 0.29 instead of the 0.34 described here. Here's where to get 0.29. See below why.) September 18, 2007, at 10:10 PM
by -- Tell people to use monotone 0.29 to prevent db upgrade
Changed line 18 from:
(for CentOS): need to build monotone from here. (get the source) to:
(for CentOS): need to build monotone from here. (Get the source. I (david) recommend to use monotone 0.29 instead of the 0.34 described here. See below why.) Changed lines 55-56 from:
Since you installed monotone, it's likely not going to be the right version. I used version 0.34 (whereas active may have been 0.33). This caused me to do update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) to:
The monotone database file is built with monotone 0.29. If you have a monotone version upper than this, you need to update it. Note that this is a very long (and unstable) process (I have not been able to update the database on my Amd64 box running Ubuntu (feisty) with the monotone supplied with the system, nor with the 0.34 and 0.36 versions I compiled). For this reasons, I greatly recommend you compile your version of monotone 0.29. I you use an other version, you have to update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) April 30, 2007, at 09:31 PM
by --
Changed lines 112-113 from:
to:
-- April 30, 2007, at 09:30 PM
by -- Extra instruction for Deb / Ubuntu users
Added lines 95-113:
NOTE: Both the above currently fail around task 569 of 645 for Deb or Ubuntu users git is now called gitfm This can be fixed by deleting the errant mtd-utils-native_1.0.0+git.bb file from the folder /home/slug/slugosle/openembedded/packages/mtd as by the instruction at http://www.openembedded.org/oefaq Section 2 Build errors Q 10 gitfm is run instead of git April 15, 2007, at 08:25 AM
by -- fixed typo
Changed lines 71-72 from:
# make setuo-host-centos to:
# make setup-host-centos April 14, 2007, at 05:56 PM
by -- added notes about where images are located
Changed lines 101-102 from:
(then "CTRL-D" to exit and save) to:
then "CTRL-D" to exit and save. Now, re-source your .bashrc file: $ source ~/.bashrc Added lines 139-151:
Now, where are those images? type: $ find . -iname '*.bin' and you'll see some directories named 'deploy'. Those are where the compiled images are located. NOTE: you'll see the files like 'slugosle-4.4-beta-nslu2.bin'. That is the actual image you would upload to flash per the various instructions in the wiki's: I used the first instructions, as I use TFTP at work via custom boot loader, and am very comfortable with it. I know that a lot of the instructions warn about not using it, there are better ways, etc. but that is the only instruction set that will work with both Linux and Windows environments (at least that I know), without having to install SerComm, etc. utility (which I don't want). Note that you can always use SlugImage to replace parts of the image, instead of replacing the whole thing. I did this for FatSlug, as I only wanted to upgrade the Apex bootloader (for >32MiB memory detection). April 12, 2007, at 01:19 PM
by -- link formatting
Changed line 116 from:
$ wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm to:
$ wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm April 12, 2007, at 01:18 PM
by -- link formatting
Changed lines 2-3 from:
to:
(running CentOS 4.4 with functioning yum and all updates to yum as of April 2007)Changed line 18 from:
to:
(for CentOS): need to build monotone from here. (get the source) Changed lines 51-52 from:
to:
Next, setup the build environment for CentOS: Changed lines 79-80 from:
http://www.nslu2-linux.org/wiki/Development/DownloadingTheIntelSourceCode to:
Changed lines 105-106 from:
$ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel to:
$ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel Changed lines 114-115 from:
to:
Next, you need "devio" RPM package (not part of CentOS): April 11, 2007, at 05:10 AM
by -- Initial creation, from Wiki sandbox
Changed lines 1-19 from:
Getting a cross-compiled env set up on a linux PC (running CentOS? 4 with functioning yum and all updates to yum as of April 2007) $ => implies non-root
$ cd /home/slug $ wget http://www.nslu2-linux.org/Makefile (for CentOS?): need to build monotone from here: http://venge.net/monotone/ # ./configure
# make
do below as non-root, and do this first (as root)
# chmod ugo+r .deps * -R
$ make check
do the above as non-root, and do this first (as root)
# make install
to:
Getting a cross-compiled environment set up on a Linux PC(running CentOS? 4.4 with functioning yum and all updates to yum as of April 2007)Throughout this document, please note the command prefixes. Only do things as root as necessary, as you can and will mess up your working Linux box if you do everything as root. $ => implies non-root ("slug" account)
# => implies root
Assuming you don't already have a user "slug", you have to first create that user. # useradd -m slug $ cd /home/slug Next, get the master Makefile from the NSLU2 repository: $ wget http://www.nslu2-linux.org/Makefile (for CentOS?): need to build monotone from here. (get the source) # cd /usr/src; tar xzvf monotone-0.34.tar.gz # cd monotone-0.34; ./configure # make # chmod ugo+r .deps * -R $ make check (above should complete with no errors - one test is to have errors and make sure monotone detects them) # make install Changed lines 34-99 from:
NOTE: Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance. This is only on i386-type build platforms. Download the version you need by first determining the version of python you have. $ python -V for me it showed Python 2.3.4 so that means I would download psyco-1.5.2-linux.i386-2.3.tar.gz I then tar xzvf'ed it, and copied (per the INSTALL.txt) the psyco folder:
$ make update-master (takes a while as it verifies certificates, keys, revisions, etc.)
Since you installed monotone, it's likely not going to be the right version. I used version 0.34 (whereas active may have been 0.33). This caused me to do: $ mtn db migrate --db=monotone/nslu2-linux.mtn (took about 5 minutes I think) After that, it told me that I should run (which I did): $ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn (took a VERY long time - 13,085 entries and took 30 minutes to get to 865). I let it run overnight (it took about 6 hours). (examples found from page 98 here: http://monotone.ca/monotone.pdf ) I ran this below just to be sure (but it wasn't needed):
Next, this may take some time... it goes thru certificates and keys. It took me about 10 minutes. $ make setup-openembedded Next step will fail, because you have to manually download the Intel source code for RedBoot and the Intel microcode for the Ethernet device: http://www.nslu2-linux.org/wiki/Development/DownloadingTheIntelSourceCode $ mkdir downloads $ cp IPL_ixp400NpeLibrary-2_3_2.zip downloads (into slug/downloads directory) $ cd downloads $ md5sum -b IPL_ixp400NpeLibrary-2_3_2.zip >IPL_ixp400NpeLibrary-2_3_2.zip.md5 $ cp IPL_ixp400NpeLibrary-2_3_2.zip IPL_ixp400NpeLibrary-2_3.zip $ cp IPL_ixp400NpeLibrary-2_3_2.zip.md5 IPL_ixp400NpeLibrary-2_3.zip.md5 note that above I had to change the name as it was looking for -2_3.zip and I only had -2_3_2.zip file. $ make slugosle (took about 2 hours to finish) $ make slugosbe (about the same time as above) once you have built slugosle and slugosbe, check out our kernel svn repo into /home/slug/kernel, and then add /home/slug/slugosle/tmp/cross/bin and /home/slug/ slugosbe/tmp/cross/bin to your path. then you can build all our bleeding edge kernel and apex stuff $ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel after doing that, I got a bunch of stuff that looks like it was downloaded, and then it said "Checked out revision 819". Now, to make Apex, do the following: $ cd /home/slug/kernel $ ln -s ../downloads . to:
NOTE: Psyco JIT Compiler needs to be installed it to increase performance. This is only on i386-type build platforms. Download the version you need by first determining the version of python you have. $ python -V for me it showed Python 2.3.4 so that means I would download psyco-1.5.2-linux.i386-2.3.tar.gz. I tar xzvf'ed it in /usr/src so it would be in the /usr/src/psyco-1.5.2 location. I then copied (per the INSTALL.txt) the psyco folder to the python site-packages dir: # cd /usr/src/ # cp -r psyco-1.5.2/psyco /usr/lib/python2.3/site-packages/ Next, download the entire database for building the SLUG packages: $ make update-master (this takes a while as it verifies certificates, keys, revisions, etc.) Next, setup the build environment for CentOS?: # make setup-host-centos Since you installed monotone, it's likely not going to be the right version. I used version 0.34 (whereas active may have been 0.33). This caused me to do update the database, and re-generate all caches. This was necessary as the make above will likely fail (but will partially work, enough to get the .mtn file) $ mtn db migrate --db=monotone/nslu2-linux.mtn (this took about 5 minutes) Next, it told me that I should run (which I did): $ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn (took a VERY long time - 13,085 entries and took 30 minutes to get to 865). I let it run overnight (it took about 6 hours). examples found from page 98 here: I ran this again just to be sure (but it wasn't needed): # make setuo-host-centos Next, this may take some time... it goes thru certificates and keys. It took me about 10 minutes. $ make setup-openembedded Next step will fail, because you have to manually download the Intel source code for RedBoot and the Intel microcode for the Ethernet device: http://www.nslu2-linux.org/wiki/Development/DownloadingTheIntelSourceCode $ mkdir downloads $ cp IPL_ixp400NpeLibrary-2_3_2.zip downloads (into slug/downloads directory) $ cd downloads $ md5sum -b IPL_ixp400NpeLibrary-2_3_2.zip >IPL_ixp400NpeLibrary-2_3_2.zip.md5 $ cp IPL_ixp400NpeLibrary-2_3_2.zip IPL_ixp400NpeLibrary-2_3.zip $ cp IPL_ixp400NpeLibrary-2_3_2.zip.md5 IPL_ixp400NpeLibrary-2_3.zip.md5 note that above I had to change the name as it was looking for -2_3.zip and I only had -2_3_2.zip file. Next, let's do some actual builds! $ make slugosle (took about 2 hours to finish) $ make slugosbe (about the same time as above) Once you have built slugosle and slugosbe, add /home/slug/slugosle/tmp/cross/bin and /home/slug/slugosbe/tmp/cross/bin to your path. This is done via appending these statements to /home/slug/.bashrc and re-sourcing it: $ cat >>~/.bashrc (then paste in this text): export PATH="$PATH:/home/slug/slugosle/tmp/cross/bin:/home/slug/slugosbe/tmp/cross/bin" (then "CTRL-D" to exit and save) Next, check out the kernel via: $ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel After doing that, I got a bunch of stuff that looks like it was downloaded, and then it said "Checked out revision 819". Now, to make Apex (boot loader), do the following: $ cd /home/slug/kernel $ ln -s ../downloads . Changed lines 115-121 from:
$ wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm
to use the debian config do this (otherwise it defaults to slugos config) (that should make apex) $ make APEX_CONFIG=debian apex to:
$ wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm # rpm -ivh devio-1.3-1.i386.rpm To use the debian config do this (otherwise it defaults to slugos config) to make Apex: $ make APEX_CONFIG=debian apex Changed lines 126-129 from:
$ svn up $ make clobber-apex $ make APEX_CONFIG=debian apex to:
$ svn up $ make clobber-apex (this just deletes all the old binaries) $ make APEX_CONFIG=debian apex Added line 132:
Deleted lines 135-137:
April 11, 2007, at 04:34 AM
by -- initial creation
Added lines 1-110:
Getting a cross-compiled env set up on a linux PC (running CentOS? 4 with functioning yum and all updates to yum as of April 2007) $ => implies non-root
$ cd /home/slug $ wget http://www.nslu2-linux.org/Makefile (for CentOS?): need to build monotone from here: http://venge.net/monotone/ # ./configure
# make
do below as non-root, and do this first (as root)
# chmod ugo+r .deps * -R
$ make check
do the above as non-root, and do this first (as root)
# make install
This is going to take a VERY LONG time (took me more than 1hr on a P4-2.0GHz with 1GB DDR RAM). NOTE: Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance. This is only on i386-type build platforms. Download the version you need by first determining the version of python you have. $ python -V for me it showed Python 2.3.4 so that means I would download psyco-1.5.2-linux.i386-2.3.tar.gz I then tar xzvf'ed it, and copied (per the INSTALL.txt) the psyco folder:
$ make update-master (takes a while as it verifies certificates, keys, revisions, etc.)
Since you installed monotone, it's likely not going to be the right version. I used version 0.34 (whereas active may have been 0.33). This caused me to do: $ mtn db migrate --db=monotone/nslu2-linux.mtn (took about 5 minutes I think) After that, it told me that I should run (which I did): $ mtn db regenerate_caches --db=monotone/nslu2-linux.mtn (took a VERY long time - 13,085 entries and took 30 minutes to get to 865). I let it run overnight (it took about 6 hours). (examples found from page 98 here: http://monotone.ca/monotone.pdf ) I ran this below just to be sure (but it wasn't needed):
Next, this may take some time... it goes thru certificates and keys. It took me about 10 minutes. $ make setup-openembedded Next step will fail, because you have to manually download the Intel source code for RedBoot and the Intel microcode for the Ethernet device: http://www.nslu2-linux.org/wiki/Development/DownloadingTheIntelSourceCode $ mkdir downloads $ cp IPL_ixp400NpeLibrary-2_3_2.zip downloads (into slug/downloads directory) $ cd downloads $ md5sum -b IPL_ixp400NpeLibrary-2_3_2.zip >IPL_ixp400NpeLibrary-2_3_2.zip.md5 $ cp IPL_ixp400NpeLibrary-2_3_2.zip IPL_ixp400NpeLibrary-2_3.zip $ cp IPL_ixp400NpeLibrary-2_3_2.zip.md5 IPL_ixp400NpeLibrary-2_3.zip.md5 note that above I had to change the name as it was looking for -2_3.zip and I only had -2_3_2.zip file. $ make slugosle (took about 2 hours to finish) $ make slugosbe (about the same time as above) once you have built slugosle and slugosbe, check out our kernel svn repo into /home/slug/kernel, and then add /home/slug/slugosle/tmp/cross/bin and /home/slug/ slugosbe/tmp/cross/bin to your path. then you can build all our bleeding edge kernel and apex stuff $ svn co http://svn.nslu2-linux.org/svnroot/kernel/trunk /home/slug/kernel after doing that, I got a bunch of stuff that looks like it was downloaded, and then it said "Checked out revision 819". Now, to make Apex, do the following: $ cd /home/slug/kernel $ ln -s ../downloads . Next, you need "devio" RPM package (not part of CentOS?): $ wget http://140.211.166.134/pub/nslu2/sources/devio-1.3-1.i386.rpm
to use the debian config do this (otherwise it defaults to slugos config) (that should make apex) $ make APEX_CONFIG=debian apex Now you should have two different apex'es - nas100d and debian To upgrade APEX (i.e., to a newer version), do this: $ svn up $ make clobber-apex $ make APEX_CONFIG=debian apex These are the default commands for the build (which are enabled): kernel/apex-1.4.18/src/apex/Kconfig NOTE: there are the changes to the defaults: kernel/patches/apex/enable-commands.patch
view ·
edit ·
print ·
history ·
Last edited by Rob Lockhart.
Based on work by Rob Lockhart, David Douard, Mark Tilsley, and fcarolo. Originally by Rob Lockhart. Page last modified on June 21, 2008, at 08:33 PM
|