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
.