สารบัญ:

การสร้าง GNU/Linux Distribution สำหรับ Raspberry Pi โดยใช้ Yocto Project: 6 ขั้นตอน
การสร้าง GNU/Linux Distribution สำหรับ Raspberry Pi โดยใช้ Yocto Project: 6 ขั้นตอน

วีดีโอ: การสร้าง GNU/Linux Distribution สำหรับ Raspberry Pi โดยใช้ Yocto Project: 6 ขั้นตอน

วีดีโอ: การสร้าง GNU/Linux Distribution สำหรับ Raspberry Pi โดยใช้ Yocto Project: 6 ขั้นตอน
วีดีโอ: Building embedded GNU/Linux distribution for Raspberry Pi using the Yocto Project 2024, พฤศจิกายน
Anonim
Image
Image

Raspberry Pi น่าจะเป็นคอมพิวเตอร์บอร์ดเดี่ยวราคาประหยัดที่ได้รับความนิยมมากที่สุดในตลาด มักใช้สำหรับ Internet of Things และโครงการฝังตัวอื่นๆ GNU/Linux หลายรุ่นรองรับ Raspberry Pi ได้ดีเยี่ยม และยังมี Microsoft Windows สำหรับ Raspberry Pi 2 อีกด้วย

หากคุณต้องการสร้าง Internet of Things (IoT) โดยใช้ Raspberry Pi และหากคุณต้องการทำอย่างมืออาชีพ ขอแนะนำให้สร้างการแจกจ่าย Linux แบบฝังตัวที่เหมาะกับความต้องการที่แท้จริงของอุปกรณ์ของคุณ ในการบู๊ต Linux บน Raspberry Pi คุณต้องมี bootloader, เคอร์เนล Linux และแอพพลิเคชั่นต่างๆ ในพื้นที่ผู้ใช้

วิธีหนึ่งที่ได้รับความนิยมมากที่สุดในการสร้างการกระจาย Linux แบบฝังตัวแบบกำหนดเองคือการใช้โครงการ Yocto Yocto เป็นโครงการความร่วมมือของมูลนิธิลินุกซ์ที่ใช้เฟรมเวิร์ก Openembedded และเอ็นจิ้นการสร้างบิตเบค Poky เป็นระบบอ้างอิงของโครงการ Yocto ที่มีรอบการเผยแพร่หกเดือน ให้ข้อมูลเมตาที่แบ่งออกเป็นเลเยอร์และสูตรสำหรับการสร้างแพ็คเกจและรูปภาพต่างๆ

บทช่วยสอนนี้มีขั้นตอนที่แน่นอนสำหรับการสร้างอิมเมจที่มีการกระจาย GNU/Linux น้อยที่สุดสำหรับ Raspberry Pi ซึ่งรวมถึง systemd และ connman

ขั้นตอนที่ 1: เตรียมพร้อม

รับซอร์สโค้ด
รับซอร์สโค้ด

สำหรับบทช่วยสอนนี้ คุณจะต้อง:

  • คอมพิวเตอร์ส่วนบุคคลที่มีการแจกจ่าย GNU/Linux เช่น Ubuntu ซึ่งคุณจะสร้าง GNU/Linux distribution สำหรับ Raspberry Pi
  • ราสเบอร์รี่ปี่
  • การ์ด microSD หรือ SD ขึ้นอยู่กับรุ่นของ Raspberry Pi
  • สาย HDMI และจอภาพ
  • แป้นพิมพ์ USB
  • แหล่งจ่ายไฟ

ติดตั้งแพ็คเกจที่จำเป็นบนคอมพิวเตอร์ส่วนบุคคลของคุณโดยขึ้นอยู่กับการแจกจ่าย GNU/Linux ของคุณ: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notes (โดย Yunus EmreI):

  • คุณไม่สามารถอบรูปภาพได้หากไดเร็กทอรีโฮมของคุณถูกเข้ารหัสเพราะมันไม่ยอมให้ชื่อไฟล์ยาว
  • บิลด์เริ่มต้นใช้เวลานานมากหากคุณมีการเชื่อมต่อที่ช้า
  • ขณะแฟลชภาพไปยังการ์ด SD ตรวจสอบให้แน่ใจว่าคุณได้เลือกหลัก /dev/sdX ไม่ใช่ /dev/sdXp1 หรือรูปแบบอื่น ๆ ของชิ้นส่วนภายใน

ขั้นตอนที่ 2: รับซอร์สโค้ด

ดำเนินการด้านล่างบนคอมพิวเตอร์ส่วนบุคคลของคุณ:

  • โคลน Poky โดยใช้ Git (ในกรณีนี้ฉันกำลังดาวน์โหลดรุ่น Jethro (2.0) ของ Yocto Project):

    git clone -b jethro git://git.yoctoproject.org/poky

  • ไปที่ไดเร็กทอรี poky:

    cd poky

  • โคลน meta-raspberrypi:

    โคลน git -b jethro git://git.yoctoproject.org/meta-raspberrypi

ขั้นตอนที่ 3: กำหนดค่า

กำหนดค่า
กำหนดค่า
  • เริ่มต้นสภาพแวดล้อมการสร้าง

    แหล่งที่มา oe-init-build-env

  • เพิ่ม meta-raspberrypi ให้กับ BBLAYERS ใน conf/bblayers.conf หลังจากนั้นควรคล้ายกัน (แต่ในกรณีของคุณที่มีเส้นทางต่างกัน) ไปที่:

    เบลเยอร์ ?=

    /home/leon/poky/meta / /home/leon/poky/meta-yocto / /home/leon/poky/meta-yocto-bsp / /home/leon/poky/meta-raspberrypi \"

  • เปิด conf/local.conf และเปลี่ยน MACHINE เป็น raspberrypi, raspberrypi0, raspberrypi2 หรือ raspberrypi3 ขึ้นอยู่กับรุ่น Raspberry Pi ของคุณ ตัวอย่างเช่น

    เครื่องจักร ??= "raspberrypi2"

  • ต่อท้ายบรรทัดต่อไปนี้เพื่อ conf/local.conf เพื่อตั้งค่าหน่วยความจำ GPU เป็นเมกะไบต์:

    GPU_MEM = "16"

  • หรือ ต่อท้ายบรรทัดต่อไปนี้เพื่อ conf/local.conf เพื่อแทนที่ System V ด้วย systemd:

    DISTRO_FEATURES_append = " systemd"

    VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""

  • หรือ ผนวกบรรทัดต่อไปนี้ใน conf/local.conf เพื่อรวม connman ตัวจัดการเครือข่ายของบรรทัดคำสั่งในอิมเมจ:

    IMAGE_INSTALL_append = " connman connman-client"

ขั้นตอนที่ 4: สร้างภาพ

สร้างภาพ
สร้างภาพ
  • ดำเนินการคำสั่งต่อไปนี้เพื่อสร้างอิมเมจขั้นต่ำของการแจกจ่าย GNU/Linux สำหรับ Raspberry Pi ของคุณ:

    bitbake rpi-basic-image

โปรดทราบว่าการสร้างอาจใช้เวลาหลายชั่วโมงขึ้นอยู่กับฮาร์ดแวร์ของคอมพิวเตอร์ส่วนบุคคลของคุณและความเร็วของการเชื่อมต่ออินเทอร์เน็ต

ขั้นตอนที่ 5: แฟลชการ์ด SD

เมื่อบิลด์เสร็จสิ้น รูปภาพจะอยู่ที่พาธต่อไปนี้ในไดเร็กทอรีบิลด์ของคุณ: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg

เสียบการ์ด microSD เข้ากับคอมพิวเตอร์ของคุณ แทนที่ X ด้วย ID ที่เกี่ยวข้อง (ซึ่งสามารถพบได้ผ่านคำสั่งเช่น lsblk หรือ fdisk -l) และดำเนินการคำสั่งต่อไปนี้เพื่อแฟลชรูปภาพบนการ์ด:

sudo umount /dev/sdX

sudo dd if=tmp/deploy/images/raspberrypi2/core-image-weston-raspberrypi2.rpi-sdimg of=/dev/sdX ซิงค์ sudo umount /dev/sdX

หรือหากต้องการ คุณสามารถใช้ bmaptool แทน dd

โปรดใช้ความระมัดระวังในขณะที่แฟลชการ์ด SD และตรวจสอบให้แน่ใจว่าคุณใช้ตัวอักษรที่ถูกต้องสำหรับพาธไปยังอุปกรณ์ ยอมรับความเสี่ยงเองและจำไว้ว่าความผิดพลาดอาจทำให้ไดรฟ์ในคอมพิวเตอร์ส่วนบุคคลของคุณเสียหายได้!

ขั้นตอนที่ 6: บูตและทดสอบ

บูต Raspberry Pi และทำตามขั้นตอนต่อไปนี้เพื่อตรวจสอบว่ารูปภาพทำงานสำเร็จหรือไม่:

  • เข้าสู่ระบบในฐานะรูทโดยไม่ต้องใช้รหัสผ่าน
  • หากมีการติดตั้ง connman ให้ตรวจสอบว่าโหลดบริการ systemd แล้ว:

    สถานะ systemctl -l connman

แนะนำ: