Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
Linux Software Hardware

Embedded Gentoo? 197

Posted by michael
from the patience-required dept.
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? :-)"
This discussion has been archived. No new comments can be posted.

Embedded Gentoo?

Comments Filter:
  • This post (Score:2, Funny)

    by Anonymous Coward
    Was Compiled

    With Gentoo

    It Took

    A While

    To Write
    • Re:This post (Score:2, Informative)

      by $n1per (322712)
      Gentoo is actually fairly fast to install if you don't do the install from stage1(scratch) a stage3 install can be done in 5minutes.
  • Coral link (Score:3, Informative)

    by Anonymous Coward on Friday December 03, 2004 @03:08PM (#10990556)
    Coral link here [nyud.net]
  • Hooray! (Score:2, Funny)

    by Anonymous Coward
    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?
    • My guess is because Gentoo is the only choice for now.
      • by kiatoa (66945) on Friday December 03, 2004 @03:37PM (#10990891) Homepage
        Well, someone has probably already pointed this out but the openembedded.org build system is kinda similar to gentoo in a way. Personally I'd like to see a rubyx or gentoo marriage with openembedded so that developing for embedded devices (a cheap old ipaq H3650 in my case) and keeping the software up to date is made easier. Note that although it is technically feasible to compile on the ipaq cross compiling is orders of magnetude faster and thus worth the setup pain IMHO.

        Oh, and to qualify my comment: I'm a wannabe developer, I still haven't gotten an oe build for my iPAQ that I'm happy with.

    • I wouldn't say it's more suited, but people fail to realize that gentoo *can* use precompiled packages as well.

      The reason I use Gentoo is not just because it compiles for my system, but because I like how it lays things out and its ease and flexibility of configuration.

      It should be fairly simple to set up a "host" system with a cross-compiler to make binary packages for the embedded devices to download.
      • I am afraid this is going to be a "me-too" post. I have found Gentoo very easy to maintain once I have it up and running. Granted, compiling does take long, but atleast my system does not get corrputed over time. I rememeber the RPM nightmares I had to endure before I found Gentoo. I also like the fact that I was able to learn much more about the inner workings of linux. Applications that are optimized for my machine, atleast in my case, is just a bonus and not the defining reason why I run Gentoo on my d

      • No doubt, I liked how Debian was laid out, but some tasks were just horrendous. Anytime you wanted to tweak something it was like a wild goose chase.

        Gentoo is pretty minimal and I definately like it better than Debian. It still has the big iron feel though, unlike a lot of other Linux distros which seem more like toy OS's.

        Making a cross-compiler setup is pretty easy with the GNU tools, you just pass options to ./configure like --target=arm-linux-pc. Its kind of fun actually and definately one of the neate

    • Perhaps this reasoning doesn't apply to embedded applications, but Gentoo would be a good choice for other architectures in general. How many program projects that you know of offer linux-ppc or linux-mips or linux-arm binaries? Gentoo supports these.
    • I think it would be easier to set up. Just have the default USE flags set and you will have faster, smaller and more effecent packages that you install (by compilation at least.) I don't know much about linux on handhelds but would assume that they can run standard linux applications. I would think that using gentoo would provide you with more software that meets the specific needs of the handheld as opposed to the needs of a desktop.

      I could be completely wrong here but those are my thoughts.
      • you will have faster, smaller and more effecent packages

        Actually I've read a lot of comments that (in theory) compiling everything yourself was neither faster nor more efficient. gcc would just make a few optimizations but the speed would remain almost the same than precompiled packages.

        Of course Gentoo provides more services than the DIY thing. And that's what may be interesting in embedded architectures because they could have used LFS [linuxfromscratch.org] a long time ago...

        • Well it's not just the compilation. It's the USE flags. I would assume that the standard version of XMMS (compiled with the Gnome and KDE support) will be a larger file size and use less memory than XMMS compiled without that support. That was my point. If there are precompiled packages specifically for your handheld, you may be better off going with those. If there aren't, I think compiling your own via gentoo would produce better results than just getting a standard version off of sourceforge.
    • Complete control (Score:3, Interesting)

      by grahamsz (150076)
      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.
    • by wolf31o2 (778801) on Friday December 03, 2004 @03:29PM (#10990821)

      Why Gentoo?

      Well, that is pretty easy. For one, we're not charging people for it, which puts us ahead of a ton of the competition right out of the gate. The second is that using portage to build your system, you are capable of building in exactly what you want.

      If you're not familiar with the embedded arena, then you should probably know that pretty much every embedded project is done from source. There simply is not enough overlap between individual projects to allow for a "precompiled" solution to really be effective.

      I really am not the best person to comment here, as the guys working on the embedded project are definitely the experts, but these are the few things that I have picked up just from reading around.

    • 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
    • As of right now, Gentoo is the right choice because _they already did it._

      Location:Real Estate::Available:Technology

    • by 3Suns (250606) on Friday December 03, 2004 @03:49PM (#10991046) Homepage
      There's nothing about Gentoo that says you have to compile stuff from scratch. And with embedded devices, it's all going to come pre-loaded anyway. Apparently, Gentoo is very good for building specific, shrunken-down distributions, like the recently-released FlashLinux project. Gentoo lets them optimize the packages very easily, to shring down binaries, etc. This is a pretty big concern with embedded devices.

      I don't think anyone would really suggest compiling anything big on your PDA.
      • Oops, something went wrong with the link. The FlashLinux site is here [encryptec.net]. Linux 2.6, X.Org, full Gnome 2.8, OpenOffice.org, XChat, Firefox, Evolution 2, Gaim, etc., all crammed onto a 256MB USB drive, with >50MB to spare for personal files.

        So yeah, you can use Gentoo to build pretty slender distros.
      • it's all going to come pre-loaded anyway
        Maybe on the device itself, but the other thing you need to think about is cross-compiling, which is another embedded area in which Gentoo is a big winner. Gentoo has fairly sophisticated method of cross-compilation development which is much, much easier to set up and use than anything else I've tried.

        Keep in mind that this pretty much has to be done from source, and that each compile chain will have components from possibly different places. To do this, you need
    • I really don't know why Gentoo should be the right choice. I do know that the more choice you have, the more different distros will compete with eachother in trying to make it 'the best' one for the job. Which results in a better product in the end, be it Gentoo or some other flavor.
    • by pchan- (118053) on Friday December 03, 2004 @04:10PM (#10991302) Journal
      as an embedded systems developer and a gentoo user, i'll tell you that my company certainly will not be putting a gentoo system into our devices. we might look at their kernel if it's good and light. our embedded linux is not much more than a kernel and busybox.

      BUT... if you hack up some device and install linux on it, it has huge advantages. you don't have to use some guy's Linux-4-XYZdevice distribution, which might be a mess, never maintained, and poorly supported. you don't have to go hunting for applications that will run on your arch, mess with build scripts to make it build right, and get the patches that will make things run on this processor and with your devices. if you installed linux on your device from 2 years ago that everyone forgot about, you can still have up to date software for it right now. and finally, you have a working ifrastructure of bug reporting and fixing, and a good way to communicate with people doing similar things as you (even if the devices they use are different).
      • our embedded linux is not much more than a kernel and busybox.

        I've worked with machines that use busybox (Axis network cameras, mostly) and
        it is always a completely horrible experience. Is there some reason that
        device makers like busybox besides the fact that it doesn't take much space?
        • well, let's not underestimate the statement "it doesn't take much space". if you've ever had to remove print statements from your code to make it fit in the memory, you'll know that kilobyte of space weighs heavily upon the mind of the embedded programmer.

          busybox is a terrible user experience, i agree. but it is generally not there to be used by the user. it's mostly to run scripts, do shell executes, and because unix programs are not happy if there is no /bin/sh. generally, you're going to want to st
    • by Lumpy (12016) on Friday December 03, 2004 @04:16PM (#10991390) Homepage
      why? because they are automating a HUGE amount of work in creating an embedded linux install.. MOST embedded linux systems have their os rolled by hand. you need to fight to get perl to compile with uclibc, good luck getting python cross compiling without rewriting the makefile system by hand, and many other items that embedded engineers fight with daily. Gentoo is making that task insanely simple.

      I have a 9cm by 11cm board that uses a cirrus logic ep9301 processor at 200mhz and draws 9 watts with usb, ethernet, 2 serial 1 rs485, parallel and a CF slot I have 16 meg of flash on board with 64 meg of ram. this thing is a powerhouse in the embedded world and linux is a perfect fit for it. I am designing a home automation system around the device so python or perl will make programming it after the fact much easier.

      I can not wait to dig into embedded gentoo.. espically cince it is based on uclibc... a mistake that all other embedded distros make is NOT basing on uclibc.

    • Many people make jokes about gentoo and the whole compiling issue. But I myself have used gentoo on servers and there is a significant amount of performance to be gained.

      One thing to consider, gentoo does have the capaibility to install from binary packages. I think this system here would simply compile once, and distribute the binary packages so others don't have to compile

      Gentoo also only installs what you want (typically anyways), and on an embedded device with limited resources, that is important. I c

    • There are many who may disagree with my methods, but using Gentoo throughout my network infrastructure and personal systems has made me acutely aware of the power of Gentoo. That said, while working on an embedded device (wrap.1c with 2 mini-pci slots), I've found that a familliar distro is a very welcome companion.

      I don't compile anything on the wrap.1c board, that would be insane (week long bootstrap would drive me nuts...I've done it before on another embedded system and will never do it again). While
  • by Chuck Bucket (142633) on Friday December 03, 2004 @03:11PM (#10990588) Homepage Journal
    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 [lxer.com], and learn before you flame. After that, go on using whatever Linux distro you prefer.

    CB
    • I think the parent poster forgot about the simple fact that most of Gentoo's detractors know nothing of it other than something that they read or some rumor that they heard and are now taking it as truth.

      Yes, it takes a while to compile stuff. I notice that nobody ever makes any claims about how it took them forever to install Linux from Scratch, or make jokes about how it is still compiling. What about Slackware? If the package didn't come with Slackware, then you're compiling there, too.

      The truth of

      • Nicely put, it just annoys me to be called a 'fan boy' simply because I love using Gentoo, and appreciate Portage, as I appreciate Ports in FreeBSD. I used to use Slackware so I compiled things all the time, but without things like make.conf and emerge, it took allot more time to admin my server. With Gentoo it takes far less time, and is much easier to keep secure.

        CB
      • I think the parent poster forgot about the simple fact that most of Gentoo's detractors know nothing of it other than something that they read or some rumor that they heard and are now taking it as truth.

        Uhhh... Nothing new there. That's pretty much how most detractors work. Except when it comes to neo-conservatives, everything negative about them is true.
    • I like gentoo, but that review sucks.

      The author just says that you don't need to compile because you can start from a stage 3 which comes with everything as binaries. Yet he emerges vim and ftp and forgets to say that those are indeed compiled.

      He should have explained how to emerge binary packages and review how old are they and such
  • by Principito (312430) <mwp&sdf,lonestar,org> on Friday December 03, 2004 @03:14PM (#10990637) Homepage
    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.
    • Exactly. The idea would be that someone does the job for you. Someone will use the power and flexibility of Gentoo for customizing a Linux distro appropriate for your little Gadget. And this someone is the vendor of your little gadget. Heck, you may not be given the choice to compile anything in most appliances.
  • Alright (Score:3, Insightful)

    by Apreche (239272) on Friday December 03, 2004 @03:15PM (#10990651) Homepage Journal
    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.
  • ricer PDA's (Score:2, Funny)

    by phoric (833867)
    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.
  • by Anonymous Coward
    ...is there a graphical installer?
  • I heard SCO got a copyright on the "Gentoo Inside" sticker.
  • Any gentoo-embedded specific ebuilds get renamed to wee-builds.

  • ...considering it's Gentoo, how long would X take to compile on an iPAQ? :-) ...

    I would answer that, but its still compiling. Ask me in a month or so.

  • by Halthar (669785) on Friday December 03, 2004 @03:27PM (#10990803)
    Depending on how they set up the cross compile environment this could be a very very good thing.

    Recently I have been doing lots of devel. work to be used on Gumstix [gumstix.org]. 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 .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.

  • Next time you are blocked in a snow storm with your your Zaurus [myzaurus.com] 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 :)
  • Gentoo's strength is its package management, and that's one thing that really doesn't matter on an embeded device.

    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?

    • Why doesn't package management matter on an embedded device?

      Imagine, if you will, the ability to upgrade your embedded os with a press of a button (which, of course, is just a front end for "emerge -vuD world").

      Then imagine that a company comes out with a piece of software... you want to download it... and you can. It will download and get and install dependencies. Package management is very useful, and could be even with embedded.

    • Gentoo's strength is its package management, and that's one thing that really doesn't matter on an embeded device.
      I'd have to respectfully disagree with you there.

      www.openwrt.org [openwrt.org] for the Linlsys router/WIFI unit makes a big thing out of being little but allowing you to install one of several dozen packages to customise the unit the way you want. All on a 200MHz MIPS CPU :->

  • compiling (Score:5, Insightful)

    by SuperBanana (662181) on Friday December 03, 2004 @03:36PM (#10990889)
    how long would X take to compile on an iPAQ?

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

    • On my PII 233Mhz, with 64Meg of RAM, an X compile takes about a day or so. But then I'm using XDirectFB, whcih still needs parts of X to compile. It actually has a GUI, and using Opera as a window manager and XDirectFB, its actually not that bad. Of course all you can do is suft the web at that point, but it makes for a nice little mobile web browser, considering its an old Toshiba Portege 3110.
    • Ok, you got 3 dedicated servers, and use them for distributed compiling.
      Fine for you, but do you REALLY think your case matters at all for normal users?
      • Ok, you got 3 dedicated servers, and use them for distributed compiling. Fine for you, but do you REALLY think your case matters at all for normal users?

        Considering collectively they're about as powerful as the mouse used by most of today's systems, yeah.

        My point was that a few low-class machines will run gentoo just fine...and imagine how fast one current (none of my machines are newer than 2-3 years) linux box would be assisting the iPAQ. It's not 1:1 with distcc, but it's a nice speedup.

  • by Anonymous Coward on Friday December 03, 2004 @03:43PM (#10990959)
    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"
    • 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
    • Well, I just recently tried to install Gentoo, but I couldn't even get out of the starting gate. The "bootstrap" process, while taking a while, might be acceptable - if it didn't fail here and there from time to time and require you to go in and change code, apply patches, or take wild guesses at why it's not working, etc... In my case, it appeared that "bootstrap" was, at least, upon first inspection, broken.

      So I installed Debian, but I wasn't happy with not having had a choice of filesystems, so I went
  • by tgd (2822) on Friday December 03, 2004 @04:05PM (#10991253)
    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 remember compiling X on my computer, a 486/66DX2 with eight meg of RAM. It took a few days to build.

      There have been big changes since those days, though. GCC/G++ is MUCH slower now, eating up much more CPU and RAM for the same jobs. X11 is much, much bigger now, as well.

      In addition, that 166MHz processor isn't the equivalent of a 166Mhz x86 processor. No FPU at all, for one...
      • Thankfully compiling doesn't take much floating point math ;-)

        But yeah, I know what you mean... I'd bet you could compile X on one without any major trouble. X with all the options is pretty big, the base applications and a single server isn't that much bigger.

  • I based my C3 based home theatre PC on Gentoo.

    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.

  • 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 a
  • by Anonymous Coward
    The current Gentoo Embedded project was started after an earlier effort was forked into Zynot [zynot.org].
  • i currently use familair linux+opie.. anyone know how gentoo or debian compares? are images available?
  • by pavkb (247665) on Friday December 03, 2004 @05:18PM (#10992071)
    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.
  • "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.
  • 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 sur
  • by Maljin Jolt (746064) on Friday December 03, 2004 @07:47PM (#10993421) Journal
    Native compiling, eh... considering it's Gentoo, how long would X take to compile on an iPAQ? :-)"

    Although I am using Familiar Linux on iPAQ (for years ;-) 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.

    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....
  • Just be glad... (Score:2, Interesting)

    by ztwilight (549428)
    That they CAN compile on it... I've installed many "desktop" or "personal" distros which don't even come with GCC. Truly sad...

It's not so hard to lift yourself by your bootstraps once you're off the ground. -- Daniel B. Luten

Working...