Bài viết

Biên dịch và porting U-Boot cho BeagleBone Black (Phần 2)

Cross-compile và porting U-Boot bootloader cho BeagleBone Black, cấu hình serial connection và boot từ SD card.

Biên dịch và porting U-Boot cho BeagleBone Black (Phần 2)

1. Kết nối Serial

Kết nối BBB Sơ đồ kết nối

Kết nối USB-to-Serial adapter với BeagleBone:

  • Pin 1 (Ground) → Ground
  • Pin 4 (Board Rx) → Cable Tx
  • Pin 5 (Board Tx) → Cable Rx

Cài đặt minicom và thêm user vào nhóm dialout:

1
2
sudo apt install minicom
sudo usermod -a -G dialout $USER

Reboot để áp dụng thay đổi nhóm dialout.

2. Cross-compile U-Boot

Clone và checkout U-Boot source:

1
2
3
git clone https://source.denx.de/u-boot/u-boot.git
cd u-boot
git checkout v2023.01

Thiết lập cross-compiler và build:

1
2
3
export CROSS_COMPILE=arm-linux-
make am335x_evm_defconfig
make DEVICE_TREE=am335x-boneblack

Sau khi build thành công, bạn sẽ có các file MLOu-boot.img.

3. Chuẩn bị thẻ SD

Tạo 2 phân vùng trên thẻ SD bằng GParted:

  • Phân vùng 1: FAT32, 128MB, có boot flag
  • Phân vùng 2: ext4, phần còn lại

Phân vùng SD bằng GParted Phân vùng đã tạo thành công: /dev/sdX1 (FAT32, boot) và /dev/sdX2 (ext4)

Copy U-Boot files vào thẻ SD:

1
cp MLO u-boot.img /media/$USER/boot/

4. Kiểm tra U-Boot

Khởi động minicom:

1
minicom -D /dev/ttyUSB0 -b 115200

Chèn thẻ SD vào BeagleBone (không cấp nguồn), giữ nút reset, cấp nguồn, sau đó thả nút.

Bạn sẽ thấy output như sau:

1
2
3
4
5
6
7
8
9
10
11
U-Boot SPL 2023.01 (Jan 21 2023 - 23:09:14 -0500)
Trying to boot from MMC1

U-Boot 2023.01 (Jan 21 2023 - 23:09:14 -0500)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
...
Hit any key to stop autoboot:  0
=> 

Dấu nhắc => là U-Boot command line. Gõ help để xem các lệnh có sẵn.

Chúc mừng! Bạn đã thành công chạy bootloader U-Boot tự build trên BeagleBone Black.

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 .