Hi Hackers,

I've been thinking a bit about how to get the whole target/profile
handling right if we want OpenWrt to do more than just routers.
Currently it works well for most targets, but it will definitely fall
apart if we try to support SoCs that are used in devices that are
completely different, e.g. in APs and PDAs.
The main problem with the current way we define profiles is that there
is no clear distinction between minor variances that can be handled by
adding another package (example: WRT54G vs WL-500g) and bigger changes
(AP vs PDA). The image builder for one target can handle the minor
differences just fine, but it doesn't work anymore as soon as kernel
changes are necessary.
So I would like to suggest a restructuring in the following way:

- Targets should be named only after the SoC or Platform that they're
supporting (adm5120 and adm5120eb also need to be merged).
- Targets provide profiles, which imply the actual use case (e.g. it
would make sense to distinguish between IXP4xx NAS devices and IXP4xx
routers, because NAS devices typically boot from HDD and should have the
appropriate drivers compiled into the kernel)
- Profiles can optionally provide variants, which just imply small
changes to the package selection (added usb support, an extra crypto
chip, etc.)
- Targets which only support one kind of devices (BCM947xx for instance)
will then only get one profile, but multiple variants of that profile.

If we set up the target/profile/variant selection that way, the user
probably shouldn't select the profile in menuconfig first, which then
selects the appropriate target. Variants then replace the current Profiles

Please let me know what you think about this suggestion - the names
'target', 'profile', 'variant' are of course still up for discussion, so
if you don't like them, please make better suggestions.

- Felix

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to