Bem, se você fosse compilar de nada além de código fonte e um compilador cruzado ... o kernel completo e API (bibliotecas + cabeçalhos), glibc, coreutils, gcc / binutils e algumas ferramentas necessárias, você normalmente seria saiu com cerca de 600MB ou mais distro. Acrescente a isso a escolha da sua distro de gerenciamento de pacotes e utilitários padrão, você pode ver de onde vem sua utilização de disco. Distribuições micro / evisceradas normalmente copiam todos os símbolos de depuração lib / binary e compilam uma libc menor (como dietlibc). Eles também podem omitir um ambiente de compilação completo que suga uma quantidade significativa de espaço em disco.
É possível compilar um sistema operacional x86 linux totalmente inicializável em cerca de 6MB de espaço em disco. Faça algumas modificações adicionais e você pode empilhar em apenas algumas centenas de K de flash embutido. Dê uma olhada no tinycore / ucore linux. É construído fora de fltk e acredito dietlibc (8MB com X, 6MB sem).