Приводил в порядок и документировать скрипты скрипты, которыми собираю корневую ФС для MB77.07 и других одноплатников и выдавил из себя вот такое решение. Работает для бутстрепа debian/raspbian, должно работать и для убунт.
Собственно, процесс сборки фс описывается тупым конфигом вдохновленным синтаксисом Dockerfile (Skyfile). Внутри вызывается multistrap.
Для работы требуется multistrap, qemu-static и debian-based хост система. Опционально для быстрых снапшотов - OverlayFS (соотв. ядро 3.18 и старше). Если OverlayFS нет - есть возможность тарболлить каждый шаг, что не быстро и требует места.
Главная фича - на каждую строчку Skyfile'а rootfs снапшотится, при изменении Skyfile rootfs откатывается на состояние перед тем самым местом в файле, где были произведены изменения. Это позволяет быстро экспериментировать, и при этом быть уверенным что скрипт поведет себя точно так же как и при чистом запуске.
Изначально ориентировалось на то, чтобы можно было закинуть в jenkins. Для троллей - это не переизобретение связок chef/puppet/vagrant.
Если образу требуется тонкая настройка/развертывание - проще закинуть в него chef/puppet и уже дальнейшую настройку делать chef/puppet'ом на самой плате/в chroot'е.
P.S. Так как multistrap просит рута, то этот скрипт тоже. Рекомендуется запускать в виртуалке/докер контейнере.
P.P.S. Используйте ветку ng, а не master.
Перемещено mono из talks