Tiếp tục với Boot Process trên BBB đó là u-boot
1. U-boot là gì ?
U-Boot (Universal Boot Loader) là một trình nạp khởi động mã nguồn mở, đóng vai trò quan trọng trong các hệ thống nhúng sử dụng Linux. Nó chịu trách nhiệm khởi tạo phần cứng cơ bản và chuyển quyền điều khiển cho nhân hệ điều hành. Nhờ khả năng tương thích với nhiều nền tảng như ARM, x86 hay PowerPC, U-Boot được ứng dụng rộng rãi trong phát triển phần mềm nhúng. Ngoài ra, nó còn cho phép cấu hình môi trường hệ thống trước khi kernel được thực thi, góp phần đảm bảo quá trình khởi động diễn ra ổn định và linh hoạt.
2. Cấu hình U-boot
Sau khi qua bước MLO, các bạn sẽ thấy dòng chữ
Đến bước này, chúng ta đang ở giai đoạn config U-boot Environment, nội dung của 1 file sẽ có dạng như sau
- console sẽ setup uart debug log, ở baud rate bao nhiêu, cổng nào
- ipaddr và serverip sẽ là ip address và server ip phục vụ việc nạp kernel qua ethernet thông qua TFTP (Trivial File Transfer Protocol)
- loadaddr : biến lưu địa chỉ nạp kernel
- fdtaddr : biến lưu địa chỉ nạp Flatenned Device Tree. Giải thích về Device Tree tại đây
3. uImage và zImage
Sau khi đã cấu hình xong, U-boot sẽ tìm tới uImage. Cấu trúc của nó có dạng
- Khởi tạo ngoại vi từ tất cả boot option sẵn sàng cho việc nạp kernel
- Nạp kernel tới DDR memory
- Truyền boot arguments tới Kernel
- Start kernel
0 Nhận xét