Arquivo de configuração de piping para o genkernel

3

Sou um usuário do gentoo e me tornei um pouco cansado de copiar meu arquivo de configuração do kernel quando um novo kernel é lançado. Gostaria de saber se é possível canalizar o arquivo de configuração para o genkernel diretamente. Algo parecido com isto:

sudo genkernel --install --clean --kernel-config=$(gunzip/proc/config.gz) --menuconfig all

ou isto:

zcat /proc/config.gz | sudo genkernel --install --clean --kernel-config=- --menuconfig all

Mas não consigo fazê-lo funcionar, porque não sou muito bom em scripts de shell / piping. Alguma idéia?

EDIT: com $(gunzip /proc/config.gz) , diz gzip: /proc/config: No such file or directory . Mas não é verdade, pois zcat /proc/config.gz imprime todas as minhas configurações

    
por Stranger 04.12.2016 / 13:38

1 resposta

0

Sua invocação do shell está errada.

$(gunzip /proc/config.gz) - > isso tenta / proc / config.gz para / proc / config. Nada é enviado para stdout, mas o stderr é acionado nesse caso, porque não é permitido criar novos arquivos em /proc (esse é o no such file or directory error ).

Você tem que dizer genkernel para ler um descritor de arquivo (ele não suporta - como um atalho para stdin) para a configuração, então você tem duas opções:

  1. Tubulações:
zcat /proc/config.gz | sudo genkernel --install \
--clean --kernel-config=/dev/stdin --menuconfig all
  1. Substituição de processos:
sudo genkernel --install --clean \
--kernel-config=<(zcat /proc/config.gz) --menuconfig all

Eu sugeriria o último, mas também gostaria de salientar que, por padrão, o genkernel salva cada configuração do kernel para /etc/kernels/ , e você pode obtê-los a partir daí:

sudo genkernel --install --clean \
--kernel-config=/etc/kernels/kernel-config-$(uname -m)-$(uname -r) \
--menuconfig all

(cuidado ao alterar as opções de configuração e reconstruir o mesmo kernel, ele substitui o arquivo anterior nesse diretório, por design).

    
por 28.03.2017 / 07:21