Index: toolchain/kernel-headers/Makefile =================================================================== --- toolchain/kernel-headers/Makefile (revision 22269) +++ toolchain/kernel-headers/Makefile (working copy) @@ -18,7 +18,13 @@ PKG_VERSION:=$(LINUX_VERSION) PKG_SOURCE:=$(LINUX_SOURCE) PKG_SOURCE_URL:=$(LINUX_SITE) -HOST_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) + +ifneq ($(CONFIG_USE_LIBRE_KERNEL),) + HOST_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-$(shell echo $(LINUX_VERSION) | cut -d"-" -f1 -) +else + HOST_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) +endif + PKG_MD5SUM:=$(LINUX_KERNEL_MD5SUM) LINUX_DIR := $(HOST_BUILD_DIR) FILES_DIR := Index: include/kernel.mk =================================================================== --- include/kernel.mk (revision 22269) +++ include/kernel.mk (working copy) @@ -31,8 +31,13 @@ FILES_DIR ?= $(foreach dir,$(wildcard ./files ./files-$(KERNEL_PATCHVER)),"$(dir)") endif KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) - LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) + ifneq ($(CONFIG_USE_LIBRE_KERNEL),) + LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(shell echo $(LINUX_VERSION) | cut -d"-" -f1 -) + else + LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) + endif + MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION) TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR) @@ -41,11 +46,19 @@ LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2 TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,) ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE)),) - LINUX_SITE:=@KERNEL/linux/kernel/v$(KERNEL)$(TESTING) + ifneq ($(CONFIG_USE_LIBRE_KERNEL),) + LINUX_SITE:=@KERNEL_LIBRE/download/releases/$(LINUX_VERSION) + else + LINUX_SITE:=@KERNEL/linux/kernel/v$(KERNEL)$(TESTING) + endif endif ifneq ($(TARGET_BUILD),1) - PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) + ifneq ($(CONFIG_USE_LIBRE_KERNEL),) + PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(shell echo $(PKG_VERSION) | cut -d"-" -f1 -)) + else + PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) + endif endif endif Index: include/kernel-defaults.mk =================================================================== --- include/kernel-defaults.mk (revision 22269) +++ include/kernel-defaults.mk (working copy) @@ -33,12 +33,22 @@ KERNEL_MAKEOPTS += CC="$(KERNEL_CC)" endif +ifneq ($(CONFIG_ON_SITE_DEBLOB),) + CURRENT_DIR:=$(shell pwd) + define Kernel/Free + @echo "Deblobing kernel sources at $(LINUX_DIR)" + cd $(LINUX_DIR) && $(SCRIPT_DIR)/deblob/deblob-$(shell echo $(LINUX_VERSION) | cut -d"." -f1,2,3 -) && cd $(CURRENT_DIR) + endef +endif + + # defined in quilt.mk Kernel/Patch:=$(Kernel/Patch/Default) ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") define Kernel/Prepare/Default bzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS) + $(Kernel/Free) $(Kernel/Patch) touch $(LINUX_DIR)/.quilt_used endef Index: include/download.mk =================================================================== --- include/download.mk (revision 22269) +++ include/download.mk (working copy) @@ -11,7 +11,7 @@ define dl_method $(strip \ $(if $(2),$(2), \ - $(if $(filter @GNOME/% @GNU/% @KERNEL/% @SF/% ftp://% http://% file://%,$(1)),default, \ + $(if $(filter @GNOME/% @GNU/% @KERNEL/% @KERNEL_LIBRE/% @SF/% ftp://% http://% file://%,$(1)),default, \ $(if $(filter git://%,$(1)),git, \ $(if $(filter svn://%,$(1)),svn, \ $(if $(filter cvs://%,$(1)),cvs, \ Index: target/linux/x86/Makefile =================================================================== --- target/linux/x86/Makefile (revision 22269) +++ target/linux/x86/Makefile (working copy) @@ -12,8 +12,16 @@ FEATURES:=squashfs jffs2 ext2 vdi vmdk pcmcia targz SUBTARGETS=generic olpc xen_domu ep80579 net5501 -LINUX_VERSION:=2.6.32.14 +ifneq ($(CONFIG_USE_LIBRE_KERNEL),) + LINUX_VERSION:=2.6.32.14-libre1 + @echo "FINDME:: LIBRE" +else + LINUX_VERSION:=2.6.32.14 + @echo "FINDME:: OPEN" +endif + + include $(INCLUDE_DIR)/target.mk $(eval $(call BuildTarget)) Index: target/linux/xburst/Makefile =================================================================== --- target/linux/xburst/Makefile (revision 22269) +++ target/linux/xburst/Makefile (working copy) @@ -12,7 +12,13 @@ FEATURES:=jffs2 targz ubifs audio SUBTARGETS:=qi_lb60 n516 n526 -LINUX_VERSION:=2.6.34.1 +ifneq ($(CONFIG_USE_LIBRE_KERNEL),) + LINUX_VERSION:=2.6.32.14-libre1 + @echo "FINDME:: LIBRE" +else + LINUX_VERSION:=2.6.32.14 + @echo "FINDME:: OPEN" +endif DEVICE_TYPE=other Index: scripts/download.pl =================================================================== --- scripts/download.pl (revision 22269) +++ scripts/download.pl (working copy) @@ -143,6 +143,8 @@ push @mirrors, "http://ftp.de.kernel.org/pub/$1"; push @mirrors, "ftp://ftp.fr.kernel.org/pub/$1"; push @mirrors, "http://ftp.fr.kernel.org/pub/$1"; + } elsif ($mirror =~ /^\@KERNEL_LIBRE\/(.+)$/) { + push @mirrors, "http://www.fsfla.org/svnwiki/selibre/linux-libre/$1"; } elsif ($mirror =~ /^\@GNOME\/(.+)$/) { push @mirrors, "http://ftp.gnome.org/pub/GNOME/sources/$1"; push @mirrors, "http://ftp.unina.it/pub/linux/GNOME/sources/$1"; Index: Config.in =================================================================== --- Config.in (revision 22269) +++ Config.in (working copy) @@ -118,6 +118,15 @@ endmenu + +config USE_LIBRE_KERNEL + bool "Use Libre-Linux kernel" + default y + +config ON_SITE_DEBLOB + bool "Deblob Linux kernel on site" + default n + menu "Global build settings" config ALL