X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2FQUICKSTART;h=6b75cb8bc3bf44cdcd51f39cf666b5a4340bd57f;hb=b85b85e5eb5af2595ee1f580e5c2b375d81ddc6a;hp=5a59e62475e4177bbb167b2112986aa5d4ca54e4;hpb=860c0a038d73012cc4e3bcad5f14561737c184ff;p=lttv.git diff --git a/ltt/branches/poly/QUICKSTART b/ltt/branches/poly/QUICKSTART index 5a59e624..6b75cb8b 100644 --- a/ltt/branches/poly/QUICKSTART +++ b/ltt/branches/poly/QUICKSTART @@ -13,13 +13,15 @@ What you will typically want is to read sections 1 and 3 : install LTTng from binary packages and use it. If there are no packages ready for your system, you will have to install from sources (section 2) instead. -These operations are made for installing the LTTng 0.4.2 tracer on a -linux 2.6.12-rc4-mm2 kernel. You will also find instructions for installtion of -LTTV 0.6.x : the Linux Trace Toolkit Viewer. +These operations are made for installing the LTTng 0.5.X tracer on a +linux 2.6.X kernel. You will also find instructions for installation of +LTTV 0.8.x : the Linux Trace Toolkit Viewer. + +To see the list of compatibilities between LTTng, ltt-control, LTTV, genevent +and lttng-modules, please refer to : +http://ltt.polymtl.ca > LTTng+LTTV versions compatibility + -At this point, the -mm tree of the kernel is used because it has RelayFS support -in it. In a nearby future, a vanilla kernel 2.6.14 will be used, as RelayFS has -been integrated in the linux 2.6.14-rc series. The following lttng patch is necessary to have the tracing hooks in the kernel. The following ltt-control module controls the tracing. @@ -34,29 +36,44 @@ sources, the dependencies are listed. LTTng : supported architectures : Intel Pentium (UP/SMP) with TSC +PowerPC 32 and 64 bits +ARM +C2 Microsystems (variant of MIPS) LTTV : supported architectures : Intel i386 and better -PowerPC +Intel 64 bits +PowerPC 32 and 64 bits Author : Mathieu Desnoyers, September 2005 - +Last update : May 23, 2006 *********************************************************** ** Section 1 * Installation from Debian or RPM packages ** *********************************************************** +** NOTE : RPM and debian packages are only made once a version has been + thoroughly tested. If they do not exist at the moment, please install from + sources (see section 2 below). To see the list of compatibilities between + LTTng, ltt-control, LTTV, genevent and lttng-modules, please refer to + http://ltt.polymtl.ca > LTTng+LTTV versions compatibility + + * Install from RPM packages on Fedora Core 4 : Get LTTV RPM from : http://ltt.polymtl.ca/packages/fedora/RPMS -No RPM packages for LTTng are ready yet. +LTTV RPM are ready. + +LTTng kernel and lttng-modules RPM are available for some architectures (i586, +i686). Feel free to help fix the spec files to have correct lttng-modules RPM +package. * Install from Deb packages on Debian : @@ -75,8 +92,8 @@ deb-src http://ltt.polymtl.ca/packages/debian experimental main su - apt-get update apt-get install lttv lttv-doc -apt-get install kernel-image-2.6.12-rc4-mm2-lttng-0.4.1 -apt-get install lttng-modules-modules-2.6.12-rc4-mm2-lttng-0.4.1 +apt-get install kernel-image-2.6.12-rc4-mm2-lttng-0.4.2 +apt-get install lttng-modules-modules-2.6.12-rc4-mm2-lttng-0.4.2 * note : the packages are signed by myself. I am not considered a trusted Debian source yet, so warnings are normal. @@ -90,7 +107,7 @@ packages for other platforms, do : su - cd /usr/src apt-get source lttv -cd lttv-0.6.8 +cd lttv-0.6.9 dpkg-buildpackage -rfakeroot You should then have your LTTV .deb files created for your architecture. @@ -100,10 +117,10 @@ You should then have your LTTV .deb files created for your architecture. For building LTTng Debian packages : su - -apt-get install kernel-source-2.6.12-rc4-mm2-lttng-0.4.1 +apt-get install kernel-source-2.6.12-rc4-mm2-lttng-0.4.2 cd /usr/src -bzip2 -cd kernel-source-2.6.12-rc4-mm2-lttng-0.4.1.tar.bz2 | tar xvof - -cd kernel-source-2.6.12-rc4-mm2-lttng-0.4.1 +bzip2 -cd kernel-source-2.6.12-rc4-mm2-lttng-0.4.2.tar.bz2 | tar xvof - +cd kernel-source-2.6.12-rc4-mm2-lttng-0.4.2 make menuconfig (or xconfig or config) (customize your configuration) make-kpkg kernel_image @@ -115,7 +132,7 @@ You will also need to create a package for the lttng-modules : su - cd /usr/src apt-get source lttng-modules -cd kernel-source-2.6.12-rc4-mm2-lttng-0.4.1 +cd kernel-source-2.6.12-rc4-mm2-lttng-0.4.2 make-kpkg --added_modules /usr/src/lttng-modules-0.3 modules_image You will then see your freshly created .deb in /usr/src. Install it with @@ -151,7 +168,7 @@ o module-init-tools 0.9.10 # depmod -V You might also want to have libncurses5 to have the text mode kernel configuration menu, but there are alternatives. -Prerequisites for LTTV 0.6.x installation are : +Prerequisites for LTTV 0.x.x installation are : gcc 3.2 or better gtk 2.4 or better development libraries @@ -179,46 +196,48 @@ su - mkdir /usr/src/lttng cd /usr/src/lttng (see http://ltt.polymtl.ca/lttng for package listing) -wget http://ltt.polymtl.ca/lttng/lttng-modules-0.3.tar.bz2 -wget http://ltt.polymtl.ca/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.2.tar.bz2 -bzip2 -cd lttng-modules-0.3.tar.bz2 | tar xvof - -bzip2 -cd patch-2.6.12-rc4-mm2-lttng-0.4.2.tar.bz2 | tar xvof - +wget http://ltt.polymtl.ca/lttng/patch-2.6.16-lttng-0.x.xx.tar.bz2 +bzip2 -cd patch-2.6.16-lttng-0.x.xx.tar.bz2 | tar xvof - * Getting LTTng kernel sources su - cd /usr/src -wget http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc4.tar.bz2 -wget http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm2/2.6.12-rc4-mm2.bz2 -bzip2 -cd linux-2.6.12-rc4.tar.bz2 | tar xvof - -cd linux-2.6.12-rc4 -bzip2 -cd ../2.6.12-rc4-mm2.bz2 | patch -p1 -cat /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.2-* | patch -p1 +wget http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.16.tar.bz2 +bzip2 -cd linux-2.6.16.tar.bz2 | tar xvof - +cd linux-2.6.16 +cat /usr/src/lttng/patch-2.6.16-lttng-0.x.xx* | patch -p1 cd .. -mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.4.2 +mv linux-2.6.16 linux-2.6.16-lttng-0.x.xx * Installing a LTTng kernel su - -cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2 +cd /usr/src/linux-2.6.16-lttng-0.x.xx make menuconfig (or make xconfig or make config) Select the < Help > button if you are not familiar with kernel configuration. Items preceded by [*] means they has to be built into the kernel. Items preceded by [M] means they has to be built as modules. Items preceded by [ ] means they should be removed. - go to the "General setup" section + go to the "Instrumentation Support" section Select the following options : [*] Linux Trace Toolkit Instrumentation Support - [M] or [*] Linux Trace Toolkit Tracer + or <*> Linux Trace Toolkit Tracer It makes no difference for the rest of the procedure whether the Tracer is compiled built-in or as a module. - do NOT activate (not ready yet) : - [ ] Align Linux Trace Toolkit Traces + activate : + [*] Align Linux Trace Toolkit Traces + [*] Allow tracing from userspace + your choice (see < Help >) : [ ] Activate Linux Trace Toolkit Heartbeat Timer - IMPORTANT : This is enabled by default : you must disable it! + You may or may not activate instrumentation per facility. They are all + selected for logging by default. It can be used as a compile time filter to + enable/disable logging of events. It is useful to discard events with a + minimal impact on the system and especially useful for now, as the dynamic + filter has not been implemented yet. Select Select Select @@ -228,15 +247,7 @@ make install reboot - Select the Linux 2.6.12-rc4-mm2-lttng-0.4.2 kernel in your boot loader. - - -* Install the ltt-modules - -su - -cd /usr/src/lttng/lttng-modules-0.3 -KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2 make -KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2 make modules_install + Select the Linux 2.6.16-lttng-0.x.xx kernel in your boot loader. * Editing the system wide configuration @@ -259,18 +270,41 @@ space. This is done by issuing the command : modprobe ltt-control +If you want to have complete information about the kernel state (including all +the process names), you need to load the ltt-statedump module. This is done by +issuing the command : + +modprobe ltt-statedump + You can automate at boot time loading the ltt-control module by : echo ltt-control >> /etc/modules +echo ltt-statedump >> /etc/modules + + +* Getting and installing the ltt-control package (on the traced machine) +(note : the ltt-control package contains lttd and lttctl. Although it has the +same name as the ltt-control kernel module, they are *not* the same thing.) +su - +cd /usr/src +wget http://ltt.polymtl.ca/lttng/ltt-control-0.x-xxxx2006.tar.gz +gzip -cd ltt-control-0.x-xxxx2006.tar.gz | tar xvof - +cd ltt-control-0.x-xxxx2006 +(refer to README to see the development libraries that must be installed on you +system) +./configure +make +make install -* Getting and installing the LTTV package +* Getting and installing the LTTV package (on the visualisation machine, same or + different from the visualisation machine) su - cd /usr/src -wget http://ltt.polymtl.ca/packages/LinuxTraceToolkitViewer-0.6.8-26092005.tar.gz -gzip -cd LinuxTraceToolkitViewer-0.6.8-26092005.tar.gz | tar xvof - -cd LinuxTraceToolkitViewer-0.6.8-26092005 +wget http://ltt.polymtl.ca/packages/LinuxTraceToolkitViewer-0.x.xx-xxxx2006.tar.gz +gzip -cd LinuxTraceToolkitViewer-0.x.xx-xxxx2006.tar.gz | tar xvof - +cd LinuxTraceToolkitViewer-0.x.xx-xxxx2006 (refer to README to see the development libraries that must be installed on you system) ./configure @@ -333,9 +367,9 @@ see lttv -m textDump --help for detailed command line options of textDump. su - cd /usr/src -wget http://ltt.polymtl.ca/packages/genevent-0.2.tar.gz -gzip -cd genevent-0.2.tar.gz | tar xvof - -cd genevent-0.2 +wget http://ltt.polymtl.ca/packages/genevent-0.xx.tar.gz +gzip -cd genevent-0.xx.tar.gz | tar xvof - +cd genevent-0.xx make make install @@ -347,16 +381,16 @@ cd /usr/local/share/LinuxTraceToolkitViewer/facilities cp process.xml yourfacility.xml * edit yourfacility.xml to fit your needs. cd /tmp -/usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml +/usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/facilities/yourfacility.xml cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \ - /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2/include/linux/ltt + /usr/src/linux-2.6.16-lttng-0.x.xx8/include/linux/ltt cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \ - /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2/ltt + /usr/src/linux-2.6.16-lttng-0.x.xx/ltt * edit the kernel file you want to instrument - Add #include at the beginning of the file. - Add a call to the tracing functions. See their names and parameters in - /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2/include/linux/ltt/ltt-facility-yourfacility.h + /usr/src/linux-2.6.16-lttng-0.x.xx/include/linux/ltt/ltt-facility-yourfacility.h