Skip to contentSkip to conversation

How can I determine which files are used?

DISCUSSION Gerald Champagne 3 participants 4 messages Sep 13, 2001 – Sep 14, 2001 MIPS

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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

#2 lore raw
Quoted 8 lines

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.

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

#3 lore raw
In reply to Gerald Champagne
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.

[*]http://sourceforge.net/projects/kbuild