Including driver firmware on Linux kernel image

本文探讨了在嵌入式系统开发过程中遇到的固件加载问题,特别是当设备依赖于根文件系统中的固件才能工作时的先有鸡还是先有蛋的困境。文章提供了两种解决方案:一是创建包含所需固件的初始RAM磁盘;二是将驱动程序内置到内核中,并介绍了如何在Linux内核配置中启用相关选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

http://acassis.wordpress.com/2010/03/17/including-driver-firmware-on-linux-kernel-image/

 

Driver’s binary firmware is a dedicated issue to Linux. In fact even open source drivers usually load its firmware to internal chip and it drives some puritan GNU people to become crazy.

Unfortunately you don’t have much option because these firmware are necessary to get your device working.

When developing an embedded system you could face a “Chicken and Egg” dilemma related to firmware loading. For example, you could need to mount a root file system through NFS over wireless, but your wireless interface needs a firmware which is in the rootfs (at /lib/firmware).

Hopefully you have some approaches to solve this dilemma:
1) Create an initrd (initramfs) with needed firmware inside;
2) Include your driver built-in into the kernel.

To include the needed firmware into the kernel just select this option:

Device Drivers  --->
    Generic Driver Options  --->
    -*- Userspace firmware loading support
    [*]   Include in-kernel firmware blobs in kernel binary

Also you could specify an external firmware path at:

(/home/user/newfirmware.bin)    External firmware blobs to build
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值