Cách tạo bản phân phối Linux của riêng bạn bằng Yocto

Bạn có biết rằng bạn có thể tạo bản phân phối Linux của riêng mình với một chút kinh nghiệm viết code không? Xây dựng bản phân phối của riêng bạn có lợi thế là bạn có thể tùy chỉnh mọi khía cạnh để phù hợp với nhu cầu cụ thể của mình. Hãy xem hướng dẫn cách tạo bản phân phối Linux bằng Yocto sau đây của Quantrimang.com nhé!

Tạo bản phân phối Linux của riêng bạn bằng Yocto

Bước 1: Yêu cầu phần cứng và hệ điều hành

  • Tối thiểu 4GB RAM (Càng cao càng tốt)
  • Hệ điều hành Ubuntu mới nhất (20.04 LTS) hoặc bất kỳ hệ điều hành Linux nào khác:
    • Fedora
    • openSUSE
    • CentOS
    • Debian
  • Ổ cứng trống tối thiểu 100GB (Kích thước lớn hơn sẽ đảm bảo hiệu suất tốt hơn). Yocto có thể khá tốn tài nguyên, tùy thuộc vào sản phẩm cuối cùng của bạn.

Nếu bạn là người dùng macOS hoặc Windows, hãy sử dụng phần mềm ảo hóa như VMware hoặc Virtualbox để chạy bản phân phối Linux. Ngoài ra, bạn có thể chọn multiboot.

Bước 2: Thiết lập host

Trước tiên, hãy cài đặt các dependency bắt buộc trong hệ thống host. Đối với bài viết này, ví dụ đang sử dụng bản phân phối Ubuntu. Nếu bạn đang chạy một bản phân phối khác, vui lòng xem qua hướng dẫn Yocto Project Quick Start và xem những dependency nào cần cài đặt tại:

https://www.yoctoproject.org/docs/2.4/yocto-project-qs/yocto-project-qs.html

Khởi chạy Terminal và thực thi các lệnh dưới đây:

sudo apt update
sudo apt-get install wget git-core unzip make gcc g++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop
Thiết lập host
Thiết lập host

Bước 3: Sao chép Yocto Poky

Với các dependency đã cài đặt, bạn có thể tiến hành tải xuống Yocto. Bạn sẽ sao chép kho lưu trữ Yocto từ trang web Yocto Project. Thực thi lệnh bên dưới, lệnh này sẽ tải xuống bản phát hành mới nhất (nhánh “sumo”). Hãy tạo một thư mục trong thư mục Home để xây dựng dự án Yocto một cách dễ truy cập và nhất quán.

mkdir ~/yocto
mkdir ~/yocto/Project-One/
cd ~/Yocto/Project-One/
git clone -b sumo git://git.yoctoproject.org/poky.git
Sao chép Yocto Poky
Sao chép Yocto Poky

Nếu bạn gặp lỗi như “git command not found”, điều đó có nghĩa là bạn chưa cài đặt git trong hệ thống của mình. Thực thi lệnh dưới đây để cài đặt nó.

sudo apt install git

Bước 4: Khởi tạo môi trường build

Để bắt đầu với Yocto, bạn cần khởi tạo “build environment” (môi trường build). Thực thi các lệnh bên dưới. Cái đầu tiên sẽ thay đổi thư mục thành thư mục vừa sao chép. Lệnh thứ hai sẽ khởi tạo môi trường build.

cd ~/Yocto/Project-One/poky
source oe-init-build-env build
Khởi tạo môi trường build
Khởi tạo môi trường build

Khi việc khởi tạo hoàn tất, bạn sẽ có một thư mục build và một file cấu hình. Thư mục build là nơi diễn ra tất cả quá trình build hệ thống và lưu trữ những file image sau khi quá trình hoàn tất. Trên thực tế, sau khi khởi tạo, Terminal sẽ tự động trỏ đến thư mục build. Bạn có thể thấy điều đó trong hình trên.

Bước 5: Cấu hình

Khi bạn thực thi lệnh ls trong thư mục /build, bạn sẽ thấy một thư mục /conf chứa tất cả những file cấu hình. Điều hướng vào thư mục này bằng lệnh bên dưới:

$ cd ~/Yocto/Project-One/poky/build/conf/
$ ls
Điều hướng đến thư mục /conf
Điều hướng đến thư mục /conf

Bằng cách thực thi lệnh ls trên thư mục conf, bạn sẽ thấy file local.conf. File này chỉ định các chi tiết của máy đích và SDK cho kiến ​​trúc mục tiêu mong muốn.

Mở file này để chỉnh sửa bằng lệnh dưới đây:

$ sudo nano local.conf

Từ hình ảnh bên dưới, máy build đích là “qemux86-64”.

Máy build đích là “qemux86-64”
Máy build đích là “qemux86-64”

Bây giờ, hãy tiến hành bỏ ghi chú các dòng sau (bỏ dấu #).

DL_DIR ?= "${TOPDIR}/downloads"
SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
TMPDIR ?= "${TOPDIR}/tmp"
PACKAGE_CLASSES ?= "package_rpm"
SDKMACHINE ?= "i686"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
Bỏ dấu # ở các dòng
Bỏ dấu # ở các dòng

Trước khi tiếp tục quá trình biên dịch, hãy thêm các dòng sau vào cuối file local.conf.

BB_NUMBER_THREADS = "X"
PARALLEL_MAKE = "-j X"

Thay thế X bằng số gấp đôi số bộ xử lý/CPU trong máy tính của bạn. Nếu bạn có 4 bộ xử lý, thì bạn sẽ có các câu lệnh như sau:

BB_NUMBER_THREADS = “8” PARALLEL_MAKE = “-j 8”

Để xem số lượng CPU trong máy tính, hãy thực thi lệnh dưới đây:

lscpu

Bước 5: Quy trình biên dịch và build

Để bắt đầu build image, hãy thực thi lệnh bên dưới trong thư mục /build của bạn.

bitbake core-image-sato
Quy trình biên dịch và build
Quy trình biên dịch và build

Lệnh này sẽ bắt đầu tải xuống và biên dịch các gói cho hệ thống đích. Vui lòng không thực thi lệnh bitbake ở trên với đặc quyền root vì nó sẽ gây ra lỗi.

Đối với lần đầu tiên build, quá trình này có thể mất đến vài giờ (thậm chí hơn 2 giờ). Đôi khi bitbake có thể gặp lỗi. Đừng hoảng sợ! Hãy thực thi lại lệnh trên. Lỗi có thể do một trang web cụ thể bị lỗi hoặc thiếu tài nguyên.

Các image nhị phân kết quả được lưu trữ trong thư mục /build tại poky/build/tmp/deploy/images/qemux86.

Xem thêm:

Thứ Hai, 12/10/2020 17:54
51 👨 1.762
0 Bình luận
Sắp xếp theo
    ❖ Linux