Reputation: 4175
I am working to enable the kexec support in my propriety Linux distribution and I would like to debug the kexec tools in user space. I am adding debug prints in the kexec.c that's located in buildroot/output/build/kexec-2.0.15/kexec/kexec.c, but if I do an incremental build with make
, it doesn't look like the kexec binary has been updated. If I rebuild everything from scratch with make all
, the source code kexec.c has been overridden and I don't see my changes. My guess is that every full build re-extracts the kexec package and that is why my changes are not taking affect.
How do I solve this issue?
Upvotes: 1
Views: 342
Reputation: 1661
If you only want to restart the build process of a package from its compilation step, you can run make
<package>-rebuild
[...]. It will restart the compilation and installation of the package, but not from scratch: it basically re-executes make and make install inside the package, so it will only rebuild files that changed.[...]
Internally, Buildroot creates so-called stamp files to keep track of which build steps have been completed for each package. They are stored in the package build directory, output/build/-/ and are named .stamp_. The commands detailed above simply manipulate these stamp files to force Buildroot to restart a specific set of steps of a package build process.
(from the Buildroot manual, section Understanding how to rebuild packages -- I suggest you read the whole section)
Also, look at your build log. If you don't see a line like
>>> kexec 2.0.16 Building
then the kecxec package hasn't been (re)built.
Upvotes: 0