For those interested in rolling their own RPi rootfs builds:
- Spindle is a collection of scripts that's used to build the 'official' Raspbian images. It's hardly stripped-down as-is, and far from my favorite rootfs building strategy, but is a starting point: https://github.com/asb/spindle
- The resin.io folks are trying to do "docker for embedded devices", with RPi as one of the initial targets. They have a pre-built rootfs that pulls your docker images via their (proprietary) cloud service. https://resin.io/
Buildroot[1] is another good tool for rolling your own rootfs. If you have ever built your own kernel (i.e. ran make menu-config) you will feel right at home using buildroot. And their documentation is fantastic[2].
Buildroot is a lot simpler than Yocto or OpenEmbedded. I found it a lot easier to quickly understand how Buildroot works and get something working with it than I did with Yocto. Of course Buildroot's simplicity means that you give up some nice to have features that you would probably want for more serious projects.
They have specific instructions for getting started with RaspberryPI v1[3].
Going to second buildroot. I played around with yocto/oe and found it overly complicated for what I needed. Buildrot is much easier to grok and modify/add packages.
OpenEmbedded was indeed fairly frustrating to work with when I did a project with it several years ago. I don't remember the details, though. What I do remember is that OE decoupled board-specific configuration from package selection. buildroot does both in a single .config file, so that may make it less suitable for some projects.
Though OpenEmbedded is a fantastic tool with lots of recipes, lately I've been cooling off on the whole idea. IMHO, no embedded linux build is finished unless you have a way to update the device (for security issues etc). For OE:
1) it's too much work to rebuild everything when you want to pickup security updates
2) upstream doesn't generally update packages in a timely fashion
3) divergence between your recipes and upstream is a big problem
4) opkg isn't as full-fledged as dpkg/yum etc.
So lately, for my own projects, it's gotta be dpkg-based with an active upstream repo.
- Spindle is a collection of scripts that's used to build the 'official' Raspbian images. It's hardly stripped-down as-is, and far from my favorite rootfs building strategy, but is a starting point: https://github.com/asb/spindle
- Yocto / OpenEmbedded recipes are available for truly stripped-down build possibilities. Here's a random blog post specific to RPi: https://delog.wordpress.com/2014/09/16/embedded-linux-system...
- The resin.io folks are trying to do "docker for embedded devices", with RPi as one of the initial targets. They have a pre-built rootfs that pulls your docker images via their (proprietary) cloud service. https://resin.io/