กลับไปหน้าบทความ

อ่าน 4 นาที

เปิดระบบฝังตัว

OpenEmbedded ( OE ) เป็น เฟรมเวิร์ก อัตโนมัติสำหรับการสร้าง และ สภาพแวดล้อม การคอมไพล์ข้ามแพลตฟอร์ม ที่ใช้ในการสร้าง ระบบปฏิบัติการ Linux สำหรับ อุปกรณ์ฝังตัว [ 2 ] เฟรม...

เปิดระบบฝังตัว

เปิดระบบฝังตัว
นักพัฒนานักพัฒนามากกว่า 75 คน[ 1 ]
ระบบปฏิบัติการลินุกซ์
แพลตฟอร์มข้ามแพลตฟอร์ม
พิมพ์สร้างระบบอัตโนมัติ
ใบอนุญาตเอ็มไอที
เว็บไซต์www.openembedded.org แก้ไขข้อมูลนี้บนวิกิดาต้า
ที่เก็บข้อมูล
  • git .openembedded .org

OpenEmbedded ( OE ) เป็นเฟรมเวิร์กอัตโนมัติสำหรับการสร้าง และ สภาพแวดล้อม การคอมไพล์ข้ามแพลตฟอร์มที่ใช้ในการสร้างระบบปฏิบัติการ Linuxสำหรับอุปกรณ์ฝังตัว [ 2 ] เฟรมเวิร์กนี้ได้รับการพัฒนาโดยชุมชน OpenEmbedded ซึ่งก่อตั้งขึ้นอย่างเป็นทางการในปี 2546 OpenEmbedded เป็นระบบการสร้างที่แนะนำของโครงการ Yoctoซึ่งเป็น กลุ่มงาน ของมูลนิธิ Linuxที่ให้ความช่วยเหลือบริษัทเชิงพาณิชย์ในการพัฒนาระบบที่ใช้ Linux สำหรับผลิตภัณฑ์ฝังตัว

ระบบการสร้างซอฟต์แวร์ใช้BitBake เป็นพื้นฐาน ไฟล์การกำหนดค่า BitBake หรือที่เรียกว่า recipe จะระบุข้อมูลต่างๆ เช่น ตำแหน่งของไลบรารีและซอร์สโค้ด วิธีการสร้างแพ็กเกจ และวิธีการติดตั้งและถอนการติดตั้งแพ็กเกจที่คอมไพล์แล้ว เครื่องมือของ OpenEmbedded ใช้ recipe เหล่านี้ในการดึงและแก้ไขซอร์สโค้ด คอมไพล์และเชื่อมโยงไบนารี สร้างแพ็กเกจไบนารี ( deb , rpm , ipk) และสร้างอิมเมจ ที่สามารถบูต ได้

ในอดีต สูตร OpenEmbedded ถูกจัดเก็บไว้ในที่เก็บข้อมูลเดียว และเมตาเดต้ามีโครงสร้างที่เรียกว่า "OpenEmbedded-Classic" ตั้งแต่ปี 2010 โครงสร้างนี้ได้รับการปรับเปลี่ยนเพื่อให้รองรับจำนวนสูตรที่เพิ่มขึ้นเรื่อยๆ ได้ดียิ่งขึ้น เมตาเดต้าของสูตรถูกแบ่งออกเป็นหลายชั้น ชั้นที่ต่ำที่สุด ซึ่งรวมถึงเมตาเดต้าที่ไม่ขึ้นกับแพลตฟอร์มและไม่ขึ้นกับระบบปฏิบัติการ เรียกว่า "OpenEmbedded-Core" [ 3 ]คำสั่งเฉพาะสถาปัตยกรรม เฉพาะแอปพลิเคชัน และขึ้นอยู่กับระบบปฏิบัติการ จะถูกนำไปใช้ในชั้นสนับสนุนเป้าหมายที่เหมาะสม ซึ่งสามารถแทนที่หรือเสริมคำสั่งจากชั้นที่ต่ำกว่าได้ นอกจากนี้ การเปลี่ยนแปลงสูตรในชั้นหลักจะได้รับการจัดการด้วยโมเดลแบบดึง (pull model) แทนที่จะส่งการเปลี่ยนแปลงไปยังที่เก็บข้อมูลโดยตรง (ดังเช่นที่เคยเป็นมาก่อน) นักพัฒนาจะส่งแพตช์ไปยังรายชื่อผู้รับจดหมาย เมื่อได้รับการอนุมัติ แพตช์จะถูกรวม (pull) โดยผู้ดูแล[ 3 ]

