OpenBMC เป็นการกระจาย Linux สำหรับตัวควบคุมการจัดการที่ใช้ในอุปกรณ์เช่นเซิร์ฟเวอร์, สวิตช์ชั้นนำด้านบนหรืออุปกรณ์ RAID มันใช้ Yocto, OpenEmbedded, SystemD และ D-BUS เพื่อให้สามารถปรับแต่งได้ง่ายสำหรับแพลตฟอร์มของคุณ
ดูเอกสาร Yocto สำหรับข้อกำหนดล่าสุด
sudo apt install git python3-distutils gcc g++ make file wget
gawk diffstat bzip2 cpio chrpath zstd lz4 bzip2
sudo dnf install git python3 gcc g++ gawk which bzip2 chrpath cpio
hostname file diffutils diffstat lz4 wget zstd rpcgen patch
git clone https://github.com/openbmc/openbmc
cd openbmc
บิลด์ใด ๆ ต้องการสภาพแวดล้อมที่ตั้งค่าตามเป้าหมายฮาร์ดแวร์ของคุณ มีสคริปต์พิเศษในรูทของที่เก็บนี้ที่สามารถใช้ในการกำหนดค่าสภาพแวดล้อมตามต้องการ สคริปต์เรียกว่า setup
และใช้ชื่อเป้าหมายฮาร์ดแวร์ของคุณเป็นอาร์กิวเมนต์
สคริปต์จะต้องมีการจัดหาในขณะที่อยู่ในไดเรกทอรีด้านบนของโคลนที่เก็บ OpenBMC และหากทำงานโดยไม่มีอาร์กิวเมนต์จะแสดงรายการเป้าหมายฮาร์ดแวร์ที่รองรับดูตัวอย่างต่อไปนี้:
$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:
...
รายการเครื่องจักรที่รองรับที่สมบูรณ์ยิ่งขึ้นสามารถพบได้ภายใต้ meta-phosphor/docs
เมื่อคุณรู้เป้าหมาย (เช่น Romulus) แล้วให้แหล่งที่มาของสคริปต์ setup
ดังนี้:
. setup romulus
bitbake obmc-phosphor-image
รายละเอียดเพิ่มเติมสามารถพบได้ในที่เก็บเอกสาร
ชุมชน OpenBMC ดูแลชุดการสอนผู้ใช้ใหม่สามารถผ่านเพื่อเพิ่มความเร็วในการพัฒนา OpenBMC ที่นี่
ดำเนินการโดยสมาชิกของชุมชน OpenBMC GitHub ได้รับการรวบรวมและทดสอบผ่านเซิร์ฟเวอร์ Jenkins ของเรา การกระทำจะดำเนินการผ่านการทดสอบสองระดับ ในระดับที่เก็บ MakeFile make check
คำสั่งจะถูกเรียกใช้ ในระดับระบบการกระทำจะถูกสร้างขึ้นในภาพเฟิร์มแวร์และทำงานด้วยโมเดล QEMU ของ ARM-softmmu กับการทดสอบ CI
ดำเนินการโดยผู้ที่ไม่ได้เป็นสมาชิกจะไม่ดำเนินการผ่านการทดสอบ CI โดยอัตโนมัติ หลังจากการตรวจสอบด้วยสายตาของการกระทำแล้วการวิ่ง CI สามารถทำได้โดยผู้ตรวจสอบด้วยตนเอง
การทดสอบอัตโนมัติกับรุ่น QEMU พร้อมกับระบบที่รองรับจะดำเนินการ โครงการ OpenBMC ใช้กรอบหุ่นยนต์สำหรับระบบอัตโนมัติทั้งหมด ที่เก็บการทดสอบที่สมบูรณ์ของเราสามารถพบได้ที่นี่
การสนับสนุนแพคเกจฮาร์ดแวร์และซอฟต์แวร์เพิ่มเติมยินดีต้อนรับเสมอ โปรดปฏิบัติตามแนวทางที่มีส่วนร่วมเมื่อทำการส่ง คาดว่าการมีส่วนร่วมจะมีกรณีทดสอบ
ปัญหาได้รับการจัดการใน GitHub ขอแนะนำให้คุณค้นหาปัญหาก่อนที่จะเปิดใหม่
ก่อนอื่นโปรดทำการค้นหาบนอินเทอร์เน็ต มีโอกาสที่ดีคำถามของคุณได้รับการถามแล้ว
สำหรับคำถามทั่วไปโปรดใช้แท็ก OpenBMC บนสแต็กล้น โปรดตรวจสอบการอภิปรายเกี่ยวกับการออกใบอนุญาตสแต็กล้นก่อนที่จะโพสต์รหัสใด ๆ
สำหรับการอภิปรายทางเทคนิคโปรดดูข้อมูลติดต่อด้านล่างสำหรับข้อมูล Discord และรายชื่อผู้รับจดหมาย โปรดอย่ายื่นปัญหาเพื่อถามคำถาม คุณจะได้รับผลลัพธ์ที่เร็วขึ้นโดยใช้รายชื่อผู้รับจดหมายหรือความไม่ลงรอยกัน
นี่เป็นคำถามทั่วไปโดยเฉพาะอย่างยิ่งเกี่ยวกับบอร์ดจากผู้ขายที่ได้รับความนิยม คุณสามารถดูรายการบอร์ดที่รองรับได้โดยใช้ . setup
(โดยไม่มีข้อโต้แย้งเพิ่มเติม) ในรากของทรีแหล่ง OpenBMC แพลตฟอร์มส่วนใหญ่ที่สนับสนุนโดย OpenBMC เป็นเซิร์ฟเวอร์เฉพาะที่ดำเนินการโดย บริษัท ที่ใช้ดาต้าเซ็นเตอร์ขนาดใหญ่ แต่เซิร์ฟเวอร์ COTS ทั่วไปบางแห่งได้รับการสนับสนุนในระดับที่แตกต่างกัน
หากเมนบอร์ดของคุณไม่ได้อยู่ใน . setup
ไม่ได้รับการสนับสนุนในปัจจุบัน การพอร์ต OpenBMC ไปยังแพลตฟอร์มใหม่เป็นกิจการที่ไม่สำคัญทำอย่างดีเยี่ยมด้วยความช่วยเหลือของแผนผังและเอกสารอื่น ๆ จากผู้ผลิต (ไม่สามารถใช้งานได้อย่างสมบูรณ์ และอาจเกี่ยวข้องกับความเสี่ยงที่มากขึ้นของความเสียหายของฮาร์ดแวร์)
อย่างไรก็ตาม แม้ว่าเมนบอร์ดของคุณจะอยู่ในรายการที่ระบุไว้ในผลลัพธ์ . setup
มีคำเตือนสองอย่างที่ควรคำนึงถึง อย่างแรกไม่ใช่พอร์ตทั้งหมดที่ครบกำหนดเท่ากัน - บางแพลตฟอร์มได้รับการสนับสนุนดีกว่าอื่น ๆ และการใช้งานบนบอร์ด "รองรับ" บางตัวอาจมี จำกัด ประการที่สองการสนับสนุนสำหรับเมนบอร์ดนั้นไม่เหมือนกับการสนับสนุนระบบที่สมบูรณ์ - โดยเฉพาะอย่างยิ่งการควบคุมของแฟน ๆ นั้นขึ้นอยู่กับมิติไม่เพียง แต่เมนบอร์ด แต่ยังรวมถึงแฟน ๆ ที่เชื่อมต่อกับมันและแชสซีที่บอร์ดและแฟน ๆ ตั้งอยู่ด้วย ซึ่งทั้งสองอย่างนี้สามารถแตกต่างกันอย่างมากระหว่างระบบโดยใช้โมเดลบอร์ดเดียวกัน ดังนั้นในขณะที่คุณสามารถรวบรวมและติดตั้ง OpenBMC Build บนระบบของคุณและรับฟังก์ชั่นพื้นฐานบางอย่างขอบขรุขระ (เช่นพัดลมระบายความร้อนของคุณทำงานอย่างต่อเนื่องอย่างต่อเนื่อง) มีแนวโน้ม
ดูเพิ่มเติมที่ "เครื่องจักรที่รองรับ"
ดำน้ำลึกลงไปใน OpenBMC โดยเปิดพื้นที่เก็บข้อมูลเอกสาร
คณะกรรมการกำกับดูแลด้านเทคนิค (TSC) เป็นแนวทางในโครงการ สมาชิกคือ: