วิธีปรับแต่งเคอร์เนล Ubuntu ของคุณ
การปรับแต่งเคอร์เนลไม่ได้มีไว้สำหรับทุกคน โปรดทราบก่อนที่คุณจะลองทำสิ่งนี้ซึ่งมันจะทำให้ระบบของคุณพัง.
มีสาเหตุหลายประการที่คุณต้องการปรับแต่งเคอร์เนลของคุณ คุณอาจต้องการลดขนาดเคอร์เนลของคุณเป็นบริการที่จำเป็นเท่านั้นโดยเฉพาะหากคุณใช้เซิร์ฟเวอร์หรืออุปกรณ์เฉพาะที่จำเป็นต้องใช้สิ่งจำเป็นเท่านั้น คุณอาจต้องแก้ไขเคอร์เนลเพื่อรองรับฮาร์ดแวร์ที่ไม่รองรับเคอร์เนลที่คุณใช้งานอยู่ในปัจจุบัน.
บทความนี้จะไม่อธิบายวิธีการแก้ไขเคอร์เนลของคุณเพียงแค่วิธีการปรับแต่งปัจจุบันของคุณ ฉันจะมีบทความติดตามอื่นที่อธิบายถึงวิธีการแก้ไขเคอร์เนลของคุณและเหตุผลบางประการที่คุณควรทำ.
ในการเริ่มต้นเราจำเป็นต้องทราบว่าเคอร์เนลเวอร์ชันใดที่เรากำลังทำงานอยู่ เราจะใช้คำสั่ง uname สำหรับสิ่งนั้น
$ uname -r
2.6.17-10 ทั่วไป
ตอนนี้เราจำเป็นต้องติดตั้งแหล่ง linux สำหรับเคอร์เนลของคุณโปรดทราบว่าฉันกำลังใช้เคอร์เนล 2.6.17-10 ดังนั้นบรรทัดตัวติดตั้งจะแสดงสิ่งนั้น สำหรับวัตถุประสงค์ของบทความนี้คุณสามารถแทนที่หมายเลขเคอร์เนลสำหรับสิ่งที่คุณกำลังเรียกใช้ เราต้องติดตั้งไลบรารี curses และเครื่องมืออื่น ๆ เพื่อช่วยในการรวบรวม.
sudo apt-get install linux-source-2.6.17 เคอร์เนลแพคเกจ libncurses5-dev fakeroot
หากคุณสงสัยว่าแหล่งที่มาของลินุกซ์ติดตั้งอยู่ที่ใดคุณสามารถใช้คำสั่ง dpkg เพื่อบอกไฟล์ภายในแพ็คเกจ นี่คือผลลัพธ์ในระบบของฉัน:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(ตัดแต่ง)
เราจะเห็นว่าแหล่งที่ได้รับการติดตั้งในไดเรกทอรี / usr / src ในไฟล์ซิป.
เพื่อให้ง่ายขึ้นเราจะทำให้ตัวเองอยู่ในโหมดรูทโดยการใช้ sudo เพื่อเปิดเปลือกใหม่ มีวิธีอื่นในการทำเช่นนี้ แต่ฉันชอบวิธีนี้มากกว่า.
sudo / bin / bash
ตอนนี้เปลี่ยนไดเรกทอรีเป็นแหล่งที่มาเพื่อให้เราสามารถติดตั้ง โปรดทราบว่าคุณอาจต้องติดตั้งยูทิลิตี้ bunzip หากยังไม่ได้ติดตั้ง (มันเป็นของฉัน)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
ทำสำเนาของคอนฟิกูเรชันเคอร์เนลที่มีอยู่เพื่อใช้สำหรับกระบวนการคอมไพล์แบบกำหนดเอง โปรดทราบว่าตัวละคร 'เป็นหนึ่งในตัวหนอนด้านล่าง ~
cp / boot / config-'uname -r '/usr/src/linux/.config
ตอนนี้เราจะเปิดตัวยูทิลิตี้ที่จะให้เราปรับแต่งเคอร์เนล:
cd / usr / src / linux
ทำให้ menuconfig
ขั้นแรกให้ลงไปที่โหลดไฟล์กำหนดค่าสำรองและโหลดไฟล์. config (เพิ่งกด Enter)
ตอนนี้เราอยู่ในยูทิลิตี้เราสามารถตั้งค่าตัวเลือกสำหรับเคอร์เนลที่กำหนดเองของเรา การนำทางค่อนข้างง่ายมีตำนานอยู่ด้านบนหากคุณหลงทาง ฉันตัดสินใจเลือกระบบเครือข่ายและกดปุ่ม Enter เพื่อไปยังหมวดหมู่นั้น.
วิทยุสมัครเล่นสนับสนุน? มีอะไรติดอยู่ในนั้นบ้าง? คุณจะสังเกตด้วย * ว่ามันติดตั้งไว้ในเคอร์เนล.
โดยกดปุ่ม? สำคัญเราสามารถเห็นความช่วยเหลือสำหรับรายการนั้น นี่คือคำอธิบาย:
ฉันจะปิดการใช้งานทันที ทำไมบนโลกถึงติดตั้งในเคอร์เนลของฉันอยู่ดี ฉันกด Esc เพื่อออกจากหน้าจอความช่วยเหลือแล้วกด N เพื่อแยกสิ่งนั้นออกจากเคอร์เนลของฉัน.
เมื่อคุณเลือกตัวเลือกที่คุณต้องการเสร็จแล้วให้กด Exit แล้วบันทึกการกำหนดค่าเมื่อได้รับแจ้ง.
ตอนนี้เรามีการกำหนดค่าที่พร้อมสำหรับการคอมไพล์แล้ว ก่อนอื่นเราจะทำความสะอาดให้เพื่อให้แน่ใจว่าทุกอย่างพร้อมสำหรับการคอมไพล์.
make-kpkg สะอาด
ต่อไปเราจะรวบรวมเคอร์เนลจริง การดำเนินการนี้จะใช้เวลานานเกินไปดังนั้นหาสิ่งที่น่าสนใจ.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
กระบวนการนี้จะสร้างไฟล์. deb สองไฟล์ใน / usr / src ที่มีเคอร์เนล ไฟล์ linux-image **** เป็นอิมเมจเคอร์เนลจริงและไฟล์อื่น ๆ ประกอบด้วยไฟล์คุณสามารถติดตั้งได้ทั้งคู่ด้วย dpkg ชื่อไฟล์อาจแตกต่างกันในระบบของคุณ.
โปรดทราบว่าเมื่อคุณเรียกใช้คำสั่งต่อไปนี้สิ่งนี้จะตั้งเคอร์เนลใหม่เป็นเคอร์เนลเริ่มต้นใหม่ สิ่งนี้สามารถทำลายสิ่งต่าง ๆ ! หากเครื่องของคุณไม่บูตคุณสามารถกด Esc ที่เมนูการโหลด GRUB และเลือกเคอร์เนลเก่าของคุณ จากนั้นคุณสามารถปิดการใช้งานเคอร์เนลใน /boot/grub/menu.lst หรือลองและคอมไพล์อีกครั้ง.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
ตอนนี้รีบูตเครื่องของคุณ หากทุกอย่างทำงานได้คุณควรใช้เคอร์เนลที่กำหนดเองใหม่ของคุณ คุณสามารถตรวจสอบสิ่งนี้ได้โดยใช้ uname โปรดทราบว่าจำนวนที่แน่นอนจะแตกต่างกันในเครื่องของคุณ.
uname -r
2.6.17.14-Ubuntu1 กำหนดเอง
ฉันวางแผนที่จะเขียนบทความเกี่ยวกับการปรับแต่งเคอร์เนลดังนั้นสมัครสมาชิกฟีด RSS เพื่อรับการอัปเดต.
นอกจากนี้เพื่อประโยชน์ในการเปิดเผยอย่างเต็มรูปแบบฉันได้เรียนรู้วิธีการทำเช่นนี้จากบทความที่ HowtoForge ซึ่งเป็นเว็บไซต์ที่ยอดเยี่ยมสำหรับบทเรียนขั้นสูงบางอย่างใน linux คุณจะทราบว่าขั้นตอนต่าง ๆ ในบทความนี้มีความคล้ายคลึงกันแม้ว่าฉันจะพยายามทำให้บทความนี้เป็น“ Ubuntu”.