Message ID | 20230619113106.2653595-2-linus.walleij@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Resurrect IXP4xx | expand |
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@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))
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 + 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 + +define Build/InstallDev + $(INSTALL_DIR) $(STAGING_DIR_IMAGE) + $(CP) $(PKG_BUILD_DIR)/out/*.bin $(STAGING_DIR_IMAGE)/ +endef + +$(eval $(call BuildPackage,apex))
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@linaro.org> --- package/boot/apex/Makefile | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 package/boot/apex/Makefile