public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Question on adding a firmware ihex file in the kernel source
@ 2015-08-20 21:46 Murali Karicheri
  2015-08-20 21:58 ` Arend van Spriel
  2015-08-20 23:15 ` David Woodhouse
  0 siblings, 2 replies; 4+ messages in thread
From: Murali Karicheri @ 2015-08-20 21:46 UTC (permalink / raw)
  To: linux-kernel, linux-firmware

All,

Please help me understand the procedure to add a firmware ihex file to 
kernel source tree under firmware/ folder. The README.AddingFirmware 
file explains that file should be added to 
git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git and 
the patch for the same to be send to linux-firmware@kernel.org. And this 
requires it to be in binary form. How does then that end up in the 
firmware/ folder of the Linux source tree as an ihex file? I would like 
to have one of the  firmware statically built into the kernel as it is 
needed to be loaded even before file system is initialized in kernel 
(network driver firmware). Some other firmwares are to be used from the 
filesystem. Both would make use of the request_firmare() interface. 
Please help me understand the procedure.

Thanks

-- 
Murali Karicheri
Linux Kernel, Keystone

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Question on adding a firmware ihex file in the kernel source
  2015-08-20 21:46 Question on adding a firmware ihex file in the kernel source Murali Karicheri
@ 2015-08-20 21:58 ` Arend van Spriel
  2015-08-20 23:15 ` David Woodhouse
  1 sibling, 0 replies; 4+ messages in thread
From: Arend van Spriel @ 2015-08-20 21:58 UTC (permalink / raw)
  To: Murali Karicheri, linux-kernel, linux-firmware

On 08/20/2015 11:46 PM, Murali Karicheri wrote:
> All,
>
> Please help me understand the procedure to add a firmware ihex file to
> kernel source tree under firmware/ folder. The README.AddingFirmware
> file explains that file should be added to
> git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git and
> the patch for the same to be send to linux-firmware@kernel.org. And this
> requires it to be in binary form. How does then that end up in the
> firmware/ folder of the Linux source tree as an ihex file? I would like
> to have one of the  firmware statically built into the kernel as it is
> needed to be loaded even before file system is initialized in kernel
> (network driver firmware). Some other firmwares are to be used from the
> filesystem. Both would make use of the request_firmare() interface.
> Please help me understand the procedure.

Your firmware does not need to end up in the firmware/ folder of the 
Linux source tree. That folder is more or less obsolete. If you want 
firmware to be built into the kernel, you have to specify it in Kconfig. 
Look for EXTRA_FIRMWARE. The help text is a good read.

Regards,
Arend


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Question on adding a firmware ihex file in the kernel source
  2015-08-20 21:46 Question on adding a firmware ihex file in the kernel source Murali Karicheri
  2015-08-20 21:58 ` Arend van Spriel
@ 2015-08-20 23:15 ` David Woodhouse
  2015-09-02 16:54   ` Murali Karicheri
  1 sibling, 1 reply; 4+ messages in thread
From: David Woodhouse @ 2015-08-20 23:15 UTC (permalink / raw)
  To: Murali Karicheri, linux-kernel, linux-firmware

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

On Thu, 2015-08-20 at 17:46 -0400, Murali Karicheri wrote:
> All,
> 
> Please help me understand the procedure to add a firmware ihex file to 
> kernel source tree under firmware/ folder. The README.AddingFirmware 
> file explains that file should be added to 
> git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git and 
> the patch for the same to be send to linux-firmware@kernel.org. And this 
> requires it to be in binary form. How does then that end up in the 
> firmware/ folder of the Linux source tree as an ihex file? 

You cannot do that. The old firmware/ directory in the source tree is
incomplete, out of date and scheduled for deletion.

Firmware should *only* go into the separate linux-firmware.git
repository.

> I would like to have one of the  firmware statically built into the 
> kernel as it is needed to be loaded even before file system is 
> initialized in kernel (network driver firmware).

Do not do that. It is believed by many to be a violation of the GPL.

If the firmware is needed to mount the root file system, then you can
put it into an initramfs and load it that way, rather than building it
into the GPL'd kernel image.


-- 
dwmw2



[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5691 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Question on adding a firmware ihex file in the kernel source
  2015-08-20 23:15 ` David Woodhouse
@ 2015-09-02 16:54   ` Murali Karicheri
  0 siblings, 0 replies; 4+ messages in thread
From: Murali Karicheri @ 2015-09-02 16:54 UTC (permalink / raw)
  To: David Woodhouse, linux-kernel, linux-firmware

On 08/20/2015 07:15 PM, David Woodhouse wrote:
> On Thu, 2015-08-20 at 17:46 -0400, Murali Karicheri wrote:
>> All,
>>
>> Please help me understand the procedure to add a firmware ihex file to
>> kernel source tree under firmware/ folder. The README.AddingFirmware
>> file explains that file should be added to
>> git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git and
>> the patch for the same to be send to linux-firmware@kernel.org. And this
>> requires it to be in binary form. How does then that end up in the
>> firmware/ folder of the Linux source tree as an ihex file?
>
> You cannot do that. The old firmware/ directory in the source tree is
> incomplete, out of date and scheduled for deletion.
>
> Firmware should *only* go into the separate linux-firmware.git
> repository.
>
>> I would like to have one of the  firmware statically built into the
>> kernel as it is needed to be loaded even before file system is
>> initialized in kernel (network driver firmware).
>
> Do not do that. It is believed by many to be a violation of the GPL.
>
> If the firmware is needed to mount the root file system, then you can
> put it into an initramfs and load it that way, rather than building it
> into the GPL'd kernel image.
Can you point me to a script in initramfs that I can use to switch 
rootfs using switch_root during kernel boot up?

For example, in my case, the PCIe serdes firmware is required to 
initialize PCIe to use SATA harddisk. So I plan to put the firmware in 
initramfs to request_firmware() and initialize the serdes so that PCIe 
become functional so that at a later point in bootup, I can switch my 
rootfs to the rootfs on harddisk using switch_root

Murali

>
>


-- 
Murali Karicheri
Linux Kernel, Keystone

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-09-02 16:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-20 21:46 Question on adding a firmware ihex file in the kernel source Murali Karicheri
2015-08-20 21:58 ` Arend van Spriel
2015-08-20 23:15 ` David Woodhouse
2015-09-02 16:54   ` Murali Karicheri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox