Skip to contentSkip to conversation

kernel build: issue whith "make tar-pkg" with INSTALL_FW_PATH

PATCH New Maximilian Pasternak 1 participant 1 message Mar 18, 2011 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kernel build: issue whith "make tar-pkg" with INSTALL_FW_PATH

Hello,

"make tar-pkg" with set INSTALL_FW_PATH does not work like expected.

Initial situation:
------------------
building a kernel package with
| make tar-pkg INSTALL_FW_PATH=/somewhere

Expected result:
----------------
* tar-archive including the firmware in folder /somehere

Result:
-------
* tar-archive without firmware
* firmware on hd in folder /somewhere

Reason:
-------
Makefile:

| # Firmware install
| INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware
| export INSTALL FW PATH
...
| firmware_install: FORCE
|      @mkdir -p $(objtree)/firmware
|      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware

__fw_install

Here INSTALL_MOD_PATH is not considered but is needed for packageing.

Potential fix:
--------------

--- BEGIN PATCH -------------------------------------------------------

Makefile 2011-03-13 18:31:05.000000000 +0200 renamed from Makefile 2011-03-13 18:24:19.000000000 +0200 +3 -3
diff -ur linux-2.6.38_orig/Makefile linux-2.6.38/Makefile
@@ -1028,8 +1028,9 @@
 
 #
---------------------------------------------------------------------------
 # Firmware install
-INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware
-export INSTALL_FW_PATH
+INSTALL_FW_PATH=/lib/firmware
+INSTALL_FW_TO_PATH=$(INSTALL_MOD_PATH)$(INSTALL_FW_PATH)
+export INSTALL_FW_TO_PATH
 
 PHONY += firmware_install

firmware_install: FORCE
diff -ur linux-2.6.38_orig/scripts/Makefile.fwinst linux-2.6.38/scripts/Makefile.fwinst
--- linux-2.6.38_orig/scripts/Makefile.fwinst 2011-03-13
18:25:47.000000000 +0200
+++ linux-2.6.38/scripts/Makefile.fwinst 2011-03-13
18:29:38.000000000 +0200
@@ -24,14 +24,14 @@
mod-fw += $(fw-shipped-y)
endif

-installed-mod-fw := $(addprefix $(INSTALL_FW_PATH)/,$(mod-fw)) +installed-mod-fw := $(addprefix $(INSTALL_FW_TO_PATH)/,$(mod-fw))

-installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all)) -installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/. +installed-fw := $(addprefix $(INSTALL_FW_TO_PATH)/,$(fw-shipped-all)) +installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_TO_PATH)/.

# Workaround for make < 3.81, where .SECONDEXPANSION doesn't work.
-PHONY += $(INSTALL_FW_PATH)/$$(%) install-all-dirs -$(INSTALL_FW_PATH)/$$(%): install-all-dirs
+PHONY += $(INSTALL_FW_TO_PATH)/$$(%) install-all-dirs +$(INSTALL_FW_TO_PATH)/$$(%): install-all-dirs
@true
install-all-dirs: $(installed-fw-dirs)
@true
@@ -42,7 +42,7 @@
$(installed-fw-dirs):

     $(call cmd,mkdir)

-$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %) +$(installed-fw): $(INSTALL_FW_TO_PATH)/%: $(obj)/% | $(INSTALL_FW_TO_PATH)/$$(dir %)

     $(call cmd,install)

PHONY += __fw_install __fw_modinst FORCE
--- END PATCH ---------------------------------------------------------

Please send answers CC since i have not subscribed to this list.

Thank you

Max