1 The cpupower package consists of the following !! 1 The cpufrequtils package (homepage: >> 2 http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html ) >> 3 consists of the following elements: 2 4 3 requirements 5 requirements 4 ------------ 6 ------------ 5 7 6 On x86 pciutils is needed at runtime (-lpci). 8 On x86 pciutils is needed at runtime (-lpci). 7 For compilation pciutils-devel (pci/pci.h) and 9 For compilation pciutils-devel (pci/pci.h) and a gcc version 8 providing cpuid.h is needed. 10 providing cpuid.h is needed. 9 For both it's not explicitly checked for (yet) 11 For both it's not explicitly checked for (yet). 10 12 11 13 12 libcpupower !! 14 libcpufreq 13 ---------- 15 ---------- 14 16 15 "libcpupower" is a library which offers a unif !! 17 "libcpufreq" is a library which offers a unified access method for userspace 16 tools and programs to the cpufreq core and dri 18 tools and programs to the cpufreq core and drivers in the Linux kernel. This 17 allows for code reduction in userspace tools, 19 allows for code reduction in userspace tools, a clean implementation of 18 the interaction to the cpufreq core, and suppo 20 the interaction to the cpufreq core, and support for both the sysfs and proc 19 interfaces [depending on configuration, see be 21 interfaces [depending on configuration, see below]. 20 22 21 23 22 compilation and installation 24 compilation and installation 23 ---------------------------- 25 ---------------------------- 24 26 25 There are 2 output directories - one for the b !! 27 make 26 the installation of the build results, that is !! 28 su 27 man pages, etc... !! 29 make install 28 !! 30 29 default directory !! 31 should suffice on most systems. It builds default libcpufreq, 30 ----------------- !! 32 cpufreq-set and cpufreq-info files and installs them in /usr/lib and 31 !! 33 /usr/bin, respectively. If you want to set up the paths differently and/or 32 In the case of default directory, build and in !! 34 want to configure the package to your specific needs, you need to open 33 additional parameters: !! 35 "Makefile" with an editor of your choice and edit the block marked 34 !! 36 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 37 176 38 177 THANKS 39 THANKS 178 ------ 40 ------ 179 Many thanks to Mattia Dongili who wrote the au 41 Many thanks to Mattia Dongili who wrote the autotoolization and 180 libtoolization, the manpages and the italian l !! 42 libtoolization, the manpages and the italian language file for cpufrequtils; 181 to Dave Jones for his feedback and his dump_ps 43 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 44 powernow-k8-decode and intel_gsic tools as well as the french language file; 183 and to various others commenting on the previo 45 and to various others commenting on the previous (pre-)releases of 184 cpupower. !! 46 cpufrequtils. 185 47 186 48 187 Dominik Brodowski 49 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.