Changeset 14089


Ignorieren:
Zeitstempel:
19.02.2017 20:05:06 (vor 20 Monaten)
Autor:
er13
Nachricht:

kernel-3.10.x:

  • add support for creating/compiling avm_kernel_config_area (by PeterPawn, s. this thread for more details)
  • enable replace-kernel for kernel-3.10.x based boxes - STILL HIGHLY EXPERIMENTAL
  • refs #2418, refs #2774, refs this thread

Note: all users of kernel-3.10.x based boxes must manually call make kernel-dirclean after updating to this revision.

Ort:
trunk
Dateien:
1 hinzugefügt
1 gelöscht
4 bearbeitet

Legende:

Unverändert
Hinzugefügt
Entfernt
  • trunk/config/mod/kernel.in

    r14074 r14089  
    1818        ! (FREETZ_TYPE_6840 && FREETZ_TYPE_FIRMWARE_05_2X) && \ 
    1919        \ 
    20         ! FREETZ_TYPE_7369 && \ 
    21         \ 
    22         ! FREETZ_KERNEL_VERSION_3_10_MIN 
     20        ! FREETZ_TYPE_7369 
    2321    default y 
    2422    help 
  • trunk/make/Makefile.in

    r14011 r14089  
    165165DL_SOURCE:=$(call qstrip,$(FREETZ_DL_SOURCE)) 
    166166DL_SOURCE_MD5:=$(call qstrip,$(FREETZ_DL_SOURCE_MD5)) 
     167export DL_SOURCE_ID=$(shell echo $(DL_SOURCE) | tools/imagename2id) 
    167168 
    168169ifneq ($(strip $(FREETZ_DL_SOURCE_CONTAINER)),) 
  • trunk/make/linux/Makefile.in

    r12030 r14089  
    99KERNEL_HEADERS_DIR:=$(KERNEL_SOURCE_DIR)/include 
    1010KERNEL_MODULES_DIR:=$(KERNEL_TARGET_DIR)/modules-$(KERNEL_ID) 
     11AVM_KERNEL_CONFIG_DIR:=$(KERNEL_SOURCE_DIR)/arch/$(TARGET_ARCH)/kernel 
    1112 
    1213KERNEL_LINKING_FILES = \ 
  • trunk/make/linux/kernel.mk

    r13638 r14089  
    163163    @touch $@ 
    164164 
    165 $(KERNEL_BUILD_ROOT_DIR)$(KERNEL_IMAGE_BUILD_SUBDIR)/$(KERNEL_IMAGE): $(KERNEL_DIR)/.prepared | $(TOOLS_DIR)/lzma $(TOOLS_DIR)/lzma2eva 
     165ifeq ($(strip $(FREETZ_KERNEL_VERSION_3_10_MIN)),y) 
     166$(AVM_KERNEL_CONFIG_DIR): | $(KERNEL_DIR)/.unpacked 
     167    @mkdir -p $@ 
     168 
     169$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.$(DL_SOURCE_ID).bin: $(DL_FW_DIR)/$(DL_SOURCE) | $(KERNEL_DIR)/.unpacked $(AVM_KERNEL_CONFIG_DIR) tools 
     170    @$(TOOLS_DIR)/avm_kernel_config.extract.sh "$<" >"$@" || { $(RM) "$@"; exit 1; } 
     171 
     172$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.$(DL_SOURCE_ID).S: $(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.$(DL_SOURCE_ID).bin | $(KERNEL_DIR)/.unpacked $(AVM_KERNEL_CONFIG_DIR) tools 
     173    @$(TOOLS_DIR)/avm_kernel_config.gen "$<" >"$@" || { $(RM) "$@"; exit 1; } 
     174 
     175# Force kernel rebuild if avm_kernel_config_area.S differs from avm_kernel_config_area.$(DL_SOURCE_ID).S 
     176# To reduce maintenance effort we often use the same opensrc package for different boxes. 
     177# avm_kernel_config_area is however box/firmware-release specific, i.e. the kernel must be rebuilt 
     178# if BOX_ID changes even though the opensrc package might still be the same. 
     179$(shell diff -q "$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.S" "$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.$(DL_SOURCE_ID).S" >/dev/null 2>&1 || $(RM) "$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.S" >/dev/null 2>&1) 
     180 
     181$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.S: $(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.$(DL_SOURCE_ID).S 
     182    @cat "$<" >"$@" 
     183 
     184.PHONY: avm_kernel_config 
     185avm_kernel_config: $(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.S 
     186endif 
     187 
     188$(KERNEL_BUILD_ROOT_DIR)$(KERNEL_IMAGE_BUILD_SUBDIR)/$(KERNEL_IMAGE): $(KERNEL_DIR)/.prepared $(if $(FREETZ_KERNEL_VERSION_3_10_MIN),$(AVM_KERNEL_CONFIG_DIR)/avm_kernel_config_area.S) | $(TOOLS_DIR)/lzma $(TOOLS_DIR)/lzma2eva 
    166189    $(call _ECHO, kernel image... ) 
    167190    $(SUBMAKE) $(KERNEL_COMMON_MAKE_OPTIONS) $(KERNEL_IMAGE) 
    168191    touch -c $@ 
    169  
    170 kernel-force: 
    171     $(SUBMAKE) $(KERNEL_COMMON_MAKE_OPTIONS) $(KERNEL_IMAGE) 
    172192 
    173193$(KERNEL_TARGET_DIR)/$(KERNEL_TARGET_BINARY): $(KERNEL_BUILD_ROOT_DIR)$(KERNEL_IMAGE_BUILD_SUBDIR)/$(KERNEL_IMAGE) | $(KERNEL_TARGET_DIR) 
Hinweis: Hilfe zur Verwendung der Changeset-Ansicht finden Sie unter TracChangeset.