Gdzie mogę uzyskać plik .config jądra 11.04?

15

Korzystam z Maverick z najnowszymi dostępnymi jądrami na kernel.org i sam je buduję. Do tej pory opierałem swoją konfigurację na standardowym jądrze Maverick i akceptuję make oldconfigustawienia domyślne. Robiłem to już od 3 głównych wydań, więc myślę, że zaczynam się wycofywać za obecnym „standardem”.

Chciałbym ponownie oprzeć moje jądra na nowym .configpliku Natty . Czy jest to dostępne gdzieś w Internecie, czy muszę pobrać cały pakiet jądra i go rozpakować?

Edycja: ręcznie pobrałem konfigurację z najnowszego pakietu jądra Natty i mogę potwierdzić, że prawdopodobnie powinienem to zrobić wcześniej. Wiele różnic między moją starą „ewolucyjną” konfiguracją a domyślną opcją Natty. Teraz, gdybym mógł to zrobić bez 20 minut polowania i pobierania pakietu, abym mógł ponownie bazować w przyszłości.

Oli
źródło

Odpowiedzi:

30

Każdy linux-imagepakiet zawiera dokładny plik konfiguracyjny, w którym został zbudowany /boot/config-*. Aby zobaczyć plik konfiguracyjny dla aktualnie działającego jądra Linux, wykonaj:

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

Sprawdziłem z ludźmi jądra Ubuntu (na Freenode #ubuntu-kernel) i one potwierdziły moje przekonanie, że nie ma naprawdę „ config”, ale w rzeczywistości jest skonstruowany w kompilacji / kompilacji przy tym wiele plików; zależą one od dokładnej architektury i celu (komputer / serwer / chmura). Powinieneś być w stanie przeczytać (krótką) rozmowę na:Kconfig

Listę tej odmiany można znaleźć na stronie packages.ubuntu.com i następującym wyszukiwaniu:

Polowanie wokół wydaje się, że .configjest ono również zawarte w linux-headers-*pakietach. Są to .debpliki (które są prostymi .ararchiwami, które można otworzyć file-roller) i tylko około 800 kB każdy. Jeśli znasz konkretny cel, architekturę i wersję, której szukasz, możesz pobrać je bezpośrednio z Launchpada lub z samego archiwum:

  1. archive.ubuntu.com/ubuntu/pool/main/l/linux/ linux-header-2.6 * .deb
  2. następnie zajrzyj do środka /usr/src/linux-headers-2.6*/.config

Jeśli chcesz zautomatyzować cały proces w jednym poleceniu, możesz spróbować następujących czynności; upewnij się, że trzymasz to wszystko w jednej linii!

Mam nadzieję, że to pomaga!

sladen
źródło
Dzięki za zbadanie tego. Po przeczytaniu irclog, nie wygląda na to, że dostanę to, czego chcę bez znacznego pobrania. Jeśli chodzi o automatyzację, nadal łatwiej jest pobrać pakiet i wyodrębnić go, /boot-config-*niż próbować emulować magię, której używają do autogenizacji ich podczas kompilacji. Szkoda, że ​​nie ma sposobu na pobranie jednego pliku z paczki online (czy jest tam?)
Oli
Myślę, że zadam to w osobnym pytaniu.
Oli
4

W moim systemie Ubuntu 11.10 konfiguracja jądra znajduje się w pliku „/boot/config-3.0.0-12-generic”.

Marat BN
źródło
1
Pytanie dotyczy 11.04, a nie 11.10.
Christopher Kyle Horton
1

Repozytorium jądra Ubuntu git

debian/Metadanych, który zawiera pliki konfiguracyjne, a drzewo jądra są śledzone zarówno w jednym repozytorium git na wydaniu: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

Repo ma wówczas znacznik dla każdego pakietu jądra, np w moim Ubuntu 18.04, mam pakiet linux-image-4.15.0-36-generic, który Zgaduję odpowiada tagu: Ubuntu-4.15.0-36.39.

https://help.ubuntu.com/community/Kernel/Compile wyjaśnia, jak skompilować jądro, a tym samym, jak go skonfigurować i jak konfiguracje są scalane w ostateczną konfigurację.

Wydaje się, że wszystkie konfiguracje debian.master/config/ARCHzawierają:

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

więc zgaduję, że linux-image-4.15.0-36-genericto się połączy config.common.ubuntu, config.common.amd64i config.flavour.generic.

Skrypt, który dokonuje scalania, wygląda na debian / scripts / misc / kernelconfig i zawiera komentarz:

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

DO ZROBIENIA: istnieje również debian.master/config/annotationsplik, który wydaje się zawierać wartość dla każdej konfiguracji dla każdego łuku, jak to się stosuje?

Ktoś powinien to wszystko potwierdzić, uruchamiając skrypty budowania w trybie pełnym, ale jestem teraz leniwy, możesz budować za pomocą:

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

Następnie potwierdziłem, że daje to dokładnie taką samą konfigurację, jaką mam lokalnie:

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

Zauważ, że repozytorium git repozytorium Ubuntu zawiera również tysiące łatek na górę Linuksa, więc uzyskanie właściwej konfiguracji nie wystarczy do odtworzenia zachowania.

Możemy również potrójnie sprawdzić, czy jądro, które zbudowaliśmy, odpowiada pakietowi, patrząc na początek dmesgbootowania, który zawiera:

[    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)

Skonfiguruj w .deb

Jak wspomniano przez innych, ostateczna pełna konfiguracja jest również obecna w:

/boot/config-4.15.0-36-generic

które odpowiadają każdemu obrazowi jądra Linux:

/boot/vmlinuz-4.15.0-36-generic

W przypadku innych wersji możemy znaleźć, z którego pakietu pochodzą:

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

co daje:

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

a następnie możesz po prostu pobrać plik .debz https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic i rozpakować go, aby uzyskać konfigurację:

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

Testowane w Ubuntu 18.04.

Ciro Santilli
źródło