1 The cpupower package consists of the following 1 The cpupower package consists of the following elements: 2 2 3 requirements 3 requirements 4 ------------ 4 ------------ 5 5 6 On x86 pciutils is needed at runtime (-lpci). 6 On x86 pciutils is needed at runtime (-lpci). 7 For compilation pciutils-devel (pci/pci.h) and 7 For compilation pciutils-devel (pci/pci.h) and a gcc version 8 providing cpuid.h is needed. 8 providing cpuid.h is needed. 9 For both it's not explicitly checked for (yet) 9 For both it's not explicitly checked for (yet). 10 10 11 11 12 libcpupower 12 libcpupower 13 ---------- 13 ---------- 14 14 15 "libcpupower" is a library which offers a unif 15 "libcpupower" is a library which offers a unified access method for userspace 16 tools and programs to the cpufreq core and dri 16 tools and programs to the cpufreq core and drivers in the Linux kernel. This 17 allows for code reduction in userspace tools, 17 allows for code reduction in userspace tools, a clean implementation of 18 the interaction to the cpufreq core, and suppo 18 the interaction to the cpufreq core, and support for both the sysfs and proc 19 interfaces [depending on configuration, see be 19 interfaces [depending on configuration, see below]. 20 20 21 21 22 compilation and installation 22 compilation and installation 23 ---------------------------- 23 ---------------------------- 24 24 25 There are 2 output directories - one for the b !! 25 make 26 the installation of the build results, that is !! 26 su 27 man pages, etc... !! 27 make install 28 !! 28 29 default directory !! 29 should suffice on most systems. It builds libcpupower to put in 30 ----------------- !! 30 /usr/lib; cpupower, cpufreq-bench_plot.sh to put in /usr/bin; and 31 !! 31 cpufreq-bench to put in /usr/sbin. If you want to set up the paths 32 In the case of default directory, build and in !! 32 differently and/or want to configure the package to your specific 33 additional parameters: !! 33 needs, you need to open "Makefile" with an editor of your choice and 34 !! 34 edit the block marked CONFIGURATION. 35 build << 36 ----- << 37 << 38 $ make << 39 << 40 The output directory for the 'make' command is << 41 its subdirs in the kernel tree: << 42 tools/power/cpupower << 43 << 44 install << 45 ------- << 46 << 47 $ sudo make install << 48 << 49 'make install' command puts targets to default << 50 << 51 ---------------------------------------------- << 52 | Installing file | Syste << 53 ---------------------------------------------- << 54 | libcpupower | /usr/lib << 55 ---------------------------------------------- << 56 | cpupower | /usr/bin << 57 ---------------------------------------------- << 58 | cpufreq-bench_plot.sh | /usr/bin << 59 ---------------------------------------------- << 60 | man pages | /usr/man << 61 ---------------------------------------------- << 62 << 63 To put it in other words it makes build result << 64 enabling any user to simply start using it wit << 65 << 66 custom directory << 67 ---------------- << 68 << 69 There are 2 make's command-line variables 'O' << 70 appropriate dirs: << 71 'O' - build directory << 72 'DESTDIR' - installation directory. This varia << 73 the 'CONFIGURATION' block of the "Makefile" << 74 << 75 build << 76 ----- << 77 << 78 $ make O=<your_custom_build_catalog> << 79 << 80 Example: << 81 $ make O=/home/hedin/prj/cpupower/build << 82 << 83 install << 84 ------- << 85 << 86 $ make O=<your_custom_build_catalog> DESTDIR=< << 87 << 88 Example: << 89 $ make O=/home/hedin/prj/cpupower/build DESTDI << 90 > install << 91 << 92 Notice that both variables 'O' and 'DESTDIR' h << 93 is that the build results are saved in the cus << 94 variable. So, this dir is the source for the i << 95 'DESTDIR' were provided then the 'install' tar << 96 build directory is the current one, build ever << 97 from the current dir. << 98 << 99 The files will be installed to the following d << 100 << 101 ---------------------------------------------- << 102 | Installing file | Syste << 103 ---------------------------------------------- << 104 | libcpupower | ${DESTDIR}/usr/lib << 105 ---------------------------------------------- << 106 | cpupower | ${DESTDIR}/usr/bin << 107 ---------------------------------------------- << 108 | cpufreq-bench_plot.sh | ${DESTDIR}/usr/bin << 109 ---------------------------------------------- << 110 | man pages | ${DESTDIR}/usr/man << 111 ---------------------------------------------- << 112 << 113 If you look at the table for the default 'make << 114 notice that the only difference with the non-d << 115 ${DESTDIR} prefix. So, the structure of the ou << 116 regardles of the root output directory. << 117 << 118 << 119 clean and uninstall << 120 ------------------- << 121 << 122 'clean' target is intended for cleanup the bui << 123 'uninstall' target is intended for removing in << 124 installation directory << 125 << 126 default directory << 127 ----------------- << 128 << 129 This case is a straightforward one: << 130 $ make clean << 131 $ make uninstall << 132 << 133 custom directory << 134 ---------------- << 135 << 136 Use 'O' command line variable to remove previo << 137 build dir: << 138 $ make O=<your_custom_build_catalog> clean << 139 << 140 Example: << 141 $ make O=/home/hedin/prj/cpupower/build clean << 142 << 143 Use 'DESTDIR' command line variable to uninsta << 144 from the given dir: << 145 $ make DESTDIR=<your_custom_install_catalog> << 146 << 147 Example: << 148 make DESTDIR=/home/hedin/prj/cpupower uninstal << 149 << 150 << 151 running the tool << 152 ---------------- << 153 << 154 default directory << 155 ----------------- << 156 << 157 $ sudo cpupower << 158 << 159 custom directory << 160 ---------------- << 161 << 162 When it comes to run the utility from the cust << 163 become a little bit complicated as 'just run' << 164 Assuming that the current dir is '<your_custom << 165 issuing the following command: << 166 << 167 $ sudo ./bin/cpupower << 168 will produce the following error output: << 169 ./bin/cpupower: error while loading shared lib << 170 cannot open shared object file: No such file o << 171 << 172 The issue is that binary cannot find the 'libc << 173 shall point to the lib dir: << 174 sudo LD_LIBRARY_PATH=lib64/ ./bin/cpupower << 175 35 176 36 177 THANKS 37 THANKS 178 ------ 38 ------ 179 Many thanks to Mattia Dongili who wrote the au 39 Many thanks to Mattia Dongili who wrote the autotoolization and 180 libtoolization, the manpages and the italian l 40 libtoolization, the manpages and the italian language file for cpupower; 181 to Dave Jones for his feedback and his dump_ps 41 to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his 182 powernow-k8-decode and intel_gsic tools as wel 42 powernow-k8-decode and intel_gsic tools as well as the french language file; 183 and to various others commenting on the previo 43 and to various others commenting on the previous (pre-)releases of 184 cpupower. 44 cpupower. 185 45 186 46 187 Dominik Brodowski 47 Dominik Brodowski
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.