Stephen P. Becker schrieb:
Tomasz Chmielewski wrote:

I was wondering if gentoo-mips is a right distribution/tool for me.

Here's the summary what I have and what I want to achieve.

I am interested in porting apps for wrt54 and similar hardware (they have Broadcom CPUs). When I connect a 2 GB usb-stick to such a device (i.e., to ASUS WL-500g Deluxe or to any other device listed on http://wiki.openwrt.org/TableOfHardware), a small router could turn into a really useful, rock-stable (no moving parts like hard-disk, fan etc.), cheap, small, quiet, multi-purpose device (domain controller, print server, web server etc.).


A good idea...which is already facilitated by openwrt.

Indeed.
That's what I'm using on these routers.


As compiling software on these devices directly isn't really a good idea, at first I thought I'd just cross-compile the software. However, very often, cross-compiling is not that easy (sometimes involves lots of patching, which in my case turned out to be duplicating someone's job).


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 ported).


So I searched the web a bit, and came to a conclusion:

I have to run gentoo-mips in qemu on my x86 hardware, compile/port apps there, strip the binaries, and move them to these tiny routers.

Is my thinking correct?


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


 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 :)


Will such compiled software compiled on gentoo-mips run on Broadcom-based routers?


If you use the mipsel uclibc stages, and optimize for -march=mips32, sure.

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?

I'm quite new to other architectures than x86.


Or maybe I just should give up this idea, as it's totally wrong from the beginning?


This is really the smartest thing you have said thus far. Gentoo is really not set up to run on these devices. It is far too heavy to directly run on them (they don't have enough RAM, and typically not enough disk space), and cross-compiling everything is a pain in the ass. Folks behind distros like openwrt have already done a lot of hard work porting apps and making them compile inside of their buildroot environment.

I never intended to run gentoo on these tiny routers.

I just thought that compiling/porting software for openwrt/mips on gentoo-mips would be easier than compiling software for mips on a x86 system (I'm really not a cross-compiling expert; and not everything is ported to openwrt).


I could check it myself, but as I failed to run the gentoo-mips livecd in quemu, I'd like to know if I'm doing something reasonable before I invest some time in running gentoo-mips on qemu.


The gentoo-mips livecd is definitely not what you want. The userland on the cd and included kernels are only for big endian SGI hardware. It has no chance of working on anything else. If I recall, qemu emulates a little endian, MIPS 4kc cpu.

Now I see why it didn't even start.


--
Tomek
http://wpkg.org
WPKG - software management with Samba
--
[email protected] mailing list

Reply via email to