O problema não está na compactação, mas com make não encontrando os arquivos corretos. Observe que o comando make está inserindo o diretório /lib/modules/<kernel version>/kernel e relatando apenas um erro. Então não está encontrando o que precisa lá.
Você não pode substituir /lib/modules/<kernel version>/kernel to /lib/modules/<kernel version>/build : seus conteúdos são diferentes. O diretório kernel contém os módulos já compilados que vieram com essa versão específica do kernel. Isso não ajuda em nada o comando make : ele precisa dos arquivos makefiles e .h que vêm com o código-fonte do kernel. Algumas delas são geradas dinamicamente como parte da compilação principal do kernel.
Normalmente, o /lib/modules/<kernel version>/build é um link simbólico apontando para onde os cabeçalhos do kernel associados à versão do kernel em questão estão localizados. Se a sua placa incorporada usa um kernel que foi compilado na "maneira Debian" (isto é, com make bindeb-pkg ou similar no diretório fonte do kernel), o processo de compilação do kernel deveria ter produzido vários .deb packages:
-
linux-image-<version>_<patchversion>_<architecture>.deb= o kernel compilado e seus módulos -
linux-headers-<version>_<patchversion>_<architecture>.deb= os cabeçalhos que você precisará para compilar mais módulos do kernel para este kernel específico
Nesse caso, você só precisará encontrar e instalar o pacote linux-headers correspondente à versão exata do kernel que você está usando na sua placa ARM. Ele fornecerá automaticamente o link /lib/modules/<kernel version>/build para você.
Se você tiver compilado seu próprio kernel personalizado com o tradicional make bzimage ou similar, você deverá fornecer o link /lib/modules/<kernel version>/build você mesmo. Se você ainda tem o diretório de compilação do kernel disponível, basta vinculá-lo a /lib/modules/<kernel version>/build .