Hi,
NooB question: I would like to add a new Linux target without adding code the main/branch Git, and I noticed there seems to be support for delivering the definitions needed via target/linux/feeds (similar to packages in package/feeds). I did not see this documented in a clear way, so now I'm wondering if this supported/working in the latest 23.05.2 release.
Any comments on the "stability" of this feature? Is it meant to work (now and in the next foreseeable releases) and the documentation is just lacking?
To my knowledge it is meant to work. The feature has been there since 2015, so I see no reason why it would be removed soon. It is a rare feature, and I have seen no documentation for it (in the 10+ years as OpenWrt activist).
He wants avoid adding a new target like ipq806x/generic to the main git repo, but wants to define that new target in a new separate source repo like "packages" or "luci" feeds.
How are you planning to build your image with this device package?
The easiest way in the long run would still probably be to have a personal fork with your own on-top commits.
The problem with feeds is that it doesn’t do anything from nothing.
As seen from packages pov you still need to have a package definition file for each package in the source code.
The feeds are only the address where to go and download the package sourcecodes defines by the package definition file.
So you end up having your own fork with at least one on-top commit anyway.
By knowing what "target" means in OpenWrt context, a device/processor family, and by knowing that there is also an (old) repo for old non-maintained targets, which could serve as an example.
I was indeed prompted by the existence of the targets git (and by the hint at the use of a "feed" for targets in the developer guide for feeds ) to look at this.
My goal is to create a build setup that needs the least number of changes to the files from the openwrt git, in order to minimize work when a new version is released. (Maybe even without forking, but that may just be a dream.)
I created my own git repo with my target's directory, and now I plan to add it to the feed.conf file that is "dropped" in the root of the build tree. After updating the feed, a call to
./scripts/feeds install <target name>
should make the new target visible under target/linux/feeds/, and it is ready to be compiled.
This seems to be as intended. From your comments, I think, the approach does not create more problems than it solves.