![]() ![]() |
Aug 30 2006, 06:36 AM
Post
#1
|
|
|
Group: Members Posts: 16 Joined: 31-July 05 Member No.: 7,749 |
I'm currently trying to install Gentoo on my Zaurus C3K. The main reason for that if that I want to benefit from the huge Portage software repository.
I've managed to : - set up a chroot based on the latest uclibc stage3 (on a 384M partition, 200M currently used), - set up ccache and distcc to compile on my two x86 and x86_64 systems, - set up a backup/restore system based on rsync to quickly revert a faulty chroot to the last known good version, - bork the chroot several times :-) The chroot is accessed through OpenZaurus GPE (in fact the bootstrap is plainly sufficient as I close X to free RAM...). The Zaurus connects to my local Wifi network in order to distribute compile tasks through distcc and download source packages on the local HD. Currently I'm battling with gcc CFLAGS (gcc 3.4.6 -march=(or -mcpu=)iwmmxt doesn't work and it seems we must use some other flags, probably "-malignment-traps" I fetched from a wifi driver Makefile, or a freshly compiled distcc spit outs alignment traps in the kernel logs and sit up eating CPU doing nothing). If all works well I'll have a base system up to date in the next few days for others to try if there's interest. I'll reformat this post in a HOWTO as soon as I've enough experience to make it worth sharing with others. |
|
|
|
Aug 30 2006, 06:50 AM
Post
#2
|
|
|
Group: Members Posts: 163 Joined: 9-September 04 Member No.: 4,529 |
QUOTE(gyver @ Aug 30 2006, 02:36 PM) I'll reformat this post in a HOWTO as soon as I've enough experience to make it worth sharing with others. ...you may want to package that with a distcc cross-compilation howto as well ... installing new Gentoo software takes long enough on my Athlon 3200+; I can't imagine the fun compiling something big on the poor li'l Z... Having said that, this is a great project. Good luck with it! |
|
|
|
Aug 30 2006, 07:02 AM
Post
#3
|
|
|
Group: Members Posts: 16 Joined: 31-July 05 Member No.: 7,749 |
QUOTE(vputz @ Aug 30 2006, 04:50 PM) ...you may want to package that with a distcc cross-compilation howto as well ... installing new Gentoo software takes long enough on my Athlon 3200+; I can't imagine the fun compiling something big on the poor li'l Z... Having said that, this is a great project. Good luck with it! Of course. The zaurus isn't so bad for compiling (I've done perl and python already and that was under one hour) but distcc rocks and I had to find out how to do cross compiling with distcc. Fortunately Gentoo is especially helpful for this the setup of the server and the client only imply simple setups (use "crossdev" to automate the cross-compilation env install on the servers and some symlinks on the client to a hand-written one liner script), I'll include them in the HOWTO for reference. |
|
|
|
Aug 30 2006, 07:07 AM
Post
#4
|
|
![]() Group: Members Posts: 692 Joined: 27-January 04 From: Canada Member No.: 1,564 |
Sounds *really* cool. Should I assume this would only work on C3K's, not C860's or C1K's with external microdrives? I guess even if it *did* work, we'd lose the CF slot anyway (no wifi, nic's, etc).
|
|
|
|
Aug 30 2006, 07:30 AM
Post
#5
|
|
|
Group: Members Posts: 16 Joined: 31-July 05 Member No.: 7,749 |
QUOTE(grog @ Aug 30 2006, 05:07 PM) Sounds *really* cool. Should I assume this would only work on C3K's, not C860's or C1K's with external microdrives? I guess even if it *did* work, we'd lose the CF slot anyway (no wifi, nic's, etc). For the C860, I'm not sure (I'm trying to use iwmmxt as gcc's cpu target), currently xscale is used instead of iwmmxt as at least bash can not compile with iwmmxt). For the C1K it will be OK as long as you can store the partition somewhere and chroot into it. The ultimate goal is to bypass OpenZaurus and use altboot to load a Gentoo-compiled kernel and maybe (only maybe) automate the install without OpenZaurus but I probably won't need it myself as OpenZaurus is quite good in itself and probably will be used on my Zaurus as a rescue partition. |
|
|
|
Aug 30 2006, 09:57 AM
Post
#6
|
|
|
Group: Members Posts: 163 Joined: 9-September 04 Member No.: 4,529 |
QUOTE Should I assume this would only work on C3K's, not C860's or C1K's with external microdrives? NFS, my good man (grin). Obviously local storage would be better, and it would be dog slow doing everything with network-mounted storage, but it COULD be done. My desktop's portage repository lives on a Debian NSLU2, so obviously portage could live there, and with a good distcc setup, it could work. QUOTE The ultimate goal is to bypass OpenZaurus and use altboot to load a Gentoo-compiled kernel and maybe (only maybe) automate the install without OpenZaurus Gyver, I'd think pretty seriously about using the OZ kernel and basically using Portage as a package manager, sorta like Gentoo on an NSLU2 uses OpenSlug as a basis. (I'm now almost kicking myself for not putting Gentoo on the slug, but at the time I didn't want to deal with distcc... and since it's acting as a server, I wanted Debian stability. But I already miss portage on the wee thing, and I'm already having to learn to do distcc cross-compilation since my desktop runs AMD64 but I want it to help with compilation on my older 32-bit boxes). Actually, Portage and BitBake (OE's package/build system) actually remind me a lot of each other. A whole lot. |
|
|
|
Aug 30 2006, 10:12 AM
Post
#7
|
|
![]() Group: Members Posts: 1,014 Joined: 4-January 05 From: Enschede, The Netherlands Member No.: 6,107 |
|
|
|
|
Aug 30 2006, 10:17 AM
Post
#8
|
|
|
Group: Members Posts: 5 Joined: 10-August 06 Member No.: 10,731 |
QUOTE(gyver @ Aug 30 2006, 11:36 AM) I'm currently trying to install Gentoo on my Zaurus C3K. The main reason for that if that I want to benefit from the huge Portage software repository. Great, I have a 6K and I wanted to install gentoo... it would be a great learning experience if I don't brick the Z. I would like to participate with this project, and mabe we could join efforts with the gentoo-embedded. As soon as you post a HOWTO I will be trying it! Regards! |
|
|
|
Aug 30 2006, 01:25 PM
Post
#9
|
|
|
Group: Members Posts: 16 Joined: 31-July 05 Member No.: 7,749 |
Just hit a problem with linux-headers and distcc : the object files were compiled for an x86... I'll have to check how to workaround this (probably by patching an ebuild or eclass). Works without distcc though.
|
|
|
|
Aug 31 2006, 07:00 AM
Post
#10
|
|
|
Group: Members Posts: 5 Joined: 10-August 06 Member No.: 10,731 |
QUOTE(gyver @ Aug 30 2006, 06:25 PM) Just hit a problem with linux-headers and distcc : the object files were compiled for an x86... I'll have to check how to workaround this (probably by patching an ebuild or eclass). Works without distcc though. Did you follow the corss-compile howto? and emerged sys-devel/crossdev et al? I found this on the Gentoo forums (look at the post by Kumba), it is for cross-distcc on an intel for sparc but it could be used for a starting point, also it mentions what he did with the kernel headers, perhaps something similar could be done there... |
|
|
|
Aug 31 2006, 01:18 PM
Post
#11
|
|
|
Group: Members Posts: 5 Joined: 10-August 06 Member No.: 10,731 |
|
|
|
|
Aug 31 2006, 02:48 PM
Post
#12
|
|
|
Group: Members Posts: 16 Joined: 31-July 05 Member No.: 7,749 |
QUOTE(Javock @ Aug 31 2006, 11:18 PM) This is the howto I followed I've managed to get past linux-headers, hit the same problem later with uclibc (I have a workaround involving disabling distcc). Now findutils doesn't want to build properly CODE arm-softfloat-linux-uclibc-ar cru libfindtools.a finddata.o fstype.o parser.o pred.o tree.o util.o version.o arm-softfloat-linux-uclibc-ranlib libfindtools.a arm-softfloat-linux-uclibc-gcc -Os -pipe -mcpu=xscale -mtune=iwmmxt -frename-registers -ffast-math -fno-strict-aliasing -msoft-float -malignment-traps -mlittle-endian -fno-common -mfp=3 -o oldfind find.o ./libfindtools.a ../lib/libfind.a ../gnulib/lib/libgnulib.a arm-softfloat-linux-uclibc-gcc -Os -pipe -mcpu=xscale -mtune=iwmmxt -frename-registers -ffast-math -fno-strict-aliasing -msoft-float -malignment-traps -mlittle-endian -fno-common -mfp=3 -o find ftsfind.o ./libfindtools.a ../lib/libfind.a ../gnulib/lib/libgnulib.a ./libfindtools.a(finddata.o):(.bss+0x54): multiple definition of `starting_desc' find.o:(.bss+0x0): first defined here ./libfindtools.a(finddata.o):(.bss+0x58): multiple definition of `program_name' find.o:(.bss+0x4): first defined here ./libfindtools.a(finddata.o):(.bss+0x5c): multiple definition of `predicates' find.o:(.bss+0x8): first defined here ./libfindtools.a(finddata.o):(.bss+0x60): multiple definition of `last_pred' find.o:(.bss+0xc): first defined here ../gnulib/lib/libgnulib.a(closeout.o): In function `close_stdout': closeout.c:(.text+0x30): warning: collect2: ld returned 1 exit status distcc[31426] ERROR: compile (null) on localhost failed make[3]: *** [oldfind] Error 1 make[3]: *** Waiting for unfinished jobs.... ../gnulib/lib/libgnulib.a(closeout.o): In function `close_stdout': closeout.c:(.text+0x30): warning: make[3]: Leaving directory `/mnt/hdd/portage/tmp/portage/findutils-4.3.0/work/findutils-4.3.0/find' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/mnt/hdd/portage/tmp/portage/findutils-4.3.0/work/findutils-4.3.0/find' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/mnt/hdd/portage/tmp/portage/findutils-4.3.0/work/findutils-4.3.0' make: *** [all] Error 2 I'll work on it tomorrow. |
|
|
|
Aug 31 2006, 02:50 PM
Post
#13
|
|
|
Group: Members Posts: 573 Joined: 8-June 05 Member No.: 7,295 |
Maybe I should do Zlackware?
|
|
|
|
Sep 1 2006, 07:14 AM
Post
#14
|
|
|
Group: Members Posts: 5 Joined: 10-August 06 Member No.: 10,731 |
|
|
|
|
Sep 1 2006, 08:43 AM
Post
#15
|
|
![]() Group: Members Posts: 2,821 Joined: 13-September 04 From: Wasilla Ak. Member No.: 4,572 |
wait a second. You can "move on" from a "limited" portage, but you can't make a working package manager? Sadly, that sounds very par for the OE course...
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 18th June 2013 - 08:50 PM |