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