คอมไพล์เคอร์เนล Linux บน CentOS7

Compile Linux Kernel Centos7



ในบทความนี้ฉันจะแสดงวิธีดาวน์โหลดแหล่งเคอร์เนล Linux ล่าสุดจากเว็บไซต์ทางการของ เคอร์เนลลินุกซ์ , คอมไพล์เคอร์เนลลินุกซ์จากต้นทางและใช้เคอร์เนลที่คอมไพล์แล้วบน CentOS 7 มาเริ่มกันเลย.

การตรวจสอบเคอร์เนลที่ใช้ในปัจจุบัน:

คุณสามารถดูได้จากภาพหน้าจอต่อไปนี้ว่าฉันใช้ CentOS 7









และเคอร์เนลเวอร์ชันปัจจุบันคือ 3.10







การติดตั้งข้อกำหนดเบื้องต้น:

ในการรวบรวมเคอร์เนล Linux ล่าสุดจากแหล่งที่มาบน CentOS 7 คุณต้องมีเครื่องมือสร้างและแพ็คเกจอื่นๆ ติดตั้งอยู่บนระบบปฏิบัติการ CentOS 7 ของคุณ

ก่อนที่คุณจะติดตั้งสิ่งใด ให้รันคำสั่งต่อไปนี้เพื่ออัปเดตแคชของแพ็คเกจ:



$sudo ยำ makecache

ตอนนี้คุณสามารถติดตั้งคอมไพเลอร์และไลบรารีที่จำเป็นสำหรับการคอมไพล์เคอร์เนลด้วยคำสั่งต่อไปนี้:

$sudo ยำติดตั้งncurses-develทำ gcc bcopensl-devel

กด 'y' แล้วกดเพื่อดำเนินการต่อ

ควรติดตั้งเครื่องมือสร้าง

ตอนนี้คุณต้องติดตั้งแพ็คเกจ elfutils เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง:

$sudo ยำติดตั้งelfutils-libelf-devel

กด 'y' และกดเพื่อดำเนินการต่อ

ควรติดตั้ง 'elfutils'

ตอนนี้คุณต้องติดตั้ง rpm-build ด้วยคำสั่งต่อไปนี้:

$sudo ยำติดตั้งrpm-build

กด 'y' แล้วกดเพื่อดำเนินการต่อ

ควรติดตั้งแพ็คเกจ 'rpm-build'

กำลังดาวน์โหลดที่มาของเคอร์เนลลินุกซ์:

ไปที่เว็บไซต์อย่างเป็นทางการของ Linux Kernel ที่ https://www.kernel.org และคุณควรจะเป็นหน้าต่อไปนี้

คลิกที่ปุ่มเคอร์เนลล่าสุดที่เสถียรตามที่ระบุไว้ในภาพหน้าจอด้านล่าง

เบราว์เซอร์ของคุณควรแจ้งให้คุณบันทึกไฟล์ เพียงคลิกที่ บันทึกไฟล์ และคลิก ตกลง

การดาวน์โหลดของคุณควรเริ่มต้นขึ้น


รวบรวมเคอร์เนล:

เมื่อการดาวน์โหลดเสร็จสิ้น ให้ไปที่ไดเร็กทอรีที่คุณดาวน์โหลดไฟล์ ในกรณีของฉัน มันคือไดเร็กทอรี Downloads ในไดเร็กทอรี HOME ของผู้ใช้ของฉัน

$ซีดี~/ดาวน์โหลด

จากผลลัพธ์ของ 'ls' คุณจะเห็นว่าไฟล์ที่ดาวน์โหลดคือ 'linux-4.14.10.tar.xz' ซึ่งเป็นไฟล์ tar ที่ถูกบีบอัด

ตอนนี้แตกไฟล์ tar ที่บีบอัดด้วยคำสั่งต่อไปนี้:

$ทาร์xvf linux-4.14.10.tar.xz

tar กำลังแตกไฟล์บีบอัด

เมื่อแตกไฟล์แล้ว คุณจะเห็นหน้าต่างต่อไปนี้

หลังจากการแตกไฟล์ คุณจะเห็นไดเร็กทอรีใหม่ที่มีเครื่องหมายสีแดงในภาพหน้าจอด้านล่าง ไปที่ไดเร็กทอรีด้วยคำสั่งต่อไปนี้

$ซีดีlinux-4.14.10

หากคุณเรียกใช้คำสั่งต่อไปนี้ คุณควรเห็นรายการไฟล์ปรับแต่งที่ใช้โดยเคอร์เนลที่ติดตั้งในระบบของคุณ คุณสามารถเรียกใช้คำสั่ง 'uname -r' เพื่อค้นหาคำสั่งที่คุณต้องการ ชื่อไฟล์ควรตรงกับผลลัพธ์ของคำสั่ง 'uname -r'

จากนั้นคัดลอกไฟล์ปรับแต่งไปยังไดเร็กทอรี linux-4.14.10 ด้วยคำสั่งต่อไปนี้:

$sudo cp -v /boot/config-3.10.0-693.el7.x86_64 .config

ตอนนี้รันคำสั่งต่อไปนี้:

$ทำmenuconfig

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

เมื่อเสร็จแล้วให้กดปุ่มหลาย ๆ ครั้งแล้วไปที่ดังที่แสดงในภาพหน้าจอด้านล่าง จากนั้นกด

แล้วกดอีกครั้ง

กดอีกครั้ง

ตอนนี้นำทางไปยังและกด

ไฟล์ .config ได้รับการอัปเดตสำหรับเคอร์เนลใหม่

ก่อนที่คุณจะเริ่มคอมไพล์เคอร์เนลใหม่ ตรวจสอบให้แน่ใจว่าคุณมีพื้นที่ว่างมากกว่า 20GB บนระบบไฟล์ที่คุณคอมไพล์เคอร์เนล

คุณสามารถตรวจสอบพื้นที่ว่างที่คุณมีได้ด้วยคำสั่งต่อไปนี้:

$df -ชม

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

$ทำrpm-pkg

เคอร์เนลควรจะรวบรวมได้ดี ควรใช้เวลานาน

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

ไฟล์แพ็คเกจ rpm ที่สร้างขึ้น

ตอนนี้คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งแพ็คเกจ rpm:

$sudorpm-iUv~/rpmbuild/RPMS/x86_64/ *.rpm

เมื่อการติดตั้งเสร็จสิ้น ให้รันคำสั่งต่อไปนี้เพื่อรีสตาร์ทคอมพิวเตอร์ของคุณ

$รีบูต

เมื่อคอมพิวเตอร์เริ่มทำงาน คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบเวอร์ชันของเคอร์เนลที่คุณกำลังใช้อยู่

$uname -NS

คุณควรเห็นว่าเป็นเวอร์ชันที่คุณเพิ่งติดตั้ง สำหรับฉันมันคือ '4.14.10'

นั่นคือวิธีที่คุณรวบรวมเคอร์เนลล่าสุดจากแหล่งที่มาและใช้งานบน CentOS 7 ขอบคุณสำหรับการอ่านบทความนี้