Quá trình load firmware của Driver trong Linux


Để các kernel module sử dụng được các firmware thì cần 2 điều kiện sau:

  1. 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.

  2. 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:

  1. Các firmware là binary(closed source) được cung cấp từ các nhà sản xuất thiết bị,
    nó không nằm trong luồng chính của kernel, được maintain ở địa chỉ sau:
    (http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git)%5Bhttp://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git%5D

  2. Các firmware này không phụ thuộc vào platform chạy Linux, cho dùng là ARM, x86 hay MIPS, etc đều dùng chung 1 nguồn cả. Vì thế, nếu bản Linux Embedded xuất hiện lỗi thiếu firmware cho thiết bị mà chạy tốt trên Linux Desktop, thì cách giải quyết rất có thể là copy firmware bị thiếu từ Desktop sang Linux Embedded.

Advertisements

2 thoughts on “Quá trình load firmware của Driver trong Linux

  1. Pingback: Một chút về Driver cho USB Device trong Linux | === Write to read it later ===

  2. Pingback: Cài thêm driver usb-wifi adapter cho bản build Raspbery PI sử dụng Yocto Project (chưa xong) | === Write to read it later ===

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s