Mục lục:

Xây dựng bản phân phối GNU / Linux cho Raspberry Pi bằng dự án Yocto: 6 bước
Xây dựng bản phân phối GNU / Linux cho Raspberry Pi bằng dự án Yocto: 6 bước

Video: Xây dựng bản phân phối GNU / Linux cho Raspberry Pi bằng dự án Yocto: 6 bước

Video: Xây dựng bản phân phối GNU / Linux cho Raspberry Pi bằng dự án Yocto: 6 bước
Video: Building embedded GNU/Linux distribution for Raspberry Pi using the Yocto Project 2024, Tháng Chín
Anonim
Image
Image

Raspberry Pi có lẽ là máy tính bảng đơn giá rẻ phổ biến nhất trên thị trường. Nó được sử dụng cho Internet of Things và các dự án nhúng khác. Một số bản phân phối GNU / Linux có hỗ trợ tuyệt vời cho Raspberry Pi và thậm chí còn có Microsoft Windows cho Raspberry Pi 2.

Nếu bạn muốn tạo Internet of Things (IoT) dựa trên Raspberry Pi và nếu bạn muốn làm điều đó một cách chuyên nghiệp, bạn nên xây dựng một bản phân phối Linux nhúng phù hợp với nhu cầu chính xác của thiết bị của bạn. Để khởi động bản phân phối Linux trên Raspberry Pi, bạn cần có bộ nạp khởi động, nhân Linux và các ứng dụng khác nhau trong không gian người dùng.

Một trong những cách phổ biến nhất để xây dựng bản phân phối Linux nhúng tùy chỉnh là sử dụng Dự án Yocto. Yocto là một dự án hợp tác của nền tảng Linux sử dụng khuôn khổ Openembedded và công cụ xây dựng bitbake. Poky là hệ thống tham chiếu của Dự án Yocto với chu kỳ phát hành sáu tháng. Nó cung cấp dữ liệu meta được chia thành các lớp và công thức để xây dựng các gói và hình ảnh khác nhau.

Hướng dẫn này cung cấp các bước chính xác để xây dựng một hình ảnh với bản phân phối GNU / Linux tối thiểu cho Raspberry Pi, bao gồm systemd và connman.

Bước 1: Chuẩn bị sẵn sàng

Lấy mã nguồn
Lấy mã nguồn

Đối với hướng dẫn này, bạn sẽ cần:

  • Máy tính cá nhân có bản phân phối GNU / Linux, ví dụ như Ubuntu, trên đó bạn sẽ xây dựng bản phân phối GNU / Linux cho Raspberry Pi.
  • Raspberry Pi
  • Thẻ nhớ microSD hoặc SD tùy thuộc vào phiên bản Raspberry Pi của bạn
  • Cáp HDMI và màn hình
  • Bàn phím USB
  • Nguồn cấp

Cài đặt các gói bắt buộc trên máy tính cá nhân của bạn tùy thuộc vào bản phân phối GNU / Linux của bạn:

  • Bạn không thể nướng một hình ảnh nếu thư mục chính của bạn được mã hóa vì nó không cho phép các tên tệp dài
  • Quá trình xây dựng ban đầu mất rất nhiều thời gian nếu bạn có kết nối chậm
  • Trong khi flash hình ảnh vào thẻ SD, hãy đảm bảo rằng bạn chọn main / dev / sdX, không phải / dev / sdXp1 hoặc biến thể khác của phần bên trong

Bước 2: Lấy mã nguồn

Thực hiện các tác vụ dưới đây trên máy tính cá nhân của bạn:

  • Nhân bản Poky bằng Git (trong trường hợp này tôi đang tải xuống bản phát hành Jethro (2.0) của Dự án Yocto):

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

  • Đi tới thư mục poky:

    cd poky

  • Sao chép meta-raspberrypi:

    git clone -b jethro git: //git.yoctoproject.org/meta-raspberrypi

Bước 3: Định cấu hình

Định cấu hình
Định cấu hình
  • Khởi tạo môi trường xây dựng

    nguồn oe-init-build-env

  • Thêm meta-raspberrypi vào BBLAYERS trong conf / bblayers.conf, sau đó nó sẽ tương tự (nhưng trong trường hợp của bạn với các đường dẫn khác nhau) thành:

    BBLAYERS? =

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

  • Mở conf / local.conf và thay đổi MACHINE thành raspberrypi, raspberrypi0, raspberrypi2 hoặc raspberrypi3 tùy thuộc vào kiểu Raspberry Pi của bạn, ví dụ:

    MÁY ?? = "raspberrypi2"

  • Nối dòng sau vào conf / local.conf để đặt bộ nhớ GPU tính bằng megabyte:

    GPU_MEM = "16"

  • Theo tùy chọn, nối dòng sau vào conf / local.conf để thay thế Hệ thống V bằng systemd:

    DISTRO_FEATURES_append = "systemd"

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

  • Theo tùy chọn, nối dòng sau vào conf / local.conf để bao gồm connman trình quản lý mạng dòng lệnh trong hình ảnh:

    IMAGE_INSTALL_append = "connman connman-client"

Bước 4: Xây dựng hình ảnh

Xây dựng hình ảnh
Xây dựng hình ảnh
  • Thực thi lệnh sau để tạo hình ảnh tối thiểu về bản phân phối GNU / Linux cho Raspberry Pi của bạn:

    bitbake rpi-basic-image

Xin lưu ý rằng quá trình xây dựng có thể mất đến vài giờ tùy thuộc vào phần cứng của máy tính cá nhân của bạn và tốc độ kết nối Internet.

Bước 5: Thẻ nhớ Flash SD

Khi quá trình xây dựng hoàn tất, hình ảnh sẽ được đặt tại đường dẫn sau trong thư mục xây dựng của bạn: tmp / deploy / images / raspberrypi2 / rpi-basic-image-raspberrypi2.rpi-sdimg.

Cắm thẻ microSD vào máy tính của bạn, thay thế X bằng ID tương ứng của nó (có thể được tìm thấy thông qua các lệnh như lsblk hoặc fdisk -l) và thực hiện các lệnh sau để flash hình ảnh trên đó:

sudo umount / dev / sdX

sudo dd if = tmp / deploy / images / raspberrypi2 / core-image-weston-raspberrypi2.rpi-sdimg of = / dev / sdX sync sudo umount / dev / sdX

Ngoài ra, nếu bạn thích, bạn có thể sử dụng bmaptool thay vì dd.

Hãy hết sức cẩn thận khi nhấp nháy thẻ SD và đảm bảo rằng bạn đang sử dụng đúng ký tự cho đường dẫn đến thiết bị. Hãy tự chịu rủi ro và lưu ý rằng một sai sót có thể làm hỏng ổ đĩa trên máy tính cá nhân của bạn!

Bước 6: Khởi động và kiểm tra

Khởi động Raspberry Pi và thực hiện các bước sau để xác minh rằng hình ảnh đang hoạt động thành công:

  • Đăng nhập với quyền root mà không cần mật khẩu
  • Nếu connman được cài đặt, hãy xác minh rằng các dịch vụ systemd của nó đã được tải:

    trạng thái systemctl -l connman

Đề xuất: