Bài viết

[Yocto-BBB] 4. Thay đổi Distro Description

[Yocto-BBB] 4. Thay đổi Distro Description

Như bài trước đã nói, mục tiêu của bài này mình sẽ thay đổi distro description từ “Poky (Yocto Project Reference Distro)” sang dòng hiển thị custom theo cá nhân

  1. Thay đổi Distro Description
  2. 1. Tạo conf/distro
  3. 2. Set DISTRO conf/local.conf
  4. 3. Build lại và check thông tin

Thay đổi Distro Description

Đầu tiên ta tìm xem, vậy trong repo poky, dòng chữ này được chứa trong file nào sau khi build xong image

Về đúng luồng chạy, DISTRO_NAME từ meta-poky/conf/distro/poky.conf sẽ được truyền vào issue.net. Bởi theo repo ban đầu, issue và issue.net là rỗng, các bạn có thể check tại https://github.com/yoctoproject/poky/blob/master/meta/recipes-core/base-files/base-files/issue

Ngoài DISTRO_NAME sẽ có cả DISTRO_VERSION(4.0.28) được truyền vào issue.net, sau đó issue.net lại được append sang issue rồi cài đặt vào hệ thống tại /etc/issue

1. Tạo conf/distro

Ta tạo nội dung thư mục ./conf/distro như sau

1
2
3
4
5
6
zk47@zk47-ltu:~/Learning/poky/meta-bbb$ tree
.
├── conf
│ ├── distro
│ │ └── bbbdistro.conf
│ └── layer.conf

file bbbdistro.conf có nội dung

1
2
3
4
5
6
7
8
9
# meta-zk47 distro config
DISTRO = "bbbdistro"
DISTRO_NAME = "ZK47 Embedded Linux"
DISTRO_VERSION = "1.0"
DISTRO_CODENAME = "elite"
DISTRO_DESCRIPTION = "A sleek, custom Linux distro by ZK47"

# Inherit the default poky behavior
include conf/distro/poky.inc

Lưu ý rằng giá trị biến DISTRO phải giống với tên file conf (bbbdistro)

2. Set DISTRO conf/local.conf

Sau đó ta set DISTRO trong ./build-bbb/conf/local.conf bằng bbbdistro

1
2
zk47@zk47-ltu:~/Learning/poky/build-bbb$ cat ./conf/local.conf | grep "DISTRO = "
DISTRO = "bbbdistro"

Về cấu trúc folder, Các bạn có thể tham khảo meta-bbb mình đã push lên github https://github.com/Zk47T/meta-bbb

3. Build lại và check thông tin

1
2
bitbake -c cleanall core-image-minimal
bitbake core-image-minimal

Ta thấy ở đây, DISTRO và DISTRO_VERSION đã thay đổi theo cái ta set trong bbbdistro.conf

Build lại và check dễ thấy issue.net và issue file nội dung đã thay đổi

1 lưu ý là sau khi đã đổi distro, output image sẽ không còn ở vị trí cũ nữa, ta check bằng cách

1
2
zk47@zk47-ltu:~/Learning/poky/build-bbb$ bitbake -e core-image-minimal | grep "^WORKDIR"
WORKDIR="/home/zk47/Learning/poky/build-bbb/tmp/work/beaglebone-oe-linux-gnueabi/core-image-minimal/1.0-r0"

Có 1 thủ thuật nhỏ dùng (ls -al) để tránh việc copy nhầm file đó là mình luôn check thời gian build sau khi vào folder. Đôi khi do Bitbake vẫn lưu state dẫn đến việc không trigger build lại image.

Flash lại thẻ nhớ theo image mới và cấp nguồn cho board

-– > Bài tiếp theo mình sẽ hướng dẫn các bạn về cách thay đổi banner sau khi đăng nhập, cũng như cách để cài 1 file vào trong board.

Bài viết này được cấp phép bởi tác giả theo giấy phép CC BY 4.0 .