Di mana saya bisa mendapatkan file .config kernel 11,04?


15

Saya menggunakan Maverick dengan kernel terbaru yang tersedia di kernel.org dan membangunnya sendiri. Sampai sekarang saya telah mendasarkan konfigurasi saya dari kernel stock Maverick dan menerima make oldconfigdefault. Saya telah melakukan ini selama 3 rilis utama sekarang jadi saya pikir saya mulai menyelinap di belakang "standar" saat ini.

Saya ingin mendasarkan kembali kernel saya dari .configfile Natty yang baru . Apakah ini tersedia di suatu tempat online atau apakah saya harus mengunduh seluruh paket kernel dan mengekstraknya?

Sunting: Saya telah secara manual menarik konfigurasi dari paket kernel Natty terbaru dan saya dapat mengonfirmasi bahwa saya seharusnya melakukan ini lebih cepat. Banyak perbedaan antara konfigurasi "evolusi" lama saya dan default Natty. Sekarang jika saya bisa melakukan ini tanpa 20 menit berburu dan mengunduh paket sehingga saya dapat melakukan pangkalan di masa depan.

Jawaban:



30

Setiap linux-imagepaket berisi file konfigurasi persis yang dibuat /boot/config-*. Untuk melihat file konfigurasi untuk kernel Linux yang sedang berjalan, lakukan:

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

Saya telah memeriksa dengan orang-orang kernel Ubuntu (di Freenode #ubuntu-kernel) dan mereka telah mengkonfirmasi keyakinan saya bahwa sebenarnya tidak ada " the config", tetapi sebenarnya dibangun pada waktu build / compile dengan memasukkan sejumlah Kconfigfile; ini tergantung pada arsitektur dan target yang tepat (desktop / server / cloud). Anda harus dapat membaca percakapan (singkat) itu di:

Daftar varietas itu dapat ditemukan menggunakan paket.ubuntu.com dan pencarian berikut:

Berburu, sekitar, akan terlihat bahwa .configitu juga termasuk dalam linux-headers-*paket. Ini adalah .debfile (yang merupakan .ararsip sederhana yang akan dibuka file-roller) dan masing-masing hanya sekitar 800 kB. Jika Anda mengetahui target, arsitektur, dan versi yang Anda kejar, Anda dapat mengambil ini langsung dari Launchpad atau dari arsip itu sendiri:

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

Jika Anda ingin mengotomatiskan seluruh proses menjadi satu perintah, Anda dapat mencoba yang berikut ini; pastikan Anda menjaga semuanya pada satu baris!

Semoga itu bisa membantu!


Terima kasih telah menyelidiki ini. Setelah membaca irclog, sepertinya saya tidak akan mendapatkan apa yang saya inginkan tanpa unduhan signifikan. Secara otomasi, masih lebih mudah untuk mengambil paket dan mengekstraknya /boot-config-*daripada mencoba meniru sihir yang mereka gunakan untuk melakukan autogen pada saat build-time. Sayang sekali tidak ada cara untuk mengambil satu file dari paket online (atau ada?)
Oli

Saya pikir saya akan menanyakan itu dalam pertanyaan terpisah.
Oli


1

Ubuntu repositori kernel git

The debian/metadata yang berisi konfigurasi, dan pohon kernel dilacak baik dalam satu repositori git per rilis: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

Repo kemudian memiliki tag untuk setiap paket kernel, misalnya dalam saya Ubuntu 18.04, saya memiliki paket linux-image-4.15.0-36-generic, yang aku menebak bersesuaian dengan tag: Ubuntu-4.15.0-36.39.

https://help.ubuntu.com/community/Kernel/Compile menjelaskan cara mengkompilasi kernel, dan karenanya cara mengkonfigurasinya dan bagaimana konfigurasi digabung ke dalam konfigurasi terakhir.

Semua konfigurasi tampaknya berada di bawah debian.master/config/ARCHyang berisi:

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

jadi saya kira itu linux-image-4.15.0-36-genericakan bergabung config.common.ubuntu, config.common.amd64dan config.flavour.generic.

Skrip yang melakukan penggabungan tampaknya adalah debian / skrip / misc / kernelconfig dan berisi komentar:

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

TODO: ada juga debian.master/config/annotationsfile yang tampaknya mengandung nilai untuk setiap konfigurasi untuk setiap lengkungan, bagaimana itu digunakan?

Seseorang harus mengonfirmasi semua itu dengan menjalankan skrip build dalam mode verbose, tapi saya malas sekarang, Anda dapat membangun dengan:

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

Saya kemudian telah mengkonfirmasi bahwa ini menghasilkan konfigurasi yang persis sama yang saya miliki secara lokal:

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

Perhatikan bahwa repo kernel Ubuntu juga memiliki ribuan tambalan di atas Linux hulu, jadi mendapatkan konfigurasi yang tepat tidak akan cukup untuk mereproduksi perilaku.

Kami juga dapat memeriksa tiga kali bahwa kernel yang kami buat cocok dengan kernel yang dikemas dengan melihat pada awal dmesgboot, yang berisi:

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

Konfigurasi dalam .deb

Seperti yang disebutkan oleh orang lain, konfigurasi penuh akhir juga hadir di bawah:

/boot/config-4.15.0-36-generic

yang sesuai dengan setiap gambar kernel Linux:

/boot/vmlinuz-4.15.0-36-generic

Jadi, untuk versi lain, kita dapat menemukan dari paket mana mereka berasal:

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

pemberian yang mana:

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

dan kemudian Anda bisa mengunduh .debdari https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic dan mengekstraknya untuk mendapatkan konfigurasi:

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

Diuji di Ubuntu 18.04.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.