ตัวเลือกการสร้างเคอร์เนลปัจจุบันเก็บอยู่ที่ไหน


23

มีวิธีทราบหรือไม่ว่าเคอร์เนลถูกคอมไพล์ด้วยตัวเลือกบางตัวที่เปิดใช้งาน (เช่นCONFIG_PROC_EVENTS=y) โดยไม่ต้องดึงแพ็กเกจซอร์สเคอร์เนลออกและค้นหาในไฟล์ปรับแต่งหรือไม่?

คำตอบ:


18

หากคุณดูใน/bootไดเรกทอรีของคุณคุณจะสังเกตเห็นไฟล์เหล่านี้:

$ ls -l /boot/|grep config
-rw-r--r--  1 root root   109919 Oct 21  2011 config-2.6.35.14-100.fc14.x86_64
-rw-r--r--  1 root root   109919 Oct 27  2011 config-2.6.35.14-103.fc14.x86_64
-rw-r--r--  1 root root   109919 Nov 23  2011 config-2.6.35.14-106.fc14.x86_64

สังเกตว่าเคอร์เนลรุ่นใดที่คุณใช้อยู่:

$ uname -r
2.6.35.14-106.fc14.x86_64

หากคุณgrepใช้uname -rไฟล์ " config-" ที่เหมาะสมคุณจะเห็นว่าตัวเลือกใดที่เคอร์เนลถูกสร้างขึ้นด้วย:

$ grep CONFIG_PROC_EVENTS= /boot/config-`uname -r`
CONFIG_PROC_EVENTS=y

อ้างอิง


4
นั่นเป็นความจริงใน Distros ที่ใช้ Debian แต่อาจไม่เป็นความจริงในผู้อื่นเช่น Arch Linux
อลิเซีย

1
@ntrrgc - ฉันไม่สามารถยืนยัน ArchLinux ได้ แต่เป็นเช่นนั้นสำหรับ RedHat, Debian และ Ubuntu 3 distros เหล่านี้ครอบคลุมโลกส่วนใหญ่ * หากใครมี ArchLinux distro คุณสามารถยืนยันวิธีการนี้ได้หรือไม่?
slm

4
ฉันใช้ Arch Linux และฉันสามารถยืนยันได้ว่าไม่ได้ทำงานใน Arch Linux
อลิเซีย

@slm สิ่งนี้ไม่เป็นจริงสำหรับ Ubuntu อย่างน้อย Kubuntu ฉันเพิ่งตรวจสอบ - สิ่งเดียวที่ฉันมี/boot/คือgrubไดเรกทอรี
Hi-Angel

@slm บางทีการกำหนดค่าเหล่านี้เป็นส่วนหนึ่งของแพ็คเกจหรือไม่ จากนั้นจะเพียงพอที่จะแสดงรายการไฟล์ของแพ็คเกจนั้น
Hi-Angel

14

ตัวเลือก Kernel /proc/config.gzสามารถพบได้ใน

zgrep CONFIG_PROC_EVENTS= /proc/config.gz

CONFIG_IKCONFIG_PROC=yถ้าเคอร์เนลถูกคอมไพล์ด้วย


6
ใช้งานได้เฉพาะในกรณีที่เคอร์เนลถูกคอมไพล์ด้วยชุด CONFIG_IKCONFIG_PROC
Bruce Ediger

1
สิ่งนี้ไม่ได้ผลสำหรับฉันกับสิ่งรบกวนใด ๆ ที่ฉันมี: Debian, RedHat based หรือ Ubuntu นี่คือระบบสต็อคทั้งหมดดังนั้นฉันไม่คิดว่าวิธีการนี้มีประโยชน์เว้นแต่คุณจะสร้างเคอร์เนลของคุณเองหรือ distro เฉพาะของคุณให้มัน
slm

1
ในเมล็ด distro ตัวเลือก IKCONFIG อาจเปิดใช้งานเป็นโมดูลเท่านั้น ลองmodprobe configsและตรวจสอบว่า /proc/config.gz แสดงขึ้นมา
XZS

0

หากเคอร์เนลของคุณสร้างด้วยCONFIG_IKCONFIG_PROCคุณสามารถค้นหาการกำหนดค่าที่แสดงใน/proc/config.gz

zless /proc/config.gz

Debian และ Redhat แพคเกจเคอร์เนลโดยทั่วไปติดตั้งconfig-$versionไฟล์/boot,

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

ใน Debian คุณยังสามารถหาตัวเลือกเริ่มต้นในkernel-package's เช่นเดียวกับการตั้งค่าตัวเลือกสถาปัตยกรรมที่ระบุใน./kernel/Config/config./kernel/Config/

mkdir /tmp/k
cd /tmp/k
apt-get source kernel-package
find . -path '*/kernel/Config/*' -type f

-1

sudo find / -xdev -name .config(-xdev เก็บไว้ในระบบไฟล์เดียว)

โดยทั่วไปจะอยู่ภายใต้ /usr/src/some-specific-kernel-header-version/.config

เพียงแค่อ่านเป็นข้อความค้นหาด้วย grep หรือดูว่ามีสองเวอร์ชันแตกต่างกันอย่างไร diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.