Tomasz Chmielewski wrote:
>> Duplicating...you mean like the work openwrt has already done?
> Either openwrt or gentoo-mips folks.
> It seems to me that there is a chance that gentoo-mips will have more
> apps ported than openwrt (which doesn't really have many applications
There's little "porting" to be honest. At most, porting simply entails
recompiling the target application so it links with the shared libs (or static,
if that's your preference) of the target architecture. Sometimes, porting
involves writing new code, as some apps are arch-specific and don't port easily
(ltrace, for example).
Gentoo simply facilitates easier porting in a sense because of the nature of the
distribution (source-based). If you discover an app needs a patch or a decent
re-write, it's easy to plug the patch into the ebuild to have it added before
the app is compiled. That said though, cross-compiling on Gentoo is still
somewhat incomplete. We've got mechanisms in-place that can theoretically allow
one to cross-compile an entire userland just about, but it's wholly untested and
there's little real documentation on how it all works yet. Really only for
people who have a solid grasp of the dark, voodoo-like nature of cross compiling.
>> Theoretically, our mipsel uclibc stages would let you do that, except
>> that apparently qemu for mips still has problems with userland programs.
> Have you read qemu 0.8.0 changelog? It was released a couple of days ago.
> - MIPS and MIPSel User Linux emulation
Qemu may allow running of userland programs, but it's still an emulator at
heart. It's buggy, slower than Windows Millennium on a P75, and only, as geoman
states, emulates a specific CPU. I don't doubt Qemu will get better over time,
but it's not an application we in the Gentoo/MIPS project will look at seriously
for a decent time to come.
>> That and I don't think qemu is particularly fast.
> Whatever slow it is, it will be faster than trying to compile anything
> natively on these tiny routers :)
Thou hath not tryeth to compileth glibc upon a RaQ2 of Cobalt, have thee? :)
Granted you can jack the RAM in a cobalt to a decent size for it to suck down
behemoths like glibc, assuming you got an emulator to work, the emulator would
likely be slower than a RaQ2, and probably slower than native compiles. The
only upside is being able to feed the emulated environment more RAM.
> So, this means, that if I build a whole gentoo-mips under qemu - sounds
> easy, doesn't it? :), with mipsel uclibc stages/-march=mips32, almost
> each and every binary copied from such a system should run on these tiny
You've got the right idea on paper, but actual implementation will probably
reveal the difficulties involved. Not every app is going to port cleanly or
probably even operate properly.
> I'm quite new to other architectures than x86.
We generally discourage people who are new to non-x86 from venturing off into
experiments like this initially. The experiment can sometimes be overwhelming,
anf frustration eventually kills off any motivation to complete it. Our usual
suggestion is to get yourself a cheap SGI Box, like an Indy or an O2, play with
it for a few months and learn how MIPS works, then you'll have an idea of how
stuff works in comparison to their more inefficient x86 cousins. Other archs,
like Sparc, work well too as non-x86 playtoys. Then the original task can
sometimes be easier (but not always).
Gentoo/MIPS Team Lead
Gentoo Foundation Board of Trustees
"Such is oft the course of deeds that move the wheels of the world: small hands
do them because they must, while the eyes of the great are elsewhere." --Elrond
firstname.lastname@example.org mailing list