Gentoo Archives: gentoo-mips

From: Kumba <kumba@g.o>
To: gentoo-mips@l.g.o
Subject: Re: [gentoo-mips] is gentoo-mips right for me?
Date: Sun, 25 Dec 2005 18:29:18
In Reply to: Re: [gentoo-mips] is gentoo-mips right for me? by Tomasz Chmielewski
Tomasz Chmielewski wrote:

>> 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 > ported).
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 > routers?
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). --Kumba -- 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 -- gentoo-mips@g.o mailing list


Subject Author
Re: [gentoo-mips] is gentoo-mips right for me? Stuart Longland <redhatter@g.o>
Re: [gentoo-mips] is gentoo-mips right for me? "ilya_y (sent by" <lists@××××××.com>