From e018c4d7ab8b712ce8b538e8cf3275ca90e8c02e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 23 Jan 2017 13:41:49 +0100 Subject: [PATCH] uboot-sunxi: clean up, switch to u-boot.mk Instead of referencing u-boot packages from device profiles and having a -all metapackage, make the u-boot packages hidden (they don't install to bin/ anyway), and name the files in KERNEL_BUILD_DIR appropriately Signed-off-by: Felix Fietkau --- package/boot/uboot-sunxi/Makefile | 170 +++++++++++------- .../patches/001-use-dtc-in-kernel.patch | 11 -- target/linux/sunxi/image/Makefile | 49 ++--- target/linux/sunxi/profiles/00-default.mk | 1 - 4 files changed, 124 insertions(+), 107 deletions(-) delete mode 100644 package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index bc80dcfade..311437a0af 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -9,90 +9,134 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk -PKG_NAME:=u-boot PKG_VERSION:=2016.03 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot + PKG_HASH:=e49337262ecac44dbdeac140f2c6ebd1eba345e0162b0464172e7f05583ed7bb + PKG_MAINTAINER:=Zoltan HERPAI -PKG_LICENSE:=GPL-2.0 GPL-2.0+ -PKG_LICENSE_FILES:=Licenses/README -PKG_BUILD_PARALLEL:=1 +include $(INCLUDE_DIR)/u-boot.mk +include $(INCLUDE_DIR)/package.mk -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) +define U-Boot/Default + BUILD_TARGET:=sunxi + UBOOT_IMAGE:=u-boot-sunxi-with-spl.bin + UENV:=default + HIDDEN:=1 +endef -include $(INCLUDE_DIR)/package.mk +define U-Boot/A10-OLinuXino-Lime + NAME:=A10 OLinuXino LIME + BUILD_DEVICES:=sun4i-a10-olinuxino-lime +endef + +define U-Boot/A13-OLinuXino + NAME:=A13 OlinuXino + BUILD_DEVICES:=sun5i-a13-olinuxino +endef -define Package/uboot/template -define Package/uboot-sunxi-$(1) - SECTION:=boot - CATEGORY:=Boot Loaders - DEPENDS:=@TARGET_sunxi - TITLE:=U-Boot for $(2) - URL:=http://www.denx.de/wiki/U-Boot - VARIANT:=$(1) +define U-Boot/A20-OLinuXino-Lime + NAME:=A20 OLinuXino LIME + BUILD_DEVICES:=sun7i-a20-olinuxino-lime endef -define Package/uboot-sunxi-$(1)/install - $(CP) $(PKG_BUILD_DIR)/u-boot-sunxi-with-spl.bin \ - $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-u-boot-with-spl.bin - mkimage -C none -A arm -T script -d uEnv-$(if $(3),$(3),default).txt \ - $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-boot.scr +define U-Boot/A20-OLinuXino_MICRO + NAME:=A20 OLinuXino MICRO + BUILD_DEVICES:=sun7i-a20-olinuxino-micro endef -UBOOT_SUNXI_PACKAGES += uboot-sunxi-$(1) +define U-Boot/Bananapi + NAME:=Bananapi + BUILD_DEVICES:=sun7i-a20-bananapi +endef +define U-Boot/Bananapro + NAME:=Bananapro + BUILD_DEVICES:=sun7i-a20-bananapro endef -$(eval $(call Package/uboot/template,A10-OLinuXino-Lime,the A10 OLinuXino LIME)) -$(eval $(call Package/uboot/template,A13-OLinuXino,the A13 OlinuXino)) -$(eval $(call Package/uboot/template,A20-OLinuXino-Lime,the A20 OLinuXino LIME)) -$(eval $(call Package/uboot/template,A20-OLinuXino_MICRO,A20 OLinuXino MICRO)) -$(eval $(call Package/uboot/template,Bananapi,Bananapi)) -$(eval $(call Package/uboot/template,Bananapro,Bananapro)) -$(eval $(call Package/uboot/template,Cubieboard,Cubieboard)) -$(eval $(call Package/uboot/template,Cubieboard2,Cubieboard2)) -$(eval $(call Package/uboot/template,Cubietruck,Cubietruck)) -$(eval $(call Package/uboot/template,Hummingbird_A31,the Hummingbird A31 board)) -$(eval $(call Package/uboot/template,Mele_M9,the Mele M9 (A31))) -$(eval $(call Package/uboot/template,OLIMEX_A13_SOM,the Olimex A13 SOM)) -$(eval $(call Package/uboot/template,Linksprite_pcDuino,Linksprite pcDuino)) -$(eval $(call Package/uboot/template,Linksprite_pcDuino3,Linksprite pcDuino3)) -$(eval $(call Package/uboot/template,Lamobo_R1,Lamobo R1)) -$(eval $(call Package/uboot/template,orangepi_plus,Orange Pi Plus (H3))) -$(eval $(call Package/uboot/template,pangolin,Theobroma A31-yQ7 devboard,pangolin)) +define U-Boot/Cubieboard + NAME:=Cubieboard + BUILD_DEVICES:=sun4i-a10-cubieboard +endef -define Package/uboot-sunxi-all - SECTION:=boot - CATEGORY:=Boot Loaders - DEPENDS:=@TARGET_sunxi - TITLE:=Meta package for selecting all variants of uboot-sunxi - URL:=http://www.denx.de/wiki/U-Boot - DEPENDS:=$(patsubst %,+%,$(UBOOT_SUNXI_PACKAGES)) +define U-Boot/Cubieboard2 + NAME:=Cubieboard2 + BUILD_DEVICES:=sun7i-a20-cubieboard2 endef -ifdef BUILD_VARIANT -define Build/Configure - +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ - USE_PRIVATE_LIBGCC=yes $(BUILD_VARIANT)_defconfig +define U-Boot/Cubietruck + NAME:=Cubietruck + BUILD_DEVICES:=sun7i-a20-cubietruck endef -define Build/Compile - +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ - CROSS_COMPILE=$(TARGET_CROSS) \ - DTCDIR=$(LINUX_DIR)/scripts/dtc/ +define U-Boot/Hummingbird_A31 + NAME:=Hummingbird A31 board endef -else # BUILD_VARIANT -define Build/Prepare + +define U-Boot/Mele_M9 + NAME:=Mele M9 (A31) + BUILD_DEVICES:=sun6i-a31-m9 endef -define Build/Configure + +define U-Boot/OLIMEX_A13_SOM + NAME:=Olimex A13 SOM + BUILD_DEVICES:=sun5i-a13-olimex-som +endef + +define U-Boot/Linksprite_pcDuino + NAME:=Linksprite pcDuino + BUILD_DEVICES:=sun4i-a10-pcduino endef -define Build/Compile + +define U-Boot/Linksprite_pcDuino3 + NAME:=Linksprite pcDuino3 + BUILD_DEVICES:=sun7i-a20-pcduino3 +endef + +define U-Boot/Lamobo_R1 + NAME:=Lamobo R1 + BUILD_DEVICES:=sun7i-a20-lamobo-r1 +endef + +define U-Boot/orangepi_plus + NAME:=Orange Pi Plus (H3) + BUILD_DEVICES:=sun8i-h3-orangepi-plus +endef + +define U-Boot/pangolin + NAME:=Theobroma A31-yQ7 devboard + UENV:=pangolin +endef + +UBOOT_TARGETS := \ + A10-OLinuXino-Lime \ + A13-OLinuXino \ + A20-OLinuXino-Lime \ + A20-OLinuXino_MICRO \ + Bananapi \ + Bananapro \ + Cubieboard \ + Cubieboard2 \ + Cubietruck \ + Hummingbird_A31 \ + Mele_M9 \ + OLIMEX_A13_SOM \ + Linksprite_pcDuino \ + Linksprite_pcDuino3 \ + Lamobo_R1 \ + orangepi_plus \ + pangolin + +UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes + +define Build/InstallDev + $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(KERNEL_BUILD_DIR)/$(BUILD_DEVICES)-u-boot-with-spl.bin + mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \ + $(KERNEL_BUILD_DIR)/$(BUILD_DEVICES)-boot.scr +endef + +define Package/u-boot/install/default endef -endif # BUILD_VARIANT -$(foreach pkg,$(UBOOT_SUNXI_PACKAGES), \ - $(eval $(call BuildPackage,$(pkg))) \ -) -$(eval $(call BuildPackage,uboot-sunxi-all)) +$(eval $(call BuildPackage/U-Boot)) diff --git a/package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch b/package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch deleted file mode 100644 index 6471e78656..0000000000 --- a/package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -348,7 +348,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump - AWK = awk - PERL = perl - PYTHON = python --DTC = dtc -+DTC = $(DTCDIR)dtc - CHECK = sparse - - CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile index bc696cf8bd..bfb8e4e429 100644 --- a/target/linux/sunxi/image/Makefile +++ b/target/linux/sunxi/image/Makefile @@ -18,7 +18,7 @@ define Build/sunxi-sdcard rm -f $@.boot mkfs.fat $@.boot -C $(FAT32_BLOCKS) - mcopy -i $@.boot $(KDIR)/uboot-sunxi-$(SUNXI_UBOOT)-boot.scr ::boot.scr + mcopy -i $@.boot $(KDIR)/$(DEVICE_NAME)-boot.scr ::boot.scr mcopy -i $@.boot $(DTS_DIR)/$(SUNXI_DTS).dtb ::dtb mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage ./gen_sunxi_sdcard_img.sh $@ \ @@ -26,7 +26,7 @@ define Build/sunxi-sdcard $(IMAGE_ROOTFS) \ $(CONFIG_SUNXI_SD_BOOT_PARTSIZE) \ $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ - $(KDIR)/uboot-sunxi-$(SUNXI_UBOOT)-u-boot-with-spl.bin + $(KDIR)/$(DEVICE_NAME)-u-boot-with-spl.bin rm -f $@.boot endef @@ -42,10 +42,9 @@ endef define Device/sun4i-a10-olinuxino-lime DEVICE_TITLE:=Olimex A10-OLinuXino-LIME - DEVICE_PACKAGES:=uboot-sunxi-A10-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi + DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime SUNXI_DTS:=sun4i-a10-olinuxino-lime - SUNXI_UBOOT:=A10-OLinuXino-Lime endef TARGET_DEVICES += sun4i-a10-olinuxino-lime @@ -53,10 +52,9 @@ TARGET_DEVICES += sun4i-a10-olinuxino-lime define Device/sun5i-a13-olimex-som DEVICE_TITLE:=Olimex A13 SOM - DEVICE_PACKAGES:=uboot-sunxi-OLIMEX_A13_SOM kmod-rtl8192cu + DEVICE_PACKAGES:=kmod-rtl8192cu SUPPORTED_DEVICES:=olimex,a13-olinuxino SUNXI_DTS:=sun5i-a13-olinuxino - SUNXI_UBOOT:=OLIMEX_A13_SOM endef TARGET_DEVICES += sun5i-a13-olimex-som @@ -64,10 +62,9 @@ TARGET_DEVICES += sun5i-a13-olimex-som define Device/sun5i-a13-olinuxino DEVICE_TITLE:=Olimex A13-Olinuxino - DEVICE_PACKAGES:=uboot-sunxi-A13-OLinuXino kmod-rtl8192cu + DEVICE_PACKAGES:=kmod-rtl8192cu SUPPORTED_DEVICES:=olimex,a13-olinuxino SUNXI_DTS:=sun5i-a13-olinuxino - SUNXI_UBOOT:=A13-OLinuXino endef TARGET_DEVICES += sun5i-a13-olinuxino @@ -75,10 +72,9 @@ TARGET_DEVICES += sun5i-a13-olinuxino define Device/sun7i-a20-olinuxino-lime DEVICE_TITLE:=Olimex A20-OLinuXino-LIME - DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi + DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime SUNXI_DTS:=sun7i-a20-olinuxino-lime - SUNXI_UBOOT:=A20-OLinuXino-Lime endef TARGET_DEVICES += sun7i-a20-olinuxino-lime @@ -86,10 +82,9 @@ TARGET_DEVICES += sun7i-a20-olinuxino-lime define Device/sun7i-a20-olinuxino-micro DEVICE_TITLE:=Olimex A20-Olinuxino Micro - DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino_MICRO kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi + DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro SUNXI_DTS:=sun7i-a20-olinuxino-micro - SUNXI_UBOOT:=A20-OLinuXino_MICRO endef TARGET_DEVICES += sun7i-a20-olinuxino-micro @@ -97,10 +92,9 @@ TARGET_DEVICES += sun7i-a20-olinuxino-micro define Device/sun7i-a20-bananapi DEVICE_TITLE:=LeMaker Banana Pi - DEVICE_PACKAGES:=uboot-sunxi-Bananapi kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi + DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi SUPPORTED_DEVICES:=lemaker,bananapi SUNXI_DTS:=sun7i-a20-bananapi - SUNXI_UBOOT:=Bananapi endef TARGET_DEVICES += sun7i-a20-bananapi @@ -108,10 +102,9 @@ TARGET_DEVICES += sun7i-a20-bananapi define Device/sun7i-a20-bananapro DEVICE_TITLE:=LeMaker Banana Pro - DEVICE_PACKAGES:=uboot-sunxi-Bananapro kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac + DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac SUPPORTED_DEVICES:=lemaker,bananapro SUNXI_DTS:=sun7i-a20-bananapro - SUNXI_UBOOT:=Bananapro endef TARGET_DEVICES += sun7i-a20-bananapro @@ -119,10 +112,9 @@ TARGET_DEVICES += sun7i-a20-bananapro define Device/sun7i-a20-cubieboard2 DEVICE_TITLE:=Cubietech Cubieboard2 - DEVICE_PACKAGES:=uboot-sunxi-Cubieboard2 kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi + DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi SUPPORTED_DEVICES:=cubietech,cubieboard2 SUNXI_DTS:=sun7i-a20-cubieboard2 - SUNXI_UBOOT:=Cubieboard2 endef TARGET_DEVICES += sun7i-a20-cubieboard2 @@ -130,10 +122,9 @@ TARGET_DEVICES += sun7i-a20-cubieboard2 define Device/sun4i-a10-cubieboard DEVICE_TITLE:=Cubietech Cubieboard - DEVICE_PACKAGES:=uboot-sunxi-Cubieboard kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi + DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi SUPPORTED_DEVICES:=cubietech,a10-cubieboard SUNXI_DTS:=sun4i-a10-cubieboard - SUNXI_UBOOT:=Cubieboard endef TARGET_DEVICES += sun4i-a10-cubieboard @@ -141,10 +132,9 @@ TARGET_DEVICES += sun4i-a10-cubieboard define Device/sun7i-a20-cubietruck DEVICE_TITLE:=Cubietech Cubietruck - DEVICE_PACKAGES:=uboot-sunxi-Cubietruck kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac + DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac SUPPORTED_DEVICES:=cubietech,cubietruck SUNXI_DTS:=sun7i-a20-cubietruck - SUNXI_UBOOT:=Cubietruck endef TARGET_DEVICES += sun7i-a20-cubietruck @@ -152,10 +142,9 @@ TARGET_DEVICES += sun7i-a20-cubietruck define Device/sun7i-a20-lamobo-r1 DEVICE_TITLE:=Lamobo R1 - DEVICE_PACKAGES:=uboot-sunxi-Lamobo_R1 kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini + DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini SUPPORTED_DEVICES:=lamobo,lamobo-r1 SUNXI_DTS:=sun7i-a20-lamobo-r1 - SUNXI_UBOOT:=Lamobo_R1 endef TARGET_DEVICES += sun7i-a20-lamobo-r1 @@ -163,10 +152,9 @@ TARGET_DEVICES += sun7i-a20-lamobo-r1 define Device/sun6i-a31-m9 DEVICE_TITLE:=Mele M9 top set box - DEVICE_PACKAGES:=uboot-sunxi-Mele_M9 kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu + DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu SUPPORTED_DEVICES:=mele,m9 SUNXI_DTS:=sun6i-a31-m9 - SUNXI_UBOOT:=Mele_M9 endef TARGET_DEVICES += sun6i-a31-m9 @@ -174,10 +162,9 @@ TARGET_DEVICES += sun6i-a31-m9 define Device/sun8i-h3-orangepi-plus DEVICE_TITLE:=Xunlong Orange Pi Plus - DEVICE_PACKAGES:=kmod-rtc-sunxi uboot-sunxi-orangepi_plus + DEVICE_PACKAGES:=kmod-rtc-sunxi SUPPORTED_DEVICES:=xunlong,orangepi-plus SUNXI_DTS:=sun8i-h3-orangepi-plus - SUNXI_UBOOT:=orangepi_plus endef TARGET_DEVICES += sun8i-h3-orangepi-plus @@ -185,10 +172,9 @@ TARGET_DEVICES += sun8i-h3-orangepi-plus define Device/sun7i-a20-pcduino3 DEVICE_TITLE:=LinkSprite pcDuino3 - DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware + DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware SUPPORTED_DEVICES:=linksprite,pcduino3 SUNXI_DTS:=sun7i-a20-pcduino3 - SUNXI_UBOOT:=Linksprite_pcDuino3 endef TARGET_DEVICES += sun7i-a20-pcduino3 @@ -196,10 +182,9 @@ TARGET_DEVICES += sun7i-a20-pcduino3 define Device/sun4i-a10-pcduino DEVICE_TITLE:=LinkSprite pcDuino - DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu + DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu SUPPORTED_DEVICES:=linksprite,a10-pcduino SUNXI_DTS:=sun4i-a10-pcduino - SUNXI_UBOOT:=Linksprite_pcDuino endef TARGET_DEVICES += sun4i-a10-pcduino diff --git a/target/linux/sunxi/profiles/00-default.mk b/target/linux/sunxi/profiles/00-default.mk index b7ecfb0831..ee0bc6bdd9 100644 --- a/target/linux/sunxi/profiles/00-default.mk +++ b/target/linux/sunxi/profiles/00-default.mk @@ -17,7 +17,6 @@ define Profile/Default kmod-sun4i-emac \ rtl8188eu-firmware \ swconfig \ - uboot-sunxi-all \ wpad-mini PRIORITY := 1 endef -- 2.30.2