Embedded Gentoo?
An anonymous reader writes "Gentoo Linux may soon begin showing up in consumer gadgets, thanks to a new project creating an embedded version of Gentoo Linux. The year-old project has achieved preliminary releases on x86, MIPS, PPC, and ARM. The releases include native core system binaries, along with toolchains for native or cross-platform compiling. Native compiling, eh... considering it's Gentoo, how long would X take to compile on an iPAQ? :-)"
Was Compiled
With Gentoo
It Took
A While
To Write
Coral link here
Now my toaster can make breakfast quicker, using the -fbrownbread flag!
That is, once it's done compiling...
What makes Gentoo any better than any of the other distros at doing this? What unique advantage does it offer to this application? The one big difference with Gentoo, the whole thing about compiling everything from scratch, seems like it would be a pretty serious liability for this purpose. So, why Gentoo?
Using Gentoo ebedded makes total sense, since you can customize it during install to be as big or small as you want.
as for the compiling joke, it's pretty old, and partially untrue if you use binaries during emerge (much like FreeBSD's pkg_add). Nonetheless, please read Dispelling the myths of Gentoo Linux, an honest review, and learn before you flame. After that, go on using whatever Linux distro you prefer.
CB
free ipod and free gmail!
Compiling from scratch would be insane. The easiest way to accomplish this would be to put cross compiling tools on a host machine and build your iPAQ or whatever in a chrooted environment. After which you would transfer your build.
$0.02
PS:
Cross compiling tools are part of this project.
"Be kind, for everyone you meet is fighting a hard battle." -- Plato (427?-347? BC)
ARM eh? I see some gentoo on my Nintendo DS real soon...
Oh, and anyone who things that a source based distribution would be bad for embedded, the opposite is true. Since its embedded you probably wouldn't be managing packages on it, like if it was say, a portable DVD player. Gentoo is really technically a meta-distro. It would just make it easier to create linux systems for different devices without having to do full on LFS. The compiling would be done once by the developer, then imaged into the devices. But the build would be device specific, meaning it would be as good as it can be.
The GeekNights podcast is going strong. Listen!
Nice, now we can tweak our PDA's until the LCD screen melts! :)
Actually Gentoo is still my fav distro, not matter how much we Gentoo geeks get bashed.
Any gentoo-embedded specific ebuilds get renamed to wee-builds.
You can control all the compiler flags, so you can build binaries that are optimized for size and memory footprint - rather then the desktop world where things are usually speed optimized (funroll-loops please :)
You can also just built the parts of the application that are relevant to your product.
Using any source that's not your own (whether you compile it or not) is a liability - fortunately law makes sure that corporations dont really have to worry about that.
Depending on how they set up the cross compile environment this could be a very very good thing.
.mk files and ensuring that I have all the right patches for each package, or even worse porting the packages myself. This is all assuming they set the portage system up so that emerge can be used to send packages to the cross compiler and merged into the root filesystem being created.
Recently I have been doing lots of devel. work to be used on Gumstix. At present I already need to compile the full root filesystem and flash that to the Gumstix, so there isn't much change there, but provided that the emerge and USE system work well without adding bloat like the emerge system itself or Python to the system image, this would make an excellent tool as it would remove the headache of creating
Next time you are blocked in a snow storm with your your Zaurus in your pocket, just launch emerge --update --deep --newuse world. Let's hope the battery will last enough...
It's very flexible for the vendor, and easy to up-date. I can't imagine wanting to include gcc, portage, etc on an embedded device, but it would give the vendor a good development environment, and an easy way to comply with GPL requirements (by having an rsync portage mirror available). It'd also give embedded device customizers a standardized development environment. A hardware vendor could sell hand-helds to customizers who add barcode scanners/rfid readers/whatever, and their own software, then sell them to businesses (whatever their niche is).
Helloooooo distccd.
I have a P2/300 Mobile, a Celeron 450, and a P3/600. Compiling stuff with distcc set up is a breeze and I fail to see the complaints about gentoo compile time...of course, they're all bare-bones console-only systems (firewall, mail/web, and fileserver), but you get the idea. Two of them only have 128MB of ram...
Please help metamoderate.
I am an embedded software engineer, so hopefully I know what I am talking about. I work with ARM chips, and every linux system that I have built has been compiled from scratch. Not because I want to, or because I am some kind of speed freak - but because in general there are not any up to date binary packages for ARM available. Or if there are you often find that they are not compiled quite right for your particular needs.
Using a Gentoo like system to cross-compile apps with the options, etc that you need is an excellent idea. Some features that I would like to see in this project
o Keep the code for a package unpacked, so that I can make code changes to that package, recompile it & the package management system will build my changes into the binary. Updating the package version could auto merge my changes.
o Auto generation of root directories, in the file format you want (ie, nfs, cramfs, initrd, etc)
o Able to maintain several different configurations at once, ie one Gentoo maintained set of packages for my iPaq, and one set of packages maintained for my custom device. And to completely rebuild them I could go "emerge -set-board iPaq; emerge -u world"
Actually, I suppose it could be ballparked.
When I first started using Linux back in early '93, compiling was about all you could do. (Pre-slackware, Yggdrisil or something was the only distro, I think).
I remember compiling X on my computer, a 486/66DX2 with eight meg of RAM. It took a few days to build. Considering my busted down four year old iPaq is like 166mhz, and has 64 meg of RAM, it'd certainly be doable, probably take a day or so, maybe less.
Well, my take of this is that most people are already sick of hearing the same crappy and ridiculous jokes over and over again. You must be pretty pissed that all those useless comments aren't modded up to +5, huh?
Heh, I'm sorry, but most people seem to have common sense, something you lack....
The point is we already took our src and gave it back to the community. We submitted our patches to uClibc, and gentoo-embedded continues the original development done on i386 soekris boards to other architectures. Gentoo-embedded involves other embedded developers contributing to a build enviroment that you can build any opensrc software in from scratch as long as their is an ebuild in portage. Only factors really are space and device architecture. It also stores all your bins in ipkg format I might add...
Also for the foo's talking about compiling on the device. You could do that if you could nfsmount your chroot build enviroment and were an idiot, or you could just build your devices image in the build-root enviroment using you nice desktop then move the image to the device like a normal person.
The current Gentoo Embedded project was started after an earlier effort was forked into Zynot.
I would have read about 40-50 comments & all i see if people have serious misunderstanding of this project..
Here is their project goal. From what i read, build in ur PC & move it to embeded device, gentoo style.
2. Project Goals
The intention of the project is to make Gentoo viable for embedded systems. This includes creating a system for cross compiling and building the image for an embedded system on a Gentoo workstation. The base install image should be minimal, with different libc options. Building on this base, the system can be customized for the particular system.
Native compiling, eh... considering it's Gentoo, how long would X take to compile on an iPAQ? :-)"
;-) not Gentoo, native compiling is a great curiosity but simply works for many GNU projects. Great to make impressions on WinCE users, whose usability of the PDA is rather limited in sortiment of apps in comparision with full abilities of linux on the same hardware. I have already converted several coders from windows to linux just by demonstration of my iPAQ running at the same time a web server, python curses app in terminal, Quake1 in dynamic desktop icon and C compilation on background.
Although I am using Familiar Linux on iPAQ (for years
Of course, for serious development or building whole system from the bottom I would rather suggest crosscompilation. iPAQ memory is too small to use templates in C++. And, by the time the build of X11 will be finished, certainly X22 will be the standard....
There you are, staring at me again.
That they CAN compile on it... I've installed many "desktop" or "personal" distros which don't even come with GCC. Truly sad...
Who moved my sig?