Để các kernel module sử dụng được các firmware thì cần 2 điều kiện sau: Khi kernel được build, các tham số sau phải được bật (ENABLE)
CONFIG_FW_LOADER : Cho phép load firmware
CONFIG_EXTRA_FIRMWARE > CONFIG_EXTRA_FIRMWARE_DIR : Đường dẫn chưa các firmware. Các firmware phải được copy vào thư mục CONFIG_EXTRA_FIRMWARE_DIR đã set ở trên. Một số điều lưu ý liên quan đến firmware: Các firmware là binary(closed source) được cung cấp từ các nhà sản xuất thiết bị,
Gần đây, khi tìm hiểu cách cài đặt driver cho USB Wifi, mình có tìm hiểu thêm về quá trình tạo nhân Linux. Đặc biệt, việc thiết lập cấu hình trước khi build tạo ảnh của kernel.
Mình thấy ngoài Driver, tức là thành phần trung gian giữa ứng dụng và phần cứng, còn có 1 khái niệm nữa. Đó là Firmware.
Bài này sẽ dịch lại trang, để hiểu qua về Firmware trong Linux Kernel.
Như ta đã làm trong bài trước, sau khi thực hiện việc setup các biến môi trường bằng lệnh source, ta thực hiện build tạo image có có tên là rpi-basic-image thông qua lệnh:
$bitbake rpi-basic-image Thực ra còn 2 image khác ta có thể build đó là rpi-hwup-image rpi-test-image. Ta có thể thấy 2 file bb cho 2 image ở thư mục meta-raspberrypi/recipes-core/images/.
rpi-hwup-image : là image nhỏ nhất (có dịp sẽ thử)