Embedded Linux A-Z

Embedded Linux A-Z

    • About
    • Beaglebone Black
    • STM32MP157
  • Facebook
  • GitHub
  • LinkedIn

[Yocto-BBB] 6. SSH tới board qua Ethernet

Tiếp tục bài 5, bài này mình sẽ hướng dẫn các bạn thêm package vào image để kết nối được Internet khi cắm Ethernet, từ đó SSH tới board, tiện cho việc lập trình sau này hơn.

(Nếu các bạn gặp khó khăn trong quá trình thực hành theo blog, các bạn có thể tham khảo video thực hành của mình ở cuối bài )

  1. 1. Add Package và Check
  2. 2. Kết nối Internet và SSH
    1. 2.1 Test Internet
    2. 2.3 SSH từ laptop command line
    3. 2.4 Kết nối từ laptop Visual Studio Code
      1. 2.4.1 Cài extensions và test
      2. 2.4.2 Cài thêm package và test lại

1. Add Package và Check

Ở đây để tiện cho việc theo dõi package mình tạo ra cusom-image.bb (Thực tế do gõ core-image-minimal hơi dài :vvv) tại /meta-bbb/recipes-core/images/

Nội dung như sau

SUMMARY = "My custom Linux Image"
IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
inherit extrausers
#Set rootfs to 200MiB by default
IMAGE_OVERHEAD_FACTOR ?= "1.0"
IMAGE_ROOTFS_SIZE ?= "204800"
IMAGE_ROOTFS_MAXSIZE = "2097152"
#Change root password to test
PASSWD = "\$5\$y9Aeg5ctwntRHo/g\$CAKtoTfQg7VPGfVAMGo5ZG/0GJLn3AD0JdoQ.i0dDFC"
EXTRA_USERS_PARAMS = "\
    usermod -p '${PASSWD}' root; \
    "
IMAGE_INSTALL:append = " \
    dhcpcd \
    iproute2 \
    iputils \
    openssh \
"

Lần lượt các package có nghĩa sau

  • dhcpcd: Cung cấp DHCP client (lấy IP từ router cho Ethernet).
  • iproute2: Cung cấp 1 số tool như ip link, ip addr, ip route .
  • iputils: Cung cấp tool ping, .
  • openssh: Cho phép SSH từ laptop.

Và thế là đủ rồi, các bạn tiến hành build thôi

bitbake -c cleanall custom-image
bitbake custom-image

Đây là kết quả sau khi khởi động lại (custom-image.bb mình đang không append custom-banner và distro description từ bài 3,4 nên nó vẫn đang là mặc định).

Nếu của các bạn không được cấp ip sẵn thì có thể chạy lệnh

dhcpcd eth0

2. Kết nối Internet và SSH

2.1 Test Internet

Đơn giản là ping goole thôi

ping -c 4 google.com

Vậy là ta có thể ping đến google.com –> Kết nối đến Internet thành công

Mọi thứ có vẻ ok ta đến bước SSH

2.3 SSH từ laptop command line

ssh root@192.168.0.102

2.4 Kết nối từ laptop Visual Studio Code

2.4.1 Cài extensions và test

Ta cần cài thêm extensions từ Mircosoft

Sau khi cài xong ta bấm vào góc trái bên dưới có nút như sau “><“

Chọn SSH –> Connect to Host –> Add new SSH Host rồi nhập

ssh root@192.168.0.102

Save lại Vào lại SSH –> Connect to Host, giờ thì ta sẽ thấy xuất hiện device tại đây

Nhập mật khẩu và đợi download VS Code Server tới board cho lần đầu tiên, tầm 1 phút

Tuy nhiên, VS code gặp khó khăn khi mở SSH cho giao diện người dùng vì trên image của chúng ta thiếu những package VS Code cần

Các bạn có thể bấm Diagnose with Copilot để biết được mình cần làm tiếp gì, hoặc More Actions để kiểm tra kĩ hơn Output log lỗi.

–> Do đó trong ta cần thêm các package bash, tar, xz, procps, coreutils, curl.

2.4.2 Cài thêm package và test lại

Lưu ý mỗi khi ssh sau khi build lại image, beaglebone tạo lại ssh key khi boot nên bên laptop mình cũng phải xóa key cũ tại .ssh/know_host tạo lại key mới

Lần này VS code đã hiện 1 lỗi mới

Lại phải cài thêm libgcc, libstdc++, libatomic. Sau cùng IMAGE_INSTALL:append của chúng ta sẽ là

Giờ build và flash sd card lại. Ta sẽ kết nối được thành công

–> Tuy nhiên, cắm Ethernet chỉ tiện khi bạn ngồi gần router, lúc đem đi đâu lại phải cầm theo dây nữa, cũng bất tiện.

–> Ở bài tiếp theo mình sẽ hướng dẫn các bạn cách cài driver USB wifi cho Beaglebone Black vẫn với Yocto Build

Chia sẻ:

  • Nhấp để chia sẻ trên X (Mở trong cửa sổ mới) X
  • Nhấn vào chia sẻ trên Facebook (Mở trong cửa sổ mới) Facebook
Thích Đang tải…
Trước đó
Kế tiếp

Bình luận về bài viết này Hủy trả lời

  • Facebook
  • GitHub
  • LinkedIn
 

Đang tải Bình luận...
 

    • Bình luận
    • Đăng lại
    • Theo dõi Đã theo dõi
      • Embedded Linux A-Z
      • Đã có tài khoản WordPress.com? Đăng nhập.
      • Embedded Linux A-Z
      • Theo dõi Đã theo dõi
      • Đăng ký
      • Đăng nhập
      • URL rút gọn
      • Báo cáo nội dung
      • Xem toàn bộ bài viết
      • Quản lý theo dõi
      • Ẩn menu
    %d