Versão local durante a criação do kernel quebrada

0

Estou tentando construir uma variante personalizada do kernel 3.13.0-43 no Ubuntu 14.04. Seguindo o procedimento normal (instruções postadas no link ) não está funcionando para mim se eu configurar um valor de versão local (ou seja, "- custom ") durante a fase" make menuconfig "do build.

Tudo realmente é limpo, mas no final do processo, quando as coisas estão sendo empacotadas, eu me deparo com um problema dentro da execução do debian / rules.d / 2-binary-arch.mk; O arquivo tenta "Remover todos os módulos que não estão na lista de inclusão" e o argumento passado para $ * contém a palavra "genérico" em vez de "genérico-personalizado" como deveria.

Isso faz com que o comando mv na linha 130 falhe porque a saída de compilação do kernel não foi armazenada em um caminho [...] chamado genérico, estava em custom genérico

    #
    # Remove all modules not in the inclusion list.
    #
    if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \
            mkdir -p $(pkgdir_ex)/lib/modules/$(abi_release)-$*; \

==>>> Problem first manifests here $* is "generic" instead of "generic-custom":
            mv $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \
                    $(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel; \


            $(SHELL) $(DROOT)/scripts/module-inclusion --master \
                    $(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel \
                    $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \
                    $(DEBIAN)/control.d/$(target_flavour).inclusion-list 2>&1 | \
                            tee $(target_flavour).inclusion-list.log; \
            /sbin/depmod -b $(pkgdir) -ea -F $(pkgdir)/boot/System.map-$(abi_release)-$* \
                    $(abi_release)-$* 2>&1 |tee $(target_flavour).depmod.log; \
            if [ 'grep -c 'unknown symbol' $(target_flavour).depmod.log' -gt 0 ]; then \
                    echo "EE: Unresolved module dependencies in base package!"; \
                    exit 1; \
            fi \
    fi

Eu assumo que alguma entrada de nível superior está sendo perdida e este é provavelmente um simples script ou makefile tweak para corrigir, mas eu não estou familiarizado o suficiente com o sistema de compilação de estilo debian para encontrá-lo rapidamente.

Alguém já viu isso antes e pode apontar o que ajustar?

    
por David Vandewalle 11.01.2015 / 01:49

1 resposta

0

Então, estou tendo exatamente o mesmo problema que você está tendo. Embora eu não tenha tentado ainda, existem etapas alternativas na página GitKernelBuild , que parecem muito mais promissoras. Aviso completo, eu não tentei ainda, mas eu estava planejando quando chegar em casa. Além disso, a descrição do "BuildYourOwnKernel" no link lista-o como um "guia de criação de kernel minimalista", então estou Certifique-se de que algumas coisas estão faltando. Espero que isso ajude!

Em uma nota lateral, estou bastante desapontado com o wiki do Ubuntu; Há muitos tópicos duplicados com diferentes níveis de atualização. Está uma bagunça.

    
por Christopher Burgess 14.01.2015 / 06:52