สภาพแวดล้อมการพัฒนาเฟิร์มแวร์ข้ามแพลตฟอร์มที่ทันสมัย มีคุณสมบัติหลากหลาย สำหรับข้อกำหนด UEFI และ PI จาก www.uefi.org
ประเภทโฮสต์และ Toolchain | สถานะการสร้าง | สถานะการทดสอบ | ความครอบคลุมของรหัส |
---|---|---|---|
Windows_VS2019 | |||
Ubuntu_GCC5 |
ข้อมูล CI Build เพิ่มเติม
ทูลเชน | กำหนดค่า | ดีบัก | ปล่อย | น๊อป |
---|---|---|---|---|
โปรแกรมจำลอง Pkg_Win_VS2019 | ไอเอ32 | |||
X64 | ||||
IA32 เต็ม | ||||
X64 เต็ม | ||||
OvmfPkg_Win_VS2019 | ไอเอ32 | |||
X64 | ||||
IA32 X64 | ||||
IA32 X64 เต็ม |
ทูลเชน | กำหนดค่า | ดีบัก | ปล่อย | น๊อป |
---|---|---|---|---|
ArmVirtPkg_Ubuntu_GCC5 | AARCH64 | |||
แขน | ||||
โปรแกรมจำลอง Pkg_Ubuntu_GCC5 | ไอเอ32 | |||
X64 | ||||
IA32 เต็ม | ||||
X64 เต็ม | ||||
OvmfPkg_Ubuntu_GCC5 | ไอเอ32 | |||
X64 | ||||
IA32 X64 | ||||
IA32 X64 เต็ม |
- EmulatorPkg Ubuntu GCC5 Segfaults ระหว่างการดำเนินการ
- EmulatorPkg Ubuntu GCC5 Segfaults ระหว่างการดำเนินการ
ข้อมูลบิวด์ ArmVirtPkg CI เพิ่มเติม
ข้อมูลบิวด์ EmulatorPkg CI เพิ่มเติม
ข้อมูลการสร้าง OvmfPkg CI เพิ่มเติม
เนื้อหาส่วนใหญ่ในโครงการโอเพ่นซอร์ส EDK II ใช้ BSD-2-Clause Plus Patent License โครงการโอเพ่นซอร์ส EDK II มีส่วนประกอบต่อไปนี้ซึ่งครอบคลุมโดยใบอนุญาตเพิ่มเติม:
โปรเจ็กต์โอเพ่นซอร์ส EDK II ใช้เนื้อหาจากโปรเจ็กต์อัปสตรีมเป็นโมดูลย่อย git ที่ครอบคลุมโดยสิทธิ์ใช้งานเพิ่มเติม
โครงการ EDK II ประกอบด้วยแพ็คเกจ ผู้ดูแลสำหรับแต่ละแพ็คเกจจะแสดงอยู่ใน Maintenances.txt
หากต้องการสนับสนุนโครงการ TianoCore ให้ทำตามขั้นตอนเหล่านี้
Signed-off-by
สำหรับเอกสาร:
การมีส่วนร่วมของรหัสที่ใส่ไว้ในโดเมนสาธารณะก็สามารถยอมรับได้เช่นกัน
การบริจาคโดยใช้ใบอนุญาตอื่นอาจได้รับการยอมรับ แต่จะต้องมีการตรวจสอบเพิ่มเติม
คำอธิบายการเปลี่ยนแปลงของคุณควรใช้รูปแบบมาตรฐานสำหรับข้อความยืนยัน และต้องมีลายเซ็น Signed-off-by
เพื่อติดตามว่าใครทำอะไร แพตช์ทั้งหมดที่มีส่วนร่วมจะต้องมีข้อความแจ้งว่าตนมีสิทธิ์ที่จะมีส่วนร่วมภายใต้ใบอนุญาตที่ระบุตามความรู้ของผู้มีส่วนร่วม
การทดสอบนี้เป็นไปตามที่ระบุไว้ในใบรับรองแหล่งกำเนิดสินค้าของนักพัฒนา (DCO) 1.1 ผู้ร่วมให้ข้อมูลรับรองการปฏิบัติตามโดยเพิ่มบรรทัดว่า
ลงนามโดย: ชื่อนักพัฒนา [email protected]
โดยที่ Developer Name
คือชื่อจริงของผู้สนับสนุน และที่อยู่อีเมลคือชื่อที่นักพัฒนาสามารถเข้าถึงได้ในขณะที่มีส่วนร่วม
ใบรับรองแหล่งกำเนิดสินค้าของนักพัฒนา 1.1 โดยการบริจาคให้กับโครงการนี้ ข้าพเจ้าขอรับรองว่า: (ก) การบริจาคนี้สร้างขึ้นทั้งหมดหรือบางส่วนโดยฉันและฉัน มีสิทธิ์ส่งภายใต้ใบอนุญาตโอเพ่นซอร์ส ระบุไว้ในไฟล์; หรือ (b) การบริจาคจะขึ้นอยู่กับงานก่อนหน้านี้อย่างดีที่สุด ความรู้ของฉันครอบคลุมอยู่ภายใต้โอเพ่นซอร์สที่เหมาะสม ใบอนุญาตและฉันมีสิทธิตามใบอนุญาตนั้นในการยื่นเรื่องนั้น ดำเนินการแก้ไขไม่ว่าจะสร้างขึ้นทั้งหมดหรือบางส่วนก็ตาม โดยฉันภายใต้ใบอนุญาตโอเพ่นซอร์สเดียวกัน (เว้นแต่ฉันจะเป็น อนุญาตให้ยื่นภายใต้ใบอนุญาตอื่น) ตามที่ระบุไว้ ในไฟล์; หรือ (c) การบริจาคนี้มอบให้กับฉันโดยตรงโดยบุคคลอื่น บุคคลที่ได้รับการรับรอง (ก) (ข) หรือ (ค) และข้าพเจ้าไม่ได้แก้ไข มัน. (d) ฉันเข้าใจและยอมรับว่าโครงการนี้และการมีส่วนร่วม เป็นสาธารณะและบันทึกการมีส่วนร่วม (รวมทั้งทั้งหมด ข้อมูลส่วนบุคคลที่ฉันส่งมาพร้อมกับมัน รวมถึงการลงนามของฉัน) คือ คงไว้อย่างไม่มีกำหนดและอาจแจกจ่ายต่อได้อย่างสม่ำเสมอ โครงการนี้หรือใบอนุญาตโอเพ่นซอร์สที่เกี่ยวข้อง
จาก: ชื่อผู้ร่วมให้ข้อมูลเรื่อง: [Repository/Branch PATCH] Pkg-Module: Brief-single-line-summary ข้อความยืนยันแบบเต็ม ลงนามโดย: ชื่อผู้สนับสนุน
[Repository/Branch PATCH]
ส่วนที่เหลือของข้อความยืนยันคือเนื้อหาของอีเมลgit format-patch
เป็นวิธีหนึ่งในการสร้างรูปแบบนี้Repository
เป็นตัวระบุของพื้นที่เก็บข้อมูลที่แพตช์ใช้ ควรระบุตัวระบุนี้สำหรับที่เก็บอื่นที่ไม่ใช่ edk2
เท่านั้น ตัวอย่างเช่น edk2-BuildSpecification
หรือ staging
Branch
คือตัวระบุสาขาที่แพตช์ใช้ นี้ควรระบุตัวระบุสำหรับสาขาอื่นที่ไม่ใช่เท่านั้น
edk2/master
. เช่น edk2/UDK2015
edk2-BuildSpecification/release/1.27
หรือ staging/edk2-test
Module
เป็นตัวระบุแบบสั้นสำหรับรหัสหรือเอกสารที่ได้รับผลกระทบ ตัวอย่างเช่น MdePkg
, MdeModulePkg/UsbBusDxe
, Introduction
หรือ
EDK II INF File Format
.
Brief-single-line-summary
คือบทสรุปสั้นๆ ของการเปลี่ยนแปลง
บรรทัดแรกทั้งหมดควรมีความยาวน้อยกว่า ~70 อักขระ
Full-commit-message
คำอธิบายความคิดเห็นหลายบรรทัดอย่างละเอียดการเปลี่ยนแปลง แต่ละบรรทัดควรมีความยาวน้อยกว่า ~70 ตัวอักษร
Signed-off-by
คือลายเซ็นของผู้มีส่วนร่วมเพื่อระบุพวกเขาโดยใช้ชื่อจริง/ตามกฎหมาย และที่อยู่อีเมล
โมดูลย่อยปัจจุบันที่ใช้ใน EDK II อยู่ใน .gitmodules
หากต้องการรับพื้นที่เก็บข้อมูล EDK II เต็มรูปแบบที่สามารถสร้างได้ ให้ใช้ขั้นตอนต่อไปนี้ของคำสั่ง git
git clone https://github.com/tianocore/edk2.git
cd edk2
git submodule update --init
cd ..
หากมีการอัพเดตสำหรับโมดูลย่อย ให้ใช้คำสั่ง git ต่อไปนี้เพื่อรับโค้ดโมดูลย่อยล่าสุด
cd edk2
git pull
git submodule update
หมายเหตุ: เมื่อทำการโคลน repos submodule ไม่แนะนำให้ใช้ตัวเลือก '--recursive' EDK II เองจะไม่ใช้โค้ด/คุณสมบัติใดๆ จากโมดูลย่อยในโมดูลย่อยด้านบน ดังนั้นการใช้ '--recursive' จะเพิ่มการพึ่งพาความสามารถในการเข้าถึงเซิร์ฟเวอร์ที่เราไม่ต้องการโค้ดใดๆ มาจริงๆ รวมถึงการดาวน์โหลดโค้ดโดยไม่จำเป็นที่เราจะไม่ใช้