• Amused
  • Angry
  • Annoyed
  • Awesome
  • Bemused
  • Cocky
  • Cool
  • Crazy
  • Crying
  • Depressed
  • Down
  • Drunk
  • Embarrased
  • Enraged
  • Friendly
  • Geeky
  • Godly
  • Happy
  • Hateful
  • Hungry
  • Innocent
  • Meh
  • Piratey
  • Poorly
  • Sad
  • Secret
  • Shy
  • Sneaky
  • Tired
  • Wtf
  • สรุปผลการค้นหา 1 ถึง 1 จากทั้งหมด 1
    1. #1
      iCafeZone.Net ™
      กำลัง Nuts
       
      Embarrased
       

      สมัครเมื่อ
      21 May 2009
      ที่อยู่
      Chonburi
      อายุุ
      36
      โพสต์
      3,122
      คำขอบคุณที่รับสำหรับโพสต์นี้
      0 สำหรับโพสต์นี้
      ทั้งหมด 151
      บล็อกส่วนตัว
      41
      สถิติการเคลื่อนไหว
      แถบการเคลื่อนไหว
      ผลงานที่ได้รับ Happy Anniversary!vB ExperiencedI Survived a Month!No Longer a NewbieFresh Meat
      รางวัลที่ได้รับ certificate
      ความดี
      49

      มาตรฐาน คอมไพล์เคอร์เนลสไตล์เดเบียน

      ดเบียนมี kernel image คอมไพล์สำเร็จมาให้แล้ว ในแพกเกจ linux-image-version-revision-cpu (เช่น linux-image-2.6.22-1-686) โดยจะเปิดตัวเลือกแบบครอบจักรวาล และ build module ทั้งหมด เพื่อให้ใช้ได้กับทุกเครื่อง แต่ถ้าคุณต้องการหรือจำเป็นต้องคอมไพล์ใช้เอง ก็จะมีวิธีคอมไพล์ในแบบฉบับของเดเบียน โดยสร้างเป็น deb package ที่สามารถใช้ติดตั้งซ้ำได้หลายครั้ง

      สรุปขั้นตอนการคอมไพล์และติดตั้ง

      แพกเกจเครื่องมือคอมไพล์เคอร์เนลก็คือ kernel-package และถ้าคุณใช้ menuconfig ก็จะต้องการ libncurses-dev ด้วย
      # aptitude install kernel-package libncurses-dev
      สำหรับซอร์สของเคอร์เนล คุณสามารถติดตั้งจากแพกเกจของเดเบียน หรือจะดาวน์โหลดจาก kernel.org ก็ได้ แต่โดยทั่วไป คงใช้ของเดเบียนมากกว่า
      # aptitude install linux-source-2.6.22
      ซึ่งจะติดตั้งซอร์สในรูปของ tarball ไว้ที่ /usr/src เราก็ไปแตกซอร์สซะ:
      $ cd /usr/src
      $ tar xjf linux-source-2.6.22.tar.bz2
      จากนั้น ก็ตั้งค่าเคอร์เนลตามปกติ โดยใช้ menuconfig (หรือถ้าเคยคอมไพล์มาแล้วในรุ่นก่อน ก็อาจจะ copy config มา แล้ว make oldconfig ตามแต่กรณี):
      $ cd linux-source-2.6.22
      $ make menuconfig
      แล้วก็ลงมือคอมไพล์:
      $ make-kpkg clean
      $ fakeroot make-kpkg kernel_image
      มันจะคอมไพล์และสร้าง linux-image-2.6.22_2.6.22-10.00.Custom_i386.deb ที่ไดเรกทอรีชั้นถัดขึ้นไป เราก็สามารถติดตั้งได้เลย
      $ su
      # dpkg -i ../linux-image-2.6.22_2.6.22-10.00.Custom_i386.deb
      จากนั้น ตรวจสอบว่าต้องอัปเดตเมนูของ bootloader หรือไม่ โดยถ้าใช้ grub ก็สั่ง:
      # update-grub
      หรือถ้าใช้ lilo:
      # lilo
      แล้วก็บูตเครื่องใหม่ เกร็ดของคำสั่ง

      เกร็ดของการสั่งคอมไพล์ที่ควรกล่าวถึง จะอยู่ตรงบรรทัดนี้:
      $ fakeroot make-kpkg kernel_image
      คำสั่ง fakeroot เป็นคำสั่งที่จำเป็นต้องใช้ในการ build deb โดยทั่วไป ไม่เฉพาะแพกเกจของเคอร์เนล เนื่องจากในการสร้างแพกเกจ จะต้องมีการ chown แฟ้มต่างๆ ให้เป็นของ root ก่อนที่จะแพ็ก ซึ่งการ chown ดังกล่าว โดยปกติจะต้องการสิทธิ์ของ root (สังเกตว่า ตลอดกระบวนการคอมไพล์ ผมใช้สิทธิ์ผู้ใช้ปกติ โดยพรอมต์จะเป็น $ ไม่ใช่ # แต่ถ้าคุณคอมไพล์ขณะเป็น root คำสั่ง fakeroot ก็ไม่จำเป็น แต่คุณก็รู้ ว่าใส่เสื้อเบอร์ S พร้อมกางเกงในทับข้างนอกตลอดเวลา มันประเจิดประเจ้อแค่ไหน) แต่คำสั่ง fakeroot จะ override system call บางตัว เช่น chown(), stat() ที่ทำให้ดูเหมือน chown ได้ภายใน environment ที่เรียก แต่ไม่ได้เกิดขึ้นจริงใน file system เช่น คุณสั่ง chown root.root x แฟ้ม x ก็จะปรากฏใน environment ที่เรียกว่าเป็นของ root แต่ถ้าออกมาดูที่ file system จริง จะไม่มีการ chown เกิดขึ้นแต่อย่างใด ดังนั้น ไม่ต้องกลัวชื่อคำสั่ง ที่ทำให้ดูเหมือนสร้างช่องโหว่ในระบบรักษาความปลอดภัย ทุกอย่างยังอยู่ในการควบคุม สิ่งที่เกิดขึ้น แค่ทำให้เพียงพอต่อการสร้างแพกเกจเท่านั้น แน่นอนว่ามีอีกทางเลือกหนึ่งที่สามารถใช้แทน fakeroot ได้ คือ sudo ซึ่งจะเป็นการเปลี่ยนแปลงใน file system จริงๆ ก่อนแพ็ก ผลที่ได้ ก็ไม่ต่างกันมากนัก แต่ผมคิดว่า ใช้ fakeroot ปลอดภัยกว่า sudo ส่วนที่เหลือ คือการสั่ง make-kpkg ซึ่งมีตัวเลือกที่สามารถเพิ่มเติมได้ เช่น --append-to-version fooใช้สำหรับเพิ่มส่วนต่อท้ายเวอร์ชันของเคอร์เนล ซึ่งจะปรากฏในคำสั่ง uname -r--revision xใช้ กำหนด revision ของ deb ที่จะสร้าง ซึ่งจะมีผลสำหรับการนับรุ่นแพกเกจเท่านั้น ไม่มีผลต่อ image ที่ติดตั้ง--initrdกำหนดว่าจะ build initial RAM drive (initrd) image ด้วย ตัวอย่างเช่น ถ้าคุณสั่ง:
      # fakeroot make-kpkg --append-to-version -686-smp --initrd \
      --revision 10.01 kernel_image

      คุณจะได้ linux-image-2.6.22-686-smp_2.6.22-10.01_i386.deb ออกมา ซึ่งเมื่อติดตั้งแล้ว ตรวจสอบรุ่นของเคอร์เนลด้วย uname -r จะได้ผลลัพธ์เป็น 2.6.22-686-smp

      สิ่งที่จะ build

      นอกจาก kernel_image แล้ว make-kpkg ยังสามารถ build แพกเกจอื่นได้อีก โดยสั่งเป็นอาร์กิวเมนต์ในบรรทัดคำสั่ง เช่น modules_imageในกรณีที่ติดตั้งแพกเกจซอร์สของมอดูลของเคอร์เนล (เช่น sl-modem-source) ซึ่งเมื่อแตก tarball แล้ว จะติดตั้งตัวเองไว้ที่ /usr/src/modules เมื่อสั่ง make-kpkg modules_image จะไปคอมไพล์และสร้าง deb ของแพกเกจเหล่านั้น แต่หลังจากมีแพกเกจ module-assistant แล้ว วิธีนี้เริ่มจะเลิกใช้กันแล้วเหมือนกันkernel_headersใช้สร้างแพกเกจ linux-headers-version ซึ่งจะติดตั้งเฉพาะ header สำหรับการคอมไพล์มอดูล แพกเกจนี้จำเป็นเมื่อคุณคอมไพล์เคอร์เนลแจกจ่ายชาวบ้านเท่านั้น ถ้าคุณคอมไพล์ใช้เอง การมีซอร์สของเคอร์เนลอยู่ ก็ถือว่าเหลือเฟือkernel_sourceใช้สร้างแพกเกจ linux-source-version อาจจะได้ใช้เมื่อคุณคอมไพล์เคอร์เนลที่มีการแพตช์เพิ่มเพื่อแจกจ่ายชาวบ้าน แล้วอยากให้เขา build เองได้ด้วย มีอีกเพียบ แต่โดยสรุปแล้ว เรามักได้ใช้อยู่สอง target คือ clean และ kernel_image

      การตั้งค่าการคอมไพล์

      คุณสามารถตั้งค่าของการคอมไพล์ของ make-kpkg ได้ที่แฟ้ม /etc/kernel-pkg.conf หรือ ~/.kernel-pkg.conf ค่าที่น่าสนใจได้แก่: maintainerกำหนดชื่อผู้สร้างแพกเกจ ซึ่งคุณควรเปลี่ยนเป็นชื่อคุณ ถ้าจะ build package แจกจ่ายemailที่อยู่เมลของคุณ ซึ่งจะใช้กำกับต่อท้ายชื่อ maintainerpgpชื่อของลายเซ็น PGP ของคุณ ในกรณีที่ต้องการเซ็นกำกับแพกเกจที่สร้าง สำหรับค่าอื่นๆ อ่านรายละเอียดการตั้งค่าได้ที่ /usr/share/doc/kernel-package/README.gz เอกสาร



      Credit : http://debianclub.org/node/9
      WARNING
      คำเตือน: นี่คือกระทู้เก่าแล้ว
      การสนทนานี้เป็นที่เก่ากว่า 90 วัน ข้อมูลที่ปรากฏอยู่ในนั้นอาจไม่เป็นปัจจุบัน


      กระทู้อื่นๆล่าสุดในฟอรั่มเดียวกันนี้:

      แก้ไขครั้งล่าสุดโดย admin : 07-26-2009 เมื่อ 13:37:57
      หากจะโพสตอบว่าชอบใจ ขอบใจ หรือ ขอบคุณ กรุณาใช้ปุ่ม
      เพื่อลดการใช้ database และความสวยงาม
      Best Regards,
      ขอความกรุณาโพสต์ให้กำลังใจ*กระทู้ที่มีสาระ* ผู้อื่นด้วยง่ายๆ โดยการกดปุ่ม( ) เพียงเท่านี้ผมและคนอื่นๆก็จะมีกำลังใจในการสรรหาสิ่งดีๆมาแล้วล่ะ ครับ เพื่อสังคมและบอร์ดที่น่าอยู่ด้วยน่ะครับ
      อยากเขียน blog เชิญที่ http://www.icafezone.net/blogs/
      อยากหัดเขียนบทความก็ตามหัวข้อใน ฟอรั่มเลย ดีจริงทีมงานจะย้ายลง หน้าบทความให้ครับ

      รับสมัคร mod ช่วยดูแลนะครับ http://www.icafezone.net/announcement/รับสมัคร-staff-reviews-moduretor.html
      ยินดีรับฟังข้อเสนอแนะครับ http://www.icafezone.net/feedback/
      http://www.icafeserver.com โฮสคุณภาพ ราคาสบายๆ !! จดโดเมน .com.net.org.biz.info.us.cc.tv
      อ้างอิงข้อความ อ้างอิงข้อความ

     

     

    ป้ายกำกับของกระทู้นี้

    กฎการโพสต์ข้อความ

    • คุณ ไม่สามารถ ตั้งกระทู้ใหม่ได้
    • คุณ ไม่สามารถ ตอบกระทู้ได้
    • คุณ ไม่สามารถ แนบไฟล์ได้
    • คุณ ไม่สามารถ แก้ไขข้อความโพสต์ได้
    •  

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90