ตอบค่าเริ่มต้นโดยอัตโนมัติเมื่อทำการ 'ทำให้ oldconfig' บนแผนผังเคอร์เนล


36

เมื่อสร้างเคอร์เนลใหม่ตามการตั้งค่าก่อนหน้ามีวิธีการทำให้make oldconfigกระบวนการอัตโนมัติเพื่อให้ตัวเลือกใหม่เป็นค่าเริ่มต้นหรือไม่

แก้ไข:สิ่งที่ฉันหมายถึงคือเมื่อใช้. config (จาก/boot/config-*หรือ/proc/config.gz) ในเคอร์เนลที่ใหม่กว่าmake oldconfigกระบวนการจะถามว่าคุณต้องการเปิดใช้งานตัวเลือกที่ไม่พร้อมใช้งานในเคอร์เนลเก่าของคุณหรือไม่ คุณสามารถตอบ Y / n / m หรือกด Enter เพื่อยอมรับค่าเริ่มต้น ฉันต้องการยอมรับค่าเริ่มต้นโดยอัตโนมัติโดยไม่มีการโต้ตอบกับผู้ใช้


@jscott คำถามนี้มีเพียง "กด Enter" สำหรับคำถามแรกไม่ใช่ทั้งหมด คุณสามารถใช้คำสั่ง 'ใช่' เพื่อพิมพ์สตริงโดยไม่ระบุตัวตน
Laurent Parenteau

คำตอบ:


37

ใช้คำสั่ง:

yes "" | make oldconfig

คำสั่ง 'ใช่' เอาท์พุทบรรทัดด้วยสตริงที่ระบุทั้งหมดซ้ำ ๆ หรือ 'y' เป็นค่าเริ่มต้น

ดังนั้นคุณสามารถใช้มันเพื่อเพียงแค่ "กด Enter" ซึ่งจะส่งผลในการใช้ค่าเริ่มต้นสำหรับคำสั่ง 'make oldconfig'


อ่าฉันไม่ทราบว่าคำสั่ง 'ใช่' สามารถส่งออกสตริงใด ๆ ขอขอบคุณ!
Jean-Francois Chevrette

3
นี่เป็นปรากฎการณ์
Ivan X

1
คำตอบคือความคิดที่ดีกว่าserverfault.com/a/538150/18822
Evan Carroll

56
make olddefconfig

คือสิ่งที่คุณต้องการ จากวิธีใช้ ( make helpในเคอร์เนลแหล่ง dir)

olddefconfig - เหมือนกับ silentoldconfig แต่ตั้งค่าสัญลักษณ์ใหม่เป็นค่าเริ่มต้น


ฉันกำลังมองหาบางสิ่งเช่นนี้มาพักหนึ่งแล้ว ... ขอบคุณมาก!
Jafar Kofahi

Linux รุ่นใดที่มาถึง แค่สงสัย. ขณะนี้ฉันกำลังจัดการรุ่นเก่า (3.0) และยังไม่มี
clacke

1
นี่ควรเป็นคำตอบที่ถูกต้อง
suprjami

0

ใช่. มันถูกเก็บไว้ใน ".config" ในระดับบนสุดของไดเรกทอรีต้นทาง

นอกจากนี้หากใช้เคอร์เนลการกระจายการแจกแจงบางอย่างเช่น RedHat จะเก็บไว้ใน / boot / config - $ (uname -r) (เวอร์ชั่นเคอร์เนล) [1]

สุดท้ายหากคอมไพล์ในเคอร์เนลที่คุณใช้งานจะมีอยู่ใน /proc/config.gz ฉันลืมรุ่นที่แนะนำตัวเลือกนี้

[1] ตัวเลือกเหล่านี้:

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y 

แก้ไข

ลองดู /usr/src/linux/kernel/Documentation/kbuild/kconfig.txt (หรือพา ธ ที่เหมาะสม) คุณสามารถใช้คำแนะนำของพวกเขาเพื่อเขียนสคริปต์วิธีแก้ปัญหา ฉันจะใช้การรวมกันของสคริปต์และ textutils เพื่อบรรลุสิ่งที่คุณอธิบาย

แก้ไข 2

ในฐานะโน้ตเพิ่มเติมนี่เป็นความคิดที่ไม่ดี จะทำอย่างไรถ้าฮาร์ดแวร์เสริมสนับสนุนการเปลี่ยนแปลงสภาพแวดล้อมของคุณ แต่ไม่ได้เป็นค่าเริ่มต้น จะเกิดอะไรขึ้นหากมีการเปลี่ยนแปลงที่ส่งผลกระทบในทางลบ? นี่คือสิ่งที่ควรมีการโต้ตอบ คุณสามารถกำหนดค่าและทำให้ส่วนที่เหลือเป็นแบบอัตโนมัติได้

"make silentoldconfig" เป็น verbose น้อยกว่าเล็กน้อยซึ่งอาจเป็นประโยชน์ มันยังคงมีการโต้ตอบ


นั่นไม่ใช่สิ่งที่ฉันหมายถึง ฉันได้เพิ่มรายละเอียดเพิ่มเติมลงในคำถามของฉันเพื่ออธิบายสิ่งที่ฉันต้องการบรรลุ
Jean-Francois Chevrette

0

make silentoldconfig


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