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...
That *is* all their code after all....
Yeah? Well I think you're overrated too.
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!
This is awesome man, I've always wanted to bootstrap a PDA or maybe even a wrist watch!
That just because you *can* do something, doesn't mean you should.
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)
When you push down the lever, the toaster browns the bread using the heat of the CPU doing an `emerge world`.
Bureaucracy loves company.
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!
obviously there is some asshole modding that gets his rocks off on gentoo
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.
Every post referencing "compiling" modded down to -1 within 2 minutes. I'm impressed with efficiency like that. Must be a script running on a Gentoo machine.
Seems like a silly waste of mod points, though.
I heard SCO got a copyright on the "Gentoo Inside" sticker.
Any gentoo-embedded specific ebuilds get renamed to wee-builds.
I would answer that, but its still compiling. Ask me in a month or so.
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 not X that takes the longest time.. It's freaking Qt and KDE that takes the longest for me. On my old 600MHz box it actually takes close to TWO DAYS!
:)
I really hope they start using precompiled headers once gcc 3.4.x is standard
I suppose that the reasoning here is that Gentoo's unique features will help in putting together a system and cross-compiling for the embedded device. If you like working with Gentoo, and you are building a Linux-based embedded device, this is probably very good news indeed.
I wonder if there is anyone out there who fits that description and isn't already working on the project?
See what I've been reading.
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).
After all, you can't -funroll-loops in a tiny space... ;)
500GB of disk, 5TB of transfer, $5.95/mo
...considering it's Gentoo, how long would X take to compile on an iPAQ? :-) ...
Geez, I compiled the kernel on a 40 MHz 386 in the old days.
X should be a piece of cake for an iPAQ.
Say out loud: I'm an Aspie and I'm somewhat proud, I guess. Uh. Can I write an email in all caps instead? Hm...
How long is a piece of string?
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 don't think that's as many ports as Ninnle Linux, which can run on everything from std PC >286, to various gameboxes, to PDAs, to automotive applications, to various military hardware. How many people even realize that the computer that powers all that neat stuff at the Cheyenne Mountain NORAD complex is powered by Ninnle Linux?
Hey wait a minute.
Are you saying that SCO is going to make even more money from licensing embedded Linux devices? Let me go get stock!
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"
Seriously.
I made the mistake of reading through the comments on this story. So far I have read the same compiling jokes as always... har har. Then I read the usual gentoo bashing comments... *rolls eyes* then I read I disturbing number of people defending gentoo with arguments that make no sense. I love gentoo. please please please to all you other gentooers dont make us look so dumb.
First I see the usual comments about how it makes no sense to use gentoo for embedded stuff because you don't need package management. Then I see the people defending gentoo for the blah blah features that make no difference for embedded devices.
Some developers will find this usefull others, will not. Some hobby geeks will compile x on an ipaq for fun, but normal people will cross compile on another machine.
The REAL advantage here is that somebody who is really good with portage will be able to dev complete systems for the embedded device very quickly and easily. The advantage here is completely different than the advantages gentoo on the desktop gives. The developer will (eventually) be able to wip up systems with a few commands rather than carefully assembling the parts, sounds like a good thing right? thought so.
Obama is a twitter sock puppet
You could just use OpenEmbedded. It was designed with cross-compiling in mind. It's also been around a lot longer (being based on OpenZaurus). They already support many archs and machines.
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.
I've also been working on a C3 web kiosk based on Gentoo which a full X and Firefox setup from a 32MB flash drive. Because of all the performance gains from building from source, it flies.
Like tinyurl, but one letter less! http://qurl.co.uk/
I've compiled a basic gentoo install on an Athlon XP 2800 and FAST isn't the word that one would use to describe that process, how long will it take to do so on a Nokia Phone?
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
don't they realize they're going to have to fork over their src code to the whole world? two months from now there'll be a story on /. about how company X is bad because they wanted to protect their IP and there'll be 5 trillion nerds screaming about how they're the neo-SCO.
to all companies trying to make money: nip that shit in the bud and switch to NetBSD, you'll save the headaches and legal fees.
let me get this out of the way early... /.er A: /flame on
Gentoo is teh ro>0r!
(insert poorly reasoned argument against gentoo)
((i am a gentool but not a fanatic))
What kind of installed footprint would an embedded Gentoo with typical options have? Less than 2MB? Less than 50MB?
I know all the mention about compiling are mostly jokes... but to be serious, I would expect compiling to be done on a much more powerful but binary-compatable development machine and then have the binaries stripped of debugging symbols before they are transfered over to the target device. I don't do any kind of embedded development so maybe someone can tell me what a development setup for an ARM device would be like.
The current Gentoo Embedded project was started after an earlier effort was forked into Zynot.
i currently use familair linux+opie.. anyone know how gentoo or debian compares? are images available?
The war with islam is a war on the beast
The war on terror is a war for peace
On my 2Ghz/512MB machine, I stopped bothering after, I think, 3 days
OOo does take quite some time to compile. On my Athlon 2600+ w/512 DDR 233 it took about a day..
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.
...considering it's Gentoo, how long would X take to compile on an iPAQ? :-) ...
As long as it takes on the host computer you are developing with. Seriously, you would never compile anything on the embedded device. It would always be cross compiled on your nice dual-opteron build machine and be moved as binaries over to the embedded device.
Compiling a full Gentoo system would take just as much time as any other system actually(if you compile it entirely) and we won't be putting KDE on an ARM system will we? We would only put a limited version of X also. Gentoo compile time is the price you have to pay for the having fastest linux distro (OS?) available.
"how long would X take to compile on an iPAQ? "
RTFA. They said they've been working on it for a year... Next, they compile KDE.
Ob. disclaimer: this post typed on a Gentoo machine.
Ce n'est pas un vrai mouvement de robot!
Exactly 2 weeks, 2 days, 1 hour, 32 minutes, and some amount of seconds.
I work in the broadcast industry. To achieve useful workflows, everything must be network-enabled. Thus every embedded device is on the network, and a potential security risk.
A big problem we have now is with embedded BSD and Linuxes. Many of the distributions are abandoned and/or no longer supported, thus upgrades (especially security upgrades) are difficult.
To be fair, the manufacturers of the devices weren't even thinking that there could ever be a security problem with a Linux-based system, but surprise, they are rare, but can happen!
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 was funny, not flamebait! I've got three fscking Gentoo boxen, I'm not trying to piss anybody off.
You need to get a sense of humor, dumbass.
Ce n'est pas un vrai mouvement de robot!
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?
Gentoo comes with as little as possible in the default base install. The only packages which are installed are the bare necessities, such as portage, a kernel, a build chain, etc. Nothing is forced upon the user if it is not absolutely essential. Optional packages are easy to install though : emerge vim.
I'll probably be modded down for this...
yes some of the core dev's have managed to get X compiled with uclibc.
I have built 6 or 7 systems from stages provided over the life of the gentoo-embedded project and have yet to get X compiled against uclibc tho.
uClibc itself has limited support for sinf() and a few other floating point functions. People developing for X that can't wait for updated ebuilds would simply change the references to sinf() to sin()
Manuel Novoa III is currently developing an updated libmath to address this and the other floating point problems.