SUSE LINUX Enterprise & openSUSE Community
มกราคม 18, 2019, 05:16:14 AM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: วิธีคอมไพล์ Linux Kernel 3.11 สไตล์ SUSE ลินุกซ์  (อ่าน 3472 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: กันยายน 06, 2013, 11:32:14 AM »


วิธีคอมไพล์ Linux Kernel 3.11 สไตล์ SUSE ลินุกซ์

ตัวอย่าง คอมไพล์ kernel 3.11 บนเซิร์ฟเวอร์ SLES11 SP3

1. ติดตั้งแพคเกจ ncurses-devel

โค๊ด:
zypper install ncurses-devel


2. ดาวน์โหลดซอสเคอร์เนลรุ่น 3.11

โค๊ด:
wget "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.tar.xz"


3. แตกไฟล์ที่ดาวน์โหลดมา

โค๊ด:
tar -Jxvf linux-3.11.tar.xz -C /usr/src/


4. คอมไพล์เคอร์เนล

โค๊ด:
cd /usr/src/linux-3.11/

cd เข้าไปตามพาทที่แตกไฟล์ก่อนหน้านี้

โค๊ด:
make mrproper

เริ่มต้นด้วยการเคียร์ temporary ไฟล์ (.o ไฟล์)
ถัดไปจะเริ่มต้นการคอนฟิกเคอร์เนล ด้วยคำสั่ง make menuconfig

สำหรับมือใหม่แนะนำให้ใช้ค่าคอนฟิกที่มีอยู่แล้ว โดยวิธีคัดลอกไฟล์คอนฟิกเดิมไปไว้ยังพาทใหม่

โค๊ด:
cp /boot/config-`uname -r` .config

แต่ถ้าต้องการปรับเปลี่ยนค่าคอนฟิกให้รันคำสั่ง

โค๊ด:
make menuconfig

หลังจากที่คอนฟิกและคาสโตไมต์เคอร์เนลเสร็จแล้ว ให้เพิ่มตัวแปร "extraversion" ในไฟล์ Makefile
โดยแก้ไขฟิวด์ "EXTRAVERSION="

ตัวอย่าง เช่น
VERSION = 3
PATCHLEVEL = 11
SUBLEVEL = 0
EXTRAVERSION = -w00t
NAME = Linux for Workgroup


5. เริ่มต้นสร้างเคอร์เนลใหม่ (Build the Kernel)

โค๊ด:
make rpm

เนื่องจากว่าเราได้คัดลอกไฟล์คอนฟิกเดิม ในขั้นตอนนี้จะขึ้นหน้าแสดงเกี่ยวกับฟีเจอร์ใหม่ของเคอร์เนลร
อ่านและเลือกฟีเจอร์ที่จำเป็นต่อการใช้งาน

ขั้นตอนนี่จะใช้เวลาพอประมาณ ขึ้นอยู่กับประสิทธิภาพการทำงานของฮาร์ดแวร์ (คอมพิวเตอร์เซิฟร์เวอร์เรา)


6. ติดตั้งเคอร์เนล

ผลลัพธ์ที่แสดง:

[...]
Wrote: /usr/src/packages/SRPMS/kernel-3.11.0_w00t_0.11_default-1.src.rpm
Wrote: /usr/src/packages/RPMS/x86_64/kernel-3.11.0_w00t_0.11_default-1.x86_64.rpm
Wrote: /usr/src/packages/RPMS/x86_64/kernel-headers-3.11.0_w00t_0.11_default-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.13989
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd kernel-3.11.0_w00t_0.11_default
+ rm -rf /var/tmp/kernel-3.11.0_w00t_0.11_default-root
+ exit 0
rm kernel-3.11.0_w00t_0.11_default.tar.gz kernel.spec
Install the new Kernel package under /usr/src/packages/RPMS/x86_64/:

cd เข้าไปตามพาทดูลิตส์ไฟล์

โค๊ด:
cd /usr/src/packages/RPMS/x86_64/ sp3-lab:/usr/src/packages/RPMS/x86_64 # ls

kernel-3.11.0_w00t_0.11_default-1.x86_64.rpm
kernel-headers-3.11.0_w00t_0.11_default-1.x86_64.rpm
sp3-lab:/usr/src/packages/RPMS/x86_64 # # rpm -ivh kernel-3.11.0_w00t_0.11_default-1.x86_64.rpm
And build the initrd

โค๊ด:
mkinitrd

จากนั้นแก้ไขไฟล์ grub menu

โค๊ด:
vim /boot/grub/menu.lst

เพิ่มบรรทัดด้านล่างนี้ และระบุพาทให้ถูกต้องเป็นอันเสร็จ

title SUSE Linux Enterprise Server 11 SP3 - 3.11 Linux for Workgroups
root (hdX,X)
kernel /boot/vmlinuz-3.11.0-w00t-0.11-default root=/dev/XXX resume=/dev/disk/XXX splash=silent crashkernel=256M-:128M showopts vga=0x314
initrd /boot/initrd-3.11.0-w00t-0.11-default
Basically, what we do here is copy the current grub entry in your system and just change the title and the image of the new Kernel.

จากนั้นให้รีบูตเครื่อง


Reference - SUSE Conversations, www.susethailand.com
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.035 วินาที กับ 20 คำสั่ง (Pretty URLs adds 0.007s, 2q)