เคอร์เนล BSD เคอร์เนล Linux [ปิด]


21

ฉันอยากรู้ในแง่เทคนิค; ความแตกต่างระหว่างBSD KernelและLinux Kernelคืออะไร
ใน Linux เราสามารถดาวน์โหลดเคอร์เนลแหล่งที่มาแล้วpatchมันและmakeและmake modulesมัน แม้จะมีเครื่องมือในการแก้ไขเคอร์เนลconfigเช่นmenuconfig, xconfigและ ...
แต่ฉันไม่สามารถหาทุ่งกว้างใหญ่ขนาดนั้นบน BSD ได้ ก่อนอื่นฉันสามารถดาวน์โหลดได้BSD kernelหรือไม่ ฉันจะกำหนดค่าได้อย่างไร และ ...

ดังนั้นสิ่งที่ฉันขอคือ: (โดยไม่อ้างอิงถึงบรรพบุรุษและนิรุกติศาสตร์)

  • คือKernelในแต่ละกรณี (ใน) ขึ้นอยู่กับการจัดจำหน่ายหรือไม่?
  • วิธีกำหนดค่าแต่ละรายการKernelและเครื่องมือสำหรับงาน
  • แต่ละงานสามารถแก้ไขได้หรือไม่
  • ความพร้อมใช้งานของkernelขอบเขตการกระจายภายนอก ( Kernel Sources)
  • รสชาติที่Kernelsมีในแต่ละกรณี ( X??BSD/ Linux) ถูกใจXEN/Vmware/GEN?

2
ไม่มีเคอร์เนล BSD เดียวเนื่องจากมีหนึ่งเคอร์เนล Linux ... เคอร์เนล FreeBSD, เคอร์เนล NetBSD, เคอร์เนล OpenBSD ฯลฯ ล้วนแตกต่างกันไป คุณควรเลือกหนึ่งในนั้นและอ่านเอกสารเกี่ยวกับการดาวน์โหลดและรวบรวม
lgeorget

คำตอบ:


16

ก่อนอื่นคุณพูดถึง BSD ราวกับว่าพวกเขาเป็นเพียงคนเดียว ในทางเทคนิคแล้วผมคิดว่ามีความเป็นต้นฉบับหนึ่งที่พวกเขากำลังทั้งหมดมาจากที่ผ่านมาปล่อยในปี 1995 การค้นหาสำหรับ "4.4 Lite2" พบสำเนาหลายคุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในวิกิพีเดียบทความการจัดจำหน่ายซอฟแวร์เบิร์กลีย์

ได้มาจากสิ่งนี้ - ท่ามกลางหลาย ๆ สิ่ง* - FreeBSD, OpenBSD และ NetBSD ทั้งสามเป็นโอเพ่นซอร์สและคุณสามารถรับซอร์สโค้ดได้ ใครบางคนที่กล่าวว่า BSD ในปัจจุบันอาจหมายถึงหนึ่งในนั้น

หากคุณต้องการได้อย่างรวดเร็วเรียกพวกเขามีความเป็นFreeBSD และ Linux Kernel ข้ามอ้างอิง ไซต์นั้นยังมีเมล็ดเหมือน Unix อื่น ๆ

ซึ่งแตกต่างจาก Linux ซึ่งมีอยู่เป็นโครงการเคอร์เนลแบบสแตนด์อโลนเมล็ด BSD มักจะเป็นส่วนหนึ่งของโครงการขนาดใหญ่ - พวกเขาไม่ได้เป็นอิสระจาก distro ตัวอย่างเช่นเคอร์เนล FreeBSD เป็นส่วนหนึ่งของโครงการ FreeBSD และได้รับการบำรุงรักษาในพื้นที่เก็บข้อมูลการโค่นล้มเช่นเดียวกับส่วนที่เหลือของ distro

มีบางสถานที่เคอร์เนลถูกนำมาใช้โดยไม่ได้ส่วนที่เหลือของ userland เช่นในมีพอร์ต kFreeBSD Debian ของ


*: บางส่วนของ BSD ดั้งเดิมได้ไปไกลแล้วแน่นอน ตัวอย่างเช่นคุณจะเห็นบันทึกเกี่ยวกับซอฟต์แวร์บางส่วนที่เป็นลิขสิทธิ์ The Regents of University of California ทั่วทุกแห่ง ส่วนมากนั้นก็คือ BSD หากคุณอ่านประกาศที่มีหลายหน้าซึ่งมาพร้อมกับ Windows ตัวอย่างเช่นมี


3
คุณหมายถึงแต่ละBSDdistro มีมันkernelเป็นของตัวเองตรงกันข้ามกับLinuxditros ที่ทุกคนมีเหมือนกัน?
r004

2
@ r004 ใช่แต่ละคนมีเคอร์เนลของตัวเอง
Derobert

7

นี่เป็นวิธีเฉพาะสำหรับ FreeBSD แต่วิธีการและองค์กรนั้นเหมือนกันสำหรับ OpenBSD และ NetBSD: ซึ่งครอบคลุมถึงระบบ BSD หลัก 3 ตัวฟรี

เพื่อให้ได้แหล่งที่มา (ของทั้งระบบ) นั้นค่อนข้างง่ายเนื่องจากคุณสามารถติดตั้งทุกอย่างที่จำเป็นระหว่างการติดตั้งมาตรฐาน (ดูการติดตั้ง FreeBSD ): ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้คุณยังสามารถได้รับแหล่งทั้งระบบผ่านการโค่นล้ม: รับ FreeBSD แม้ว่า SVN

จากนั้นคุณคัดลอก / แก้ไขไฟล์กำหนดค่าเคอร์เนลของคุณ:

cd /usr/src/sys/<your_arch>/conf
cp GENERIC MYKERNEL

น่าเสียดายที่ไม่มีเครื่องมือแฟนซีเช่นmenuconfigหรือxconfigแต่การกำหนดค่าค่อนข้างสั้นและค่อนข้างง่ายต่อการอ่าน / แก้ไข

vi MYKERNEL

ในที่สุดคุณสามารถสร้างและติดตั้งเคอร์เนลที่กำหนดเองของคุณ:

make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL

ข้อมูลมากกว่านี้:

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