Compilando um kernel no STLinux

2

Eu acessei recentemente o STMicroelectronics Base Distribution com o BusyBox v1.18.2, shell embutido.

Eu li todas as informações do documentário do STLinux sobre meus problemas e segui todos os passos.

Não havia diretório /home/STLinux , então acabei de criar um novo.

 # Step 2

[root@stlinux]# cp -r /opt/STM/STLinux-X.X/devkit/sources/kernel/linux-sh4/  
BusyBox v1.18.2 (2011-07-13 20:52:52 CST) multi-call binary.

Usage: cp [OPTIONS] SOURCE DEST

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY

Options:
    -a  Same as -dpR
    -R,-r   Recurse
    -d,-P   Preserve symlinks (default if -R)
    -L  Follow all symlinks
    -H  Follow symlinks on command line
    -p  Preserve file attributes if possible
    -f  Overwrite
    -i  Prompt before overwrite
    -l,-s   Create (sym)links

    # Step 3        

    [root@stlinux]#cd /home/STLinux/linux-sh4 
    -sh: cd: can't cd to /home/STLinux/linux-sh4

    # Step 4

    [root@stlinux]#make ARCH=sh CROSS_COMPILE=sh4-linux- vmlinux 
    -sh: make: not found

   # Step 5

   [root@stlinux]#make ARCH=sh CROSS_COMPILE=sh4-linux- help | grep ^mb
   -sh: make: not found

   # All other steps were associated with make.

   # Step 9

   [root@stlinux]#find . | grep "\.ko$"
   [root@stlinux]#


   # Step 10

   [root@stlinux]# make ARCH=sh CROSS_COMPILE=sh4-linux- vmlinux
   -sh: make: not found

É possível construir o kernel sem ter esses kits de ferramentas? Se não, como posso instalá-los sem ter nenhum gerenciador de pacotes?

    
por ShellRox 08.05.2016 / 09:21

1 resposta

2

Infelizmente, você não pode compilar um kernel para o STLinux no STLinux. Você não deveria, pelo menos. Eles são dispositivos incorporados com recursos limitados.

O que você precisa fazer é ter ou instalar um Linux em outra (Intel) máquina, compilar o kernel e depois copiá-lo para a máquina de destino.

BTW, cross compilation é o ato de construir binários / ferramentas em uma máquina de arquitetura diferente.

Se você olhar para a diretiva CROSS_COMPILE que você tem em seu post, parece evidente que o tutorial que você está seguindo não foi escrito para ser usado diretamente no dispositivo.

Como exemplo, eu compilei meu toolchain ARM NetBSD, binários e kernel personalizado em um Debian Jessie. Você precisa construir o kit de ferramentas usando as ferramentas de desenvolvimento nativas.

Depois disso, parece que o STLinux tem algumas adições ao kit de ferramentas; você então usará o novo compilador e o ambiente do toolkit cross compiler para gerar binários nativos.

Existe outro tópico relacionado aqui: Como faço para instalar outra distro em um DVR linux

Além disso, duvido que você possa compilar um novo kernel com sucesso sem saber o que está fazendo. A arquitetura ARM / Mips tem alguns kirks que diferem substancialmente do padrão da Intel, e muitas vezes esses dispositivos chineses têm kernels substancialmente hackeados.

No entanto, para dar uma resposta muito curta à sua pergunta, não será possível compilar um novo kernel no seu dispositivo. A RAM e o disco geralmente são bem limitados para as necessidades de desenvolvimento.

    
por 08.05.2016 / 11:08