[PATCH v2 0/9] Resurrect OpenWrt IXP4xx support

Tomasz Maciej Nowak tmn505 at gmail.com
Wed Oct 4 11:32:18 PDT 2023


W dniu 4.10.2023 o 19:11, Jonas Gorski pisze:
> Hi,
> 
> On Thu, 28 Sept 2023 at 15:29, Linus Walleij <linus.walleij at linaro.org> wrote:
>>
>> XP4xx was deleted because of lack of maintenance in 2020.
>>
>> In the years since, the upstream Linux support for IXP4xx has
>> been rewritten from scratch. It is now pretty well supported
>> using device tree and modern subsystems that didn't exist
>> 20 years ago when the first IXP4xx port was done.
>>
>> With the switch to kernel v6.1, OpenWrt has the required
>> baseline to bring IXP4xx back.
>>
>> With the (suspiciously similarly named!) IPQ4xxx now supporting
>> v6.1 exclusively, the door should be open for IXP4xx!
>>
>> This is a reimplementation of the IXP4xx support which is
>> using all the contemporary abstractions, the only thing
>> actually resurrected is the APEX boot loader. The port is
>> thus "slim" and not patching a lot on the mainline kernel
>> as pretty much everything is upstream.
>>
>> As a starter, we bring back two Gateworks reference designs,
>> one for IXP42x and one for IXP43x, and the classic NSLU2
>> NAS. We also bring back USRobotics USR8200 because it has
>> active users and testers.
>>
>> Here you find binaries and illustrations if you want to check
>> out how the support works right now, if you have an NSLU2
>> you can flash the binary and rootfs and it "just works",
>> though NSLU2 is not a default build:
>> https://dflund.se/~triad/krad/ixp4xx/
>>
>> Thanks to Imre Kaloz add Krzysztof Halasa for all cheering
>> and reference designs :)
>>
>> Thanks to Howard Harte and Joseph for stepping in and helping
>> out with device support and debugging.
>>
>> Thanks for Hauke for the the in-depth review of the v1
>> patch set.
>>
>> I am pretty confident that we can bring back any IXP4xx with
>> this, they just need some time and focus. I will add more
>> routers as time permits.
>>
>> I don't know who can import this from patches or pull request:
>> it may be best if I just apply for commit access to the
>> OpenWrt git repository and import it myself perhaps?
> 
> Fails to build for me when enabling all kmods:
> 
> Package kmod-crypto-lib-chacha20poly1305 is missing dependencies for
> the following libraries:
> chacha-neon.ko
> poly1305-arm.ko
> make[3]: *** [modules/crypto.mk:570:
> /home/jonas/git/openwrt/bin/targets/ixp4xx/generic/packages/kmod-crypto-lib-chacha20poly1305_6.1.55-1_armeb_xscale.ipk]
> Error 1

This is because armeb is not defined in crypto.mk, fix should  look something like
this:

--- a/package/kernel/linux/modules/crypto.mk
+++ b/package/kernel/linux/modules/crypto.mk
@@ -517,6 +517,8 @@ define KernelPackage/crypto-lib-chacha20/mips32r2
   FILES:=$(LINUX_DIR)/arch/mips/crypto/chacha-mips.ko
 endef
 
+KernelPackage/crypto-lib-chacha20/armeb=$(KernelPackage/crypto-lib-chacha20/arm)
+
 ifeq ($(CONFIG_CPU_MIPS32_R2),y)
   KernelPackage/crypto-lib-chacha20/$(ARCH)=\
 	  $(KernelPackage/crypto-lib-chacha20/mips32r2)
@@ -610,6 +612,7 @@ define KernelPackage/crypto-lib-poly1305/mips
   FILES:=$(LINUX_DIR)/arch/mips/crypto/poly1305-mips.ko
 endef
 
+KernelPackage/crypto-lib-poly1305/armeb=$(KernelPackage/crypto-lib-poly1305/arm)
 KernelPackage/crypto-lib-poly1305/mipsel=$(KernelPackage/crypto-lib-poly1305/mips)
 KernelPackage/crypto-lib-poly1305/mips64=$(KernelPackage/crypto-lib-poly1305/mips)
 KernelPackage/crypto-lib-poly1305/mips64el=$(KernelPackage/crypto-lib-poly1305/mips)

For the record, pushing this repository to GitHub (no need to create PR) will
trigger various checks which could show this error.

Regards

-- 
TMN




More information about the openwrt-devel mailing list