How can I determine which files are used?
Is there a recommended method of determining which files in the Linux source tree are used with a given .config file? I've already removed the obvious things like unused entries in the arch directory and a couple of driver directories, but is there a way to generate a list of only the files that are used?
I know I've read discussions about someday splitting up the source code into smaller blocks, but can someone point me towards information on how to prune the existing source tree?
Thanks.
Gerald
Quoted 9 lines
Is there a recommended method of determining which files in the Linux source tree are used with a given .config file? I've already removed the obvious things like unused entries in the arch directory and a couple of driver directories, but is there a way to generate a list of only the files that are used?
I know I've read discussions about someday splitting up the source code into smaller blocks, but can someone point me towards information on how to prune the existing source tree?
I suppose you could do a
make clean
find . | xargs touch -t 198001010101
make
find . -not atime -1 | xargs rm $i
Which would set all of the access times to be really old, rebuild everything, and then remove all files which weren't touched during the build.
(Be careful; I didn't actually test this command and I wouldn't trust it too much without testing it, since it's quite capable of wiping out the whole directory)
-jim
Quoted 8 lines
make clean
find . | xargs touch -t 198001010101
make
find . -not atime -1 | xargs rm $iWhich would set all of the access times to be really old, rebuild everything, and then remove all files which weren't touched during the build.
Slight correction: make that last command
find . -not -atime -1 | xargs rm $i
and the last sentence "which weren't accessed during the build". Still untested though :)
-jim
Quoted 2 lines · Gerald Champagne
Is there a recommended method of determining which files in the Linux source tree are used with a given .config file?
Not with the current kernel build system. Kernel build 2.5[*] provides the information you need but the existing system does not.
The best you can do with the current system is to make clean, make dep, touch stamp, make bzImage modules. Then find all files accessed after make dep finished using find -type f -anewer stamp.