[PATCH 1/5] boot/apex: Restore the APEX boot loader

Hauke Mehrtens hauke at hauke-m.de
Fri Aug 11 07:09:55 PDT 2023


On 6/19/23 13:31, Linus Walleij wrote:
> This is a partial revert of the deletion of the IXP4xx
> target: we restore the APEX boot loader so we can use it
> for the NSLU2 and related targets.
> 
> The APEX upstream is as dead as it gets so I have applied
> OpenWrts old patches on top of the never released
> v1.6.10 version and forked it into an OpenWrt variant
> on GitHub. If the upstream comes back alive I will
> happily switch over to it.
> 
> The file refers to the external GitHub, I suppose when
> integrating this patch the file should be copied to OpenWrts
> file repository and the file link changed.
> 
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>   package/boot/apex/Makefile | 61 ++++++++++++++++++++++++++++++++++++++
>   1 file changed, 61 insertions(+)
>   create mode 100644 package/boot/apex/Makefile
> 
> diff --git a/package/boot/apex/Makefile b/package/boot/apex/Makefile
> new file mode 100644
> index 000000000000..f4ce5811b024
> --- /dev/null
> +++ b/package/boot/apex/Makefile
> @@ -0,0 +1,61 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# Copyright (C) 2006-2023 OpenWrt.org
> +
> +include $(TOPDIR)/rules.mk
> +include $(INCLUDE_DIR)/kernel.mk
> +
> +PKG_NAME:=apex
> +# This version was created from the stalled and unreleased v1.6.10
> +# with some patches on top.
> +PKG_VERSION:=1.6.10-openwrt
> +PKG_RELEASE:=1
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> +PKG_SOURCE_URL:=https://github.com/linusw/apex/releases/download/v1.6.10-openwrt/
> +PKG_HASH:=034baa99574014f4bcb8d36baf830fa942bef816b22e228eabd7c5663612c640
> +PKG_TARGETS:=bin
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +export GCC_HONOUR_COPTS=s
> +
> +define Package/apex
> +  SECTION:=boot
> +  CATEGORY:=Boot Loaders
> +  DEPENDS:=@TARGET_ixp4xx
> +  DEFAULT:=y

I do not like it when a package is default y. This will always activate 
it by default.
Maybe should also also mark this none shared.

> +  TITLE:=Boot loader for NSLU2, FSG3, NAS100D and others
> +endef
> +
> +define build_apex
> +	$(MAKE) -C $(PKG_BUILD_DIR) \
> +		ARCH=arm \
> +		$(1)_config
> +	$(MAKE) -C $(PKG_BUILD_DIR) \
> +		$(TARGET_CONFIGURE_OPTS) \
> +		KBUILD_HAVE_NLS=no \
> +		ARCH=arm \
> +		clean all
> +	$(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(PKG_BUILD_DIR)/out/apex-$(2).bin
> +endef
> +
> +define Build/Compile
> +	$(INSTALL_DIR) $(PKG_BUILD_DIR)/out
> +	$(call build_apex,openwrt-nslu2-armeb,nslu2-armeb)
> +	$(call build_apex,openwrt-nslu2-16mb-armeb,nslu2-16mb-armeb)
> +	$(call build_apex,openwrt-fsg3-armeb,fsg3-armeb)
> +	$(call build_apex,openwrt-nas100d-armeb,nas100d-armeb)
> +endef
> +
> +define Package/apex/install
> +	$(INSTALL_DIR) $(STAGING_DIR)/apex
> +	$(CP) $(PKG_BUILD_DIR)/out/*.bin $(1)/
> +endef

This will build a OpenWrt package with these files. Do you really need 
these files in the root file system? I do not know how the boot process 
works, this just looks strange to me.

> +
> +define Build/InstallDev
> +	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
> +	$(CP) $(PKG_BUILD_DIR)/out/*.bin $(STAGING_DIR_IMAGE)/
> +endef
> +
> +$(eval $(call BuildPackage,apex))




More information about the openwrt-devel mailing list