[OpenWrt-Devel] SDK vs. Toolchain+

Felix Fietkau nbd at openwrt.org
Tue Jan 5 11:46:56 EST 2016

On 2016-01-05 17:40, Daniel Dickinson wrote:
> On 05/01/16 11:32 AM, Emmanuel Deloget wrote:
>> Hello,
>> On Tue, Jan 5, 2016 at 5:25 PM, Daniel Dickinson
>> <openwrt at daniel.thecshore.com <mailto:openwrt at daniel.thecshore.com>>wrote:
>>     On 05/01/16 11:22 AM, Daniel Dickinson wrote:
>>         It's actually target/linux that's the major issue when it comes to
>>         allowing not rebuilding every time to be a useful answer.
>>     This does, however, tell me a better way to focus my energy than the
>>     SDK stuff I was doing; improving target/linux situation combined
>>     with a sourceful SDK would I think be a positive solution.
>> maybe it would be a good idea to find a way to separate the real image
>> building and target/linux/install?
> IIRC target/linux/install does two things:
> 1) Prepares kernel parts of image for each selected profile (that is 
> uImage for those that use uImage, embed commandline, etc)
> 2) Builds the actual images, when image building is selected
> In reality the real time-waster is building a huge number of unwanted 
> kernel image parts and/or images.
> I think think for this part, the lowest cost path is find a way to 
> select only wanted images, for #of images/kernel parts > 1.
> Basically, if there is a way to do checkboxes instead of a radio list in 
> profile selection, that would solve the issue IMO.
> target/linux/compile is still somewhat annoying, but it's the lesser of 
> the issues and probably a harder problem to solve in a robust way.
Actually, it might not be too hard to fix. I suggest the following approach:

Before updating the .config file in the kernel tree at target/compile
time, generate it into a file in tmp/ and compare it against what's in
the kernel tree (needs to be a copy that was used before running make
oldconfig in the kernel tree).

Then, the generic rebuild dependency checks could be used on the kernel
tree as well, so if no file was changed, it does not have to call make.

The same applies to target/install, with some special cases for initramfs.

At least with the new image building code, it's easier to then add
proper dependencies on all relevant files.

- Felix
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list