จะบันทึกหรือส่งออกการกำหนดค่าลินุกซ์เคอร์เนลที่กำหนดเองได้อย่างไร?


11

ฉันดาวน์โหลด Linux Kernel จากwww.kernel.orgจากนั้นฉันใช้ menuconfig เพื่อปรับแต่งมัน

หลังจากการปรับแต่งมันทำงานเหมือนที่ฉันต้องการและฉันไม่ต้องการที่จะสูญเสียการตั้งค่าจริงดังนั้นฉันจึงสามารถดาวน์โหลดรุ่นเคอร์เนลรุ่นเดียวกันได้ในภายหลัง (ในเครื่องอื่นโดยตัวอย่าง) และใช้การกำหนดค่าของฉัน ฉันจะทำสิ่งนั้นได้อย่างไร


คำตอบ:


10

เพียงคัดลอก.configไฟล์จากไดเรกทอรีแหล่งที่มา ไฟล์นี้มีการกำหนดค่าปัจจุบันของคุณ

นอกจากนี้เมื่ออัปเดตแหล่งที่คุณสามารถทำได้make oldconfigเพื่อรักษาการเปลี่ยนแปลงเก่าและตัดสินใจว่าจะทำอย่างไรกับสิ่งใหม่ ๆ เท่านั้นมันจะถามเฉพาะตัวเลือกการกำหนดค่าใหม่ (อัปเดตการกำหนดค่าปัจจุบัน) คุณยังคงต้องย้าย.configไฟล์เก่าของคุณก่อนจึงจะสามารถใช้งานได้


และเก็บถาวร. config ใน github ด้วยหรือไม่
Chris K

7

ทางเลือกหนึ่งคือ:

make savedefconfig

ซึ่งจะสร้างไฟล์ชื่อdefconfigในไดเรกทอรีปัจจุบันของคุณ ตอนนี้คุณสามารถคัดลอกไฟล์นี้ไปที่arch/<architecture>/configs/my_defconfig(ระวังว่าชื่อไฟล์จะต้องลงท้ายด้วย_defconfig) เช่น:

cp defconfig arch/x86/configs/my_defconfig

เมื่อคุณทำสิ่งนี้แล้วคุณสามารถพิมพ์สิ่งต่อไปนี้เพื่อสร้าง.configจากการกำหนดค่าของคุณ (สำหรับสถาปัตยกรรมที่มีให้):

export ARCH=x86
make my_defconfig

ฉันคิดว่านี่เป็นวิธีที่ดีที่สุดในการจัดเก็บการกำหนดค่าเคอร์เนลและเมื่อมีการตั้งค่ามันจะง่ายต่อการดูแลรักษาเนื่องจากคุณสามารถสลับจากการกำหนดค่าหนึ่งไปยังอีก


ข้อดีอย่างหนึ่งของการทำเช่นmake savedefconfigนี้คือย่อเล็กสุดที่สร้างขึ้นdefconfig: github.com/torvalds/linux/blob/v4.17/scripts/kconfig/ ...... การข้ามการกำหนดค่าซ้ำซ้อนที่ผู้อื่นอ้างถึง
Ciro Santilli 法轮功病毒审查六四事件法轮功

4

คุณสามารถบันทึกไฟล์กำหนดค่าไปยังตำแหน่งที่กำหนดเองโดยตรงใน menuconfig และโหลดไฟล์ที่กำหนดเองที่นั่นเช่นกันหรือคุณสามารถบันทึกไฟล์. config จากตำแหน่งเคอร์เนลเป็นต้น /usr/src/linux/.config

หากต้องการบันทึกโดยตรงใน menuconfig ให้เลื่อนลงไปที่สองตัวเลือก Load / Save an Alternate Configuration File


1

ลงใน Kenrel Source Directory คัดลอก ".config" และเปลี่ยนเป็นไดเรกทอรีปลายทาง

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