DennisWithDai / linux-kernel

0 stars 0 forks source link

how to config linux kernel via patch? #3

Closed DennisWithDai closed 7 years ago

DennisWithDai commented 7 years ago

As we know,it is convenient to upgrade linux kernel if we never touch any source code.So how could we config linux kernel via patch that could add our dirvers into linux kernel?

DennisWithDai commented 7 years ago

diff -uprN '--exclude=.git' linux-kernel-4.4-bak/arch/arm/Kconfig linux-kernel-4.4/arch/arm/Kconfig --- linux-kernel-4.4-bak/arch/arm/Kconfig 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/arch/arm/Kconfig 2017-04-01 15:44:37.931993953 +0800 @@ -811,6 +811,8 @@ config ARCH_VIRT # source "arch/arm/mach-mvebu/Kconfig"

+source "drivers/alidrivers/modules/aliarch/arm/mach-ali/Kconfig" + source "arch/arm/mach-alpine/Kconfig"

source "arch/arm/mach-asm9260/Kconfig" diff -uprN '--exclude=.git' linux-kernel-4.4-bak/arch/arm/kernel/head.S linux-kernel-4.4/arch/arm/kernel/head.S --- linux-kernel-4.4-bak/arch/arm/kernel/head.S 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/arch/arm/kernel/head.S 2017-04-01 15:44:37.931993953 +0800 @@ -52,7 +52,8 @@ .equ swapper_pg_dir, KERNEL_RAM_VADDR - PG_DIR_SIZE

.macro  pgtbl, rd, phys

diff -uprN '--exclude=.git' linux-kernel-4.4-bak/arch/arm/Makefile linux-kernel-4.4/arch/arm/Makefile --- linux-kernel-4.4-bak/arch/arm/Makefile 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/arch/arm/Makefile 2017-04-01 15:44:37.931993953 +0800 @@ -141,6 +141,7 @@ head-y := arch/arm/kernel/head$(MMUEXT)

Text offset. This list is sorted numerically by address in order to

provide a means to avoid/resolve conflicts in multi-arch kernels.

textofs-y := 0x00008000 +textofs-$(CONFIG_ARCH_ALI) := 0x03008000 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000

We don't want the htc bootloader to corrupt kernel during resume

textofs-$(CONFIG_PM_H1940) := 0x00108000 @@ -249,13 +250,13 @@ TEXT_OFFSET := $(textofs-y) ifneq ($(machine-y),) MACHINE := arch/arm/mach-$(word 1,$(machine-y))/ else -MACHINE := +MACHINE := drivers/alidrivers/modules/aliarch/arm/mach-ali/ endif ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y) MACHINE := endif

-machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) +machdirs := $(patsubst %,drivers/alidrivers/modules/aliarch/arm/mach-%/,ali) platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))

ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y) diff -uprN '--exclude=.git' linux-kernel-4.4-bak/arch/mips/Kbuild linux-kernel-4.4/arch/mips/Kbuild --- linux-kernel-4.4-bak/arch/mips/Kbuild 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/arch/mips/Kbuild 2017-04-01 15:44:44.491993948 +0800 @@ -4,7 +4,7 @@ subdir-ccflags-y := -Werror

platform specific definitions

-include arch/mips/Kbuild.platforms +include drivers/alidrivers/modules/aliarch/mips/ali/Kbuild.platforms obj-y := $(platform-y)

make clean traverses $(obj-) without having included .config, so

diff -uprN '--exclude=.git' linux-kernel-4.4-bak/arch/mips/Kconfig linux-kernel-4.4/arch/mips/Kconfig --- linux-kernel-4.4-bak/arch/mips/Kconfig 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/arch/mips/Kconfig 2017-04-01 15:44:44.491993948 +0800 @@ -968,8 +968,33 @@ config MIPS_PARAVIRT help This option supports guest running under ????

+config ARCH_ALI

+source "drivers/alidrivers/modules/aliarch/mips/ali/Kconfig" source "arch/mips/alchemy/Kconfig" source "arch/mips/ath25/Kconfig" source "arch/mips/ath79/Kconfig" diff -uprN '--exclude=.git' linux-kernel-4.4-bak/arch/mips/Makefile linux-kernel-4.4/arch/mips/Makefile --- linux-kernel-4.4-bak/arch/mips/Makefile 2017-04-01 15:36:08.567994372 +0800 +++ linux-kernel-4.4/arch/mips/Makefile 2017-04-01 15:44:44.491993948 +0800 @@ -224,7 +224,7 @@ endif #

Board-dependent options and extra files

# -include arch/mips/Kbuild.platforms +include drivers/alidrivers/modules/aliarch/mips/ali/Kbuild.platforms

ifdef CONFIG_PHYSICAL_START load-y = $(CONFIG_PHYSICAL_START) diff -uprN '--exclude=.git' linux-kernel-4.4-bak/drivers/Kconfig linux-kernel-4.4/drivers/Kconfig --- linux-kernel-4.4-bak/drivers/Kconfig 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/drivers/Kconfig 2017-04-01 15:44:37.931993953 +0800 @@ -1,5 +1,7 @@ menu "Device Drivers"

+source "drivers/alidrivers/modules/Kconfig" + source "drivers/amba/Kconfig"

source "drivers/base/Kconfig" diff -uprN '--exclude=.git' linux-kernel-4.4-bak/drivers/Makefile linux-kernel-4.4/drivers/Makefile --- linux-kernel-4.4-bak/drivers/Makefile 2016-12-29 09:38:08.702047365 +0800 +++ linux-kernel-4.4/drivers/Makefile 2017-04-01 15:44:37.931993953 +0800 @@ -172,3 +172,4 @@ obj-$(CONFIG_STM) += hwtracing/stm/ obj-$(CONFIG_ANDROID) += android/ obj-$(CONFIG_NVMEM) += nvmem/ obj-$(CONFIG_FPGA) += fpga/ +obj-$(CONFIG_ARCH_ALI) += alidrivers/modules/