Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1210748 > unrolled thread

Question on adding a firmware ihex file in the kernel source

Started byMurali Karicheri <m-karicheri2@ti.com>
First post2015-08-20 23:50 +0200
Last post2015-09-02 19:00 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  Question on adding a firmware ihex file in the kernel source Murali Karicheri <m-karicheri2@ti.com> - 2015-08-20 23:50 +0200
    Re: Question on adding a firmware ihex file in the kernel source Arend van Spriel <arend@broadcom.com> - 2015-08-21 00:00 +0200
    Re: Question on adding a firmware ihex file in the kernel source David Woodhouse <dwmw2@infradead.org> - 2015-08-21 01:20 +0200
      Re: Question on adding a firmware ihex file in the kernel source Murali Karicheri <m-karicheri2@ti.com> - 2015-09-02 19:00 +0200

#1210748 — Question on adding a firmware ihex file in the kernel source

FromMurali Karicheri <m-karicheri2@ti.com>
Date2015-08-20 23:50 +0200
SubjectQuestion on adding a firmware ihex file in the kernel source
Message-ID<pZFSF-u8-5@gated-at.bofh.it>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1210754

FromArend van Spriel <arend@broadcom.com>
Date2015-08-21 00:00 +0200
Message-ID<pZG2q-G0-103@gated-at.bofh.it>
In reply to#1210748
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1210785

FromDavid Woodhouse <dwmw2@infradead.org>
Date2015-08-21 01:20 +0200
Message-ID<pZHhM-2HW-3@gated-at.bofh.it>
In reply to#1210748

[Multipart message — attachments visible in raw view] — view raw

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


[toc] | [prev] | [next] | [standalone]


#1217748

FromMurali Karicheri <m-karicheri2@ti.com>
Date2015-09-02 19:00 +0200
Message-ID<q4jya-2ro-11@gated-at.bofh.it>
In reply to#1210785
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web