Сейчас я пилю собственную сборку тонкого клиента. Идея велосипеда в том, что корневая ФС в squashfs + несколько оверлеев загружаются по сети, распаковывается в tmpfs, всё это объединяется в одну точку монтирования с помощью AUFS. Таким образом, можно присобачивать к сборке дополнительные конфиги/мелкие программы, не делаяя 100500 тыщ версий.
С убунты перешёл на Debian, потому что для некоторых тонких клиентов мне нужен Xorg через fbdev и uvesafb в качестве framebuffer. А в убунте его завести не удалось - plymouth мешается, и он принципиально неотрубаем :(
Вот такой кусок кастомного initrd прекрасно работал для убунты:
        echo "Mounting rootfs image to temp directory"
        mkdir -p /tmp/AUFS/rootfs
        mount -t squashfs -o loop '/tmp/rootfs.squashfs' /tmp/AUFS/rootfs || return $?
        echo "Mounting real root with aufs"
        #! problem
        mount -t aufs -o br=/tmp/AUFS/rootfs=ro none "${rootmnt}"
        echo "Creating tmpfs for moved mountpoints"
        mount -t tmpfs none "${rootmnt}"/AUFS
        echo "Moving rootfs mountpoint to directory in real root"
        mkdir "${rootmnt}"/AUFS/rootfs
        mount --move /tmp/AUFS/rootfs "${rootmnt}"/AUFS/rootfs
        ...
        # дальше работа с оверлеями
В Debian оно дохнет на следующей после комментария строчке с матюком «aufs au_opts_verify:1482:busybox[251]: first brunch should be rw».
Версия ядра в Ubuntu - 3.2, в Debian - 3.10
Кто-нибудь имел дело с AUFS? Куда копать?

