¿Dónde puedo obtener el archivo .config del kernel 11.04?


15

Estoy usando Maverick con los últimos núcleos disponibles en kernel.org y los construyo yo mismo. Hasta ahora he estado basando mi configuración en el núcleo Maverick estándar y aceptando los make oldconfigvalores predeterminados. He estado haciendo esto durante 3 lanzamientos principales ahora, así que creo que estoy empezando a quedarme atrás del "estándar" actual.

Me gustaría volver a basar mis núcleos en el nuevo .configarchivo Natty . ¿Está disponible en algún lugar en línea o tengo que descargar todo el paquete del núcleo y extraerlo?

Editar: He extraído manualmente la configuración del último paquete del kernel de Natty y puedo confirmar que probablemente debería haberlo hecho antes. Muchas diferencias entre mi antigua configuración "evolucionada" y el valor predeterminado de Natty. Ahora, si pudiera hacer esto sin 20 minutos de búsqueda y descarga del paquete para poder volver a establecer una base en el futuro.

Respuestas:



30

Cada linux-imagepaquete contiene el archivo de configuración exacto con el que se creó /boot/config-*. Para ver el archivo de configuración para el núcleo Linux actualmente en ejecución, haga lo siguiente:

  • less /boot/config-$(uname -r)

He verificado con la gente del núcleo de Ubuntu (en Freenode #ubuntu-kernel) y han confirmado mi creencia de que realmente no existe " la configuración", pero en realidad se construye en el momento de la compilación / compilación al incluir varios Kconfigarchivos; estos dependen de la arquitectura y el destino exactos (escritorio / servidor / nube). Debería poder leer esa conversación (corta) en:

Se puede encontrar una lista de esa variedad usando packages.ubuntu.com y la siguiente búsqueda:

Cazando, alrededor, parece que .configtambién está incluido en los linux-headers-*paquetes. Estos son .debarchivos (que son .ararchivos simples que se abrirán con file-roller) y solo unos 800 kB cada uno. Si conoce el objetivo particular, la arquitectura y la versión que busca, puede obtenerlos directamente desde Launchpad o desde el propio archivo:

  1. archive.ubuntu.com/ubuntu/pool/main/l/linux/ linux-header-2.6 * .deb
  2. entonces mira en /usr/src/linux-headers-2.6*/.config

Si desea automatizar todo el proceso en un solo comando, puede intentar lo siguiente; ¡asegúrate de mantenerlo todo en una línea!

¡Espero que ayude!


Gracias por investigar esto. Después de leer el irclog, no parece que vaya a obtener lo que quiero sin una descarga significativa. En cuanto a la automatización, aún es más fácil tomar el paquete y extraerlo /boot-config-*que tratar de emular la magia que usan para generarlos automáticamente en el momento de la compilación. Es una pena que no haya una forma de obtener un archivo de un paquete en línea (¿o sí?)
Oli

Creo que lo haré en una pregunta separada.
Oli


1

Ubuntu git kernel repositorio

Los debian/metadatos que contienen las configuraciones y el árbol de kernel se rastrean en un solo repositorio de git por versión: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

El repositorios, entonces tiene una etiqueta para cada paquete kernel, por ejemplo, en mi Ubuntu 18.04, tengo el paquete linux-image-4.15.0-36-generic, que supongo corresponde a la etiqueta: Ubuntu-4.15.0-36.39.

https://help.ubuntu.com/community/Kernel/Compile explica cómo compilar el kernel y, por lo tanto, cómo configurarlo y cómo las configuraciones se fusionan en la configuración final.

Las configuraciones parecen estar debajo de las debian.master/config/ARCHcuales contiene:

config.common.ubuntu
config.common.ports
amd64/config.common.amd64
amd64/config.flavour.generic
amd64/config.flavour.lowlatency

así que supongo que linux-image-4.15.0-36-genericse fusionará config.common.ubuntu, config.common.amd64y config.flavour.generic.

El script que hace la fusión parece ser debian / scripts / misc / kernelconfig y contiene el comentario:

# Merge configs
# We merge config.common.ubuntu + config.common.<arch> +
# config.flavour.<flavour>

TODO: también hay un debian.master/config/annotationsarchivo que parece contener el valor de cada configuración para cada arco, ¿cómo se usa?

Alguien debería confirmar todo eso ejecutando scripts de compilación en modo detallado de alguna manera, pero ahora soy flojo, puedes construir con:

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

Luego he confirmado que esto produce exactamente la misma configuración que tengo localmente:

diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic

Tenga en cuenta que el repositorio git de kernel de Ubuntu también tiene miles de parches en la parte superior de Linux ascendente, por lo que solo obtener la configuración correcta no será suficiente para reproducir el comportamiento.

También podemos verificar tres veces que el núcleo que creamos coincide con el empaquetado mirando el inicio del dmesgarranque, que contiene:

[    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 en el .deb

Como mencionaron otros, la configuración completa final también está presente en:

/boot/config-4.15.0-36-generic

que corresponden a cada imagen del kernel de Linux:

/boot/vmlinuz-4.15.0-36-generic

Entonces, para otras versiones, podemos encontrar de qué paquete provienen:

dpkg -S /boot/config-4.15.0-36-generic

lo que da:

linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic

y luego puedes descargarlo .debdesde https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic y extraerlo para obtener la configuración:

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

Probado en Ubuntu 18.04.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.