เฟรมเวิร์ก OpenEmbedded สามารถติดตั้งและอัปเดตโดยอัตโนมัติผ่านGitได้[ 2 ]

โปรแกรม OpenEmbedded Image Creator ที่เรียกว่า Wic สามารถใช้สร้างไฟล์อิมเมจดิสก์ได้ โดยทั่วไปจะมีนามสกุล.wic.

ประวัติศาสตร์

โครงการOpenEmbeddedซึ่งสร้างโดย Chris Larson, Michael Lauer และ Holger Schurig ได้รวมเอาความสำเร็จของOpenZaurusเข้ากับผลงานจากโครงการต่างๆ เช่นFamiliar LinuxและOpenSIMpadเข้าไว้ในฐานโค้ดเดียวกัน OpenEmbedded ได้เข้ามาแทนที่โครงการเหล่านั้นและถูกใช้ในการสร้างโครงการใดๆ ก็ตามจากฐานโค้ดเดียวกัน

OpenEmbedded-Core (OE-Core) เกิดจากการรวมYocto Projectเข้ากับ OpenEmbedded [ 4 ]นับตั้งแต่นั้นเป็นต้นมา สูตรแพ็กเกจทั้งหมดได้รับการดูแลผ่าน OpenEmbedded-Core

OpenEmbedded-Core (OE-Core) ประกอบด้วยชุดเมตาเดตาหลัก รวมถึงสูตรพื้นฐานและคลาสที่ใช้โดย OpenEmbedded และระบบที่เกี่ยวข้อง[ 5 ]ในโครงสร้างนี้ นักพัฒนาสามารถขยายระบบการสร้างได้โดยไม่ต้องแก้ไขเมตาเดตาหลัก โดยมีเลเยอร์ต่างๆ ที่รองรับแพลตฟอร์มฮาร์ดแวร์และการกำหนดค่าซอฟต์แวร์ที่เฉพาะเจาะจง[ 6 ]

เครื่องมือสร้าง BitBake ซึ่งพัฒนาควบคู่ไปกับ OpenEmbedded ทำหน้าที่เป็นเครื่องมือดำเนินการงานและจัดการการสร้างแพ็กเกจและการพึ่งพา[ 7 ]

การจัดระเบียบแบบชั้น

OpenEmbedded-Core ได้ปรับโครงสร้างเลเยอร์นี้ในการผสานรวมกับ Yocto และมีการเพิ่มรายการเลเยอร์ใหม่เมื่อเวลาผ่านไป[ 8 ] [ 9 ] เลเยอร์แสดงถึงโครงสร้างที่มีลักษณะเป็นแบบประกาศเท่านั้น รายการเฉพาะมีความเข้มงวดมากขึ้นในขอบเขตของการตัดสินใจว่ารายการใดจัดเตรียมแพ็กเกจใด ภาพรวมของเลเยอร์มีอยู่ใน: layers .openembedded .org /layerindex /branch /master /layers /

ชั้นนักพัฒนา
เลเยอร์ที่ผู้ใช้กำหนดเองสำหรับสูตร Bitbake แบบกำหนดเอง นักพัฒนาซอฟต์แวร์ระบบฝังตัวจะวางสูตรของตนไว้ที่นี่ หากซอฟต์แวร์นั้นไม่เหมาะสมกับเลเยอร์เชิงพาณิชย์หรือเลเยอร์พื้นฐาน
ชั้นเชิงพาณิชย์
แพ็กเกจ ปลั๊กอิน และการตั้งค่าจากผู้จำหน่ายโอเพนซอร์สจะถูกจัดเก็บไว้ในเลเยอร์นี้
เลเยอร์เฉพาะ UI
เลเยอร์ต่างๆ ที่มีอยู่ในเลเยอร์ meta-openembedded ในปัจจุบัน ได้แก่:
  • meta-efl ( ตัวจัดการหน้าต่างEnlightenment )
  • เมตา-โนม ( ตัวจัดการหน้าต่างGNOME )
  • meta-gpe ( ตัวจัดการหน้าต่างGPE )
  • meta-xfce ( ตัวจัดการหน้าต่างXfce )
เลเยอร์เฉพาะฮาร์ดแวร์
เลเยอร์ Yocto
  • meta-yocto (เลเยอร์โครงการ Yocto [ 8 ] [ 4 ] )
เลเยอร์ OpenEmbedded-Core
  • เปิดแกนฝังตัว
  • เมตา-โอเพ่นฝังตัว

การแจกจ่ายที่ได้รับการสนับสนุน

ใน OpenEmbedded-Classic การกำหนดค่าตั้งแต่ระดับพื้นฐานไปจนถึงระดับ UI สามารถเสริมด้วยระบบปฏิบัติการ Linux ต่างๆ ได้ รายชื่อต่อไปนี้มีให้ใช้งานสำหรับ OpenEmbedded:

ฮาร์ดแวร์ที่รองรับ

อุปกรณ์ต่างๆ รองรับ: [ 13 ]

บอร์ดและโปรเซสเซอร์
รองรับ การใช้งาน BeagleBoardจากTexas Instruments และอุปกรณ์ต่างๆ ที่ใช้ CPU ARM
สมาร์ทโฟน
สมาร์ทโฟนอย่างNokia N800และNeo FreeRunnerรองรับการใช้งานนี้
การพอร์ตไปยังฮาร์ดแวร์ใหม่
กลุ่มดาวของ OpenEmbedded โดยเฉพาะการออกแบบแบบเปิด ช่วยให้ OpenEmbedded สามารถปรับใช้กับฮาร์ดแวร์ใหม่ได้ค่อนข้างง่าย[ 14 ] [ 15 ]

ดูเพิ่มเติม

  • Buildroot  – เครื่องมือสำหรับสร้างระบบ Linux
  • Emdebian Grip
  • Familiar Linux  – ระบบปฏิบัติการ Linux สำหรับเครื่อง iPAQ และ PDA อื่นๆ
  • Openpandora  – คอมพิวเตอร์เล่นเกมแบบพกพา
  • OpenZaurus  – ระบบปฏิบัติการลินุกซ์
  • T2 SDE  – ชุดเครื่องมือโอเพนซอร์สสำหรับการแจกจ่าย Linux
  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
  • การนำเสนอ OpenEmbedded ในงาน FOSDEM'05
  • การนำเสนอ OpenEmbedded ในงาน FOSDEM'07
  • การนำเสนอ OpenEmbedded ในงาน ELC'08
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=OpenEmbedded&oldid=1349947062 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เปิดระบบฝังตัว

OpenEmbedded ( OE ) เป็น เฟรมเวิร์ก อัตโนมัติสำหรับการสร้าง และ สภาพแวดล้อม การคอมไพล์ข้ามแพลตฟอร์ม ที่ใช้ในการสร้าง ระบบปฏิบัติการ Linux สำหรับ อุปกรณ์ฝังตัว [ 2 ] เฟรม...

ประวัติศาสตร์

โครงการ OpenEmbedded ซึ่งสร้างโดย Chris Larson, Michael Lauer และ Holger Schurig ได้รวมเอาความสำเร็จของ OpenZaurus เข้ากับผลงานจากโครงการต่างๆ เช่น Familiar Linux และ OpenSIMpad เข้าไว้ในฐานโค้ดเดียวกัน OpenEmbedded...

การจัดระเบียบแบบชั้น

OpenEmbedded-Core ได้ปรับโครงสร้างเลเยอร์นี้ในการผสานรวมกับ Yocto และมีการเพิ่มรายการเลเยอร์ใหม่เมื่อเวลาผ่านไป [ 8 ] [ 9 ] เลเยอร์แสดงถึงโครงสร้างที่มีลักษณะเป็นแบบประกาศเท่านั้น...

การแจกจ่ายที่ได้รับการสนับสนุน

ใน OpenEmbedded-Classic การกำหนดค่าตั้งแต่ระดับพื้นฐานไปจนถึงระดับ UI สามารถเสริมด้วย ระบบปฏิบัติการ Linux ต่างๆ ได้ รายชื่อต่อไปนี้มีให้ใช้งานสำหรับ OpenEmbedded: