Estou quase na mesma posição com você. Seguindo esta istructions, tive sucesso com a criação do próprio kernel e um único módulo.
Eu adicionei três etapas (40 ~ 42) ao artigo principal para fazer o Eclipse compilar um driver específico, não um kernel inteiro.
- Faça o download e instale o Eclipse mais o CDT.
- Configure e crie seu kernel para definir
CONFIG_*
e gerarautoconf.h
. Isso pode ser feito antes ou depois de baixar e instalar o Eclipse. - Verifique se você tem a fonte correta do kernel (por exemplo, verifique se está na ramificação git à direita). Se você verificar outra ramificação mais tarde, tudo bem, mas será necessário indexar novamente a origem e isso levará cerca de 20 minutos.
- Inicie o Eclipse.
- Clique em
File
- >New
- >C Project
- Preencha um nome de projeto como
my_kernel
- Desmarque a caixa Usar local padrão e digite o diretório raiz do seu kernel na caixa Local.
- No painel Tipo de projeto:, clique no projeto Makefile e selecione Projeto vazio
- No lado direito, selecione
Linux GCC
- Clique em
Advanced settings
... e uma caixa de diálogo Propriedades será exibida. - Selecione Recurso à esquerda e, na seção Codificação do arquivo de texto, selecione Outros e
ISO-8859-1
na caixa e clique em Aplicar - Abra a seleção
C/C++ General
à esquerda. - Clique em
Preprocessor Include Paths
- Selecione
GNU C
na lista Idiomas - Selecione
CDT User Setting Entries
na lista Entradas de configuração - Clique em
Add
.... Escolha Arquivo de Macros de Pré-processador no menu suspenso superior esquerdo, Caminho do Projeto no menu suspenso superior direito e digiteinclude/generated/autoconf.h
na caixa de texto Arquivo. (Nota: para kernels mais antigos [pré-2.6.36?], A localização deautoconf.h
éinclude/linux/autoconf.h
) - Inclua também outros arquivos de macros que você está usando.
- Clique no Indexador
- Marque a caixa de configurações específicas Ativar projeto.
- Desmarque os arquivos de origem do índice não incluídos na compilação
- Limpe a caixa inicial Arquivos para indexar.
- Clique em Caminhos e Símbolos à esquerda.
- Selecione a guia Incluir e, em seguida, selecione
GNU C
- Clique em
Add
... - Clique em
Workspace
... e selecione o diretório de inclusão do seu kernel - Faça outra adição, espaço de trabalho e adicione
arch/architecture/include
, por exemplo,arch/powerpc/include
- Clique na guia
# Symbols
- Clique em
Add
... - Defina o nome para
__KERNEL__
- Defina o valor como
1
e clique em OK - Clique na guia Localização da origem
- Clique no twisty para o seu projeto.
- Selecione o item Filtro e clique em Editar filtro ...
- Clique em Adicionar vários ... e selecione todos os diretórios arch / * na origem do kernel que não serão usados (ou seja, todos os que não forem da arquitetura que você está usando)
- Clique em OK e em OK novamente para ignorar esse diálogo.
- Clique em OK na caixa de diálogo Propriedades.
- Clique em Concluir na caixa de diálogo Projeto C.
- Clique com o botão direito do mouse no projeto e selecione Índice e selecione Reconstruir
- Demorará cerca de 20 minutos para ser concluído.
- Abra a configuração do seu projeto, vá para o
C/C++ build -> Behaviour (tab)
- Verifique a caixa de seleção
Build (Incremental buil)
e adicione o caminho do módulo à caixa de texto (no meu casoM=drivers/servo/dynamixel
). - Quando seu módulo estiver pronto e você quiser compilar o kernel, repita 41 e substitua
M=..
porall
.