A equipe do kernel postou as configurações para o Natty aqui:
Fontes:
- Post da lista de correspondência
- Página do Wiki detalhando as mudanças entre 10.10 e 11.04
Estou usando o Maverick com os últimos kernels disponíveis no kernel.org e construindo-os eu mesmo. Até agora, baseei minha configuração no kernel Maverick padrão e aceito os make oldconfig
defaults. Eu tenho feito isso por 3 grandes lançamentos agora, então eu acho que estou começando a ficar para trás do atual "padrão".
Gostaria de voltar a basear meus kernels no novo arquivo Natty .config
. Está disponível em algum lugar online ou eu tenho que baixar o pacote inteiro do kernel e extraí-lo?
Edit: Eu puxei manualmente a configuração do pacote de kernel Natty mais recente e posso confirmar que provavelmente eu deveria ter feito isso antes. Muitas diferenças entre minha antiga configuração "evoluída" e o padrão Natty. Agora, se eu pudesse fazer isso sem 20 minutos de caça e download do pacote para que eu possa me basear novamente no futuro.
A equipe do kernel postou as configurações para o Natty aqui:
Fontes:
Cada pacote linux-image
contém o arquivo de configuração exato com o qual foi criado em /boot/config-*
. Para ver o arquivo de configuração para o kernel Linux atualmente em execução, faça:
less /boot/config-$(uname -r)
Eu verifiquei com o pessoal do kernel do Ubuntu (no Freenode #ubuntu-kernel
) e eles confirmaram minha crença de que não existe realmente a configuração the , mas ela é na verdade construída em build / tempo de compilação incluindo um número de arquivos Kconfig
; eles dependem da arquitetura e do destino exatos (desktop / server / cloud). Você deve ser capaz de ler essa conversa (curta) em:
Uma lista dessa variedade pode ser encontrada usando packages.ubuntu.com e a seguinte pesquisa:
Caçando, parece que o .config
também está incluído nos pacotes linux-headers-*
. Estes são .deb
arquivos (que são simples .ar
arquivos que serão abertos com file-roller
) e apenas cerca de 800 kB cada. Se você conhece o alvo em particular, arquitetura e versão que procura, pode pegá-los direto do Launchpad ou do próprio arquivo:
/usr/src/linux-headers-2.6*/
.config
Se você quiser automatizar todo o processo em um único comando, tente o seguinte; certifique-se de manter tudo em uma linha!
wget -qO- http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-2.6.38-6-generic_2.6.38-6.34_i386.deb | dpkg-deb --fsys-tarfile /dev/stdin | tar Ox --wildcards './usr/src/*/.config'
Espero que ajude!
No meu sistema Ubuntu 11.10, a configuração do kernel está no arquivo '/boot/config-3.0.0-12-generic'.
Repositório do Ubuntu do git do Ubuntu
Os metadados debian/
que contém as configurações e a árvore do kernel são rastreados em um único repositório git por release: link
O repo então tem uma tag para cada pacote do kernel, por exemplo no meu Ubuntu 18.04, eu tenho o pacote linux-image-4.15.0-36-generic
, que eu estou supondo corresponde à tag: Ubuntu-4.15.0-36.39
.
link explica como compilar o kernel e, portanto, como configurá-lo e como as configurações são mescladas no configuração final.
Todas as configurações parecem estar em debian.master/config/ARCH
que contém:
config.common.ubuntu
config.common.ports
amd64/config.common.amd64
amd64/config.flavour.generic
amd64/config.flavour.lowlatency
Por isso, acredito que linux-image-4.15.0-36-generic
mesclará config.common.ubuntu
, config.common.amd64
e config.flavour.generic
.
O script que faz a fusão parece ser debian / scripts / misc / kernelconfig e contém o comentário:
# Merge configs
# We merge config.common.ubuntu + config.common.<arch> +
# config.flavour.<flavour>
TODO: existe também um debian.master/config/annotations
arquivo que parece conter o valor de cada configuração para cada arco, como isso é usado?
Alguém deve confirmar tudo isso executando scripts de construção no modo detalhado de alguma forma, mas eu sou preguiçoso agora, você pode construir com:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux
cd linux
git checkout Ubuntu-4.15.0-36.39
fakeroot debian/rules clean
debian/rules updateconfigs
fakeroot debian/rules build-generic
Confirmei que isso produz a mesma configuração que eu tenho localmente:
diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic
Note que o repositório git do kernel do Ubuntu também tem milhares de correções no topo do Linux, então apenas obter a configuração correta não será suficiente para reproduzir o comportamento.
Também podemos triplicar a verificação de que o kernel que criamos corresponde ao empacotado, observando o início de dmesg
da inicialização, que contém:
[ 0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-amd64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18)
Config no .deb
Como mencionado por outros, a configuração completa final também está presente em:
/boot/config-4.15.0-36-generic
que correspondem a cada imagem do kernel do Linux:
/boot/vmlinuz-4.15.0-36-generic
Assim, para outras versões, podemos encontrar de qual pacote elas vêm:
dpkg -S /boot/config-4.15.0-36-generic
que dá:
linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic
e você pode simplesmente baixar o .deb
do link
e extraí-lo para obter a configuração:
mkdir config
cd config
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
tar -xvf data.tar.xz
cat ./boot/config-4.15.0-36-generic
Testado no Ubuntu 18.04.