Embedded Linux A-Z

Embedded Linux A-Z

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

[BBB-Linux] 1. Beaglebone Black Boot Process Overview

  1. 1. SoC ROM Bootloader
  2. 2. First Stage Bootloader (SPL/MLO)
  3. 3. Second Stage Bootloader (U-boot + uEnv.txt)
  4. 4. Linux Kernel
  5. 5. Root Filesystem, Init Process

Tổng quan sẽ gồm 5 giai đoạn theo mô tả trên hình, ta đi vào sâu hơn về từng giai đoạn

1. SoC ROM Bootloader

  • RBL (ROM Bootloader): cái này sẽ do bên vendor, hay bên sản xuất board code, không thể thay thế được nội dung
  • Đây là đoạn code đầu tiên sẽ chạy khi mở board lên 
  • Nhiệm vụ chính là để chạy khối tiếp theo First Stage Bootloader (SPL/MLO)

2. First Stage Bootloader (SPL/MLO)

SPL: Secondary Program Loader

MLO: Memory Loader

  • Nhiệm vụ chính là cấu hình RAM, clock, các ngoại vi ngoài và nạp Main Bootloader (U-boot, Grub …)
  • Một số SPL còn triển khai các tính năng bảo mật như verify signature (secure boot)
  • Chọn chế độ boot 

Trên Beaglebone Black có rất nhiều lựa chọn cho nguồn boot. Thứ tự ưu tiên sẽ tùy vào việc Phím S2 được ấn lúc khởi động hay không

 

Các bạn có thể đọc thêm về cái này trong Reference Manual của BeagleBone Black 

Table 26-7. SYSBOOT Configuration Pins[4] 

3. Second Stage Bootloader (U-boot + uEnv.txt)

  • Khởi tạo ngoại vi từ tất cả boot options : I2C, NAND, Flash , … sẵn sàng cho việc load kernel image
  • Load kernel image : Load image đến DDR memory
  • Truyền Boot argument to Kernel
  • Có thể cấu hình lại u-boot bằng file uEnv.txt
  • U-boot sẽ luôn tìm uImage

4. Linux Kernel

  • Phân tích các boot arguments từ u-boot 
  • Sử dụng Device Tree Blob/Binary (DTB) để hiểu cấu trúc phần cứng của hệ thống
  • Mount Root File System
  • Chạy “init” process, process đầu tiên PID 1

5. Root Filesystem, Init Process

Root filesystem là file system mà được mount tới root (/)

File system là tập hợp các file theo quy chuẩn cấu trúc, ở đây là Linux File System

Đây là tổng quan về BBB Boot Process, với mỗi 1 mục trên, mình sẽ có các bài đi sâu tìm hiểu hơn

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