X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;ds=sidebyside;f=ltt%2Fbranches%2Fpoly%2FQUICKSTART;h=5a59e62475e4177bbb167b2112986aa5d4ca54e4;hb=860c0a038d73012cc4e3bcad5f14561737c184ff;hp=6a5c34f7cb44f70b14f76cba94d32b3e1bdbab77;hpb=6a2c1aedca34471f2023e033ae7190bbaa7c0b0a;p=lttv.git diff --git a/ltt/branches/poly/QUICKSTART b/ltt/branches/poly/QUICKSTART index 6a5c34f7..5a59e624 100644 --- a/ltt/branches/poly/QUICKSTART +++ b/ltt/branches/poly/QUICKSTART @@ -13,7 +13,7 @@ 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 tracer on a +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. @@ -29,6 +29,19 @@ installation with Debian or RPM packages. In the case of an installation from sources, the dependencies are listed. +** Current development status ** + +LTTng : +supported architectures : +Intel Pentium (UP/SMP) with TSC + +LTTV : +supported architectures : +Intel i386 and better +PowerPC + + + Author : Mathieu Desnoyers, September 2005 @@ -37,8 +50,16 @@ Author : Mathieu Desnoyers, September 2005 ** Section 1 * Installation from Debian or RPM packages ** *********************************************************** -No RPM packages are ready yet. -No Debian kernel LTTng patch is ready yet. +* 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. + + +* Install from Deb packages on Debian : You can use the ltt.polymtl.ca apt source to get LTTV for Debian : @@ -47,16 +68,61 @@ Add the following two sources to your /etc/apt/sources.list : deb http://ltt.polymtl.ca/packages/debian experimental main deb-src http://ltt.polymtl.ca/packages/debian experimental main -Then, perform the following : + +* Install from precompiled binary packages (LTTV compiled only for i386, and + LTTng only for i686 smp), perform the following : 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 * note : the packages are signed by myself. I am not considered a trusted Debian source yet, so warnings are normal. +Then, follow the section "Editing the system wide configuration" in section 2. + +* Create custom LTTV Debian packages + +Binary packages are only available for i386. If you want to create your own LTTV +packages for other platforms, do : + +su - +cd /usr/src +apt-get source lttv +cd lttv-0.6.8 +dpkg-buildpackage -rfakeroot + +You should then have your LTTV .deb files created for your architecture. + +* Create custom LTTng packages + +For building LTTng Debian packages : + +su - +apt-get install kernel-source-2.6.12-rc4-mm2-lttng-0.4.1 +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 +make menuconfig (or xconfig or config) (customize your configuration) +make-kpkg kernel_image + +You will then see your freshly created .deb in /usr/src. Install it with +dpkg -i /usr/src/(image-name).deb +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 +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 +dpkg -i /usr/src/lttng-modules-modules-(your version).deb + + +Then, follow the section "Editing the system wide configuration" in section 2. *********************************************************** @@ -87,11 +153,24 @@ configuration menu, but there are alternatives. Prerequisites for LTTV 0.6.x installation are : -gtk 2.4 or better development libraries (libgtk2.0, libgtk2.0-dev) -glib 2.4 or better development libraries (libglib2.0-0, libglib2.0-dev) -libpopt development libraries (libpopt0, libpopt-dev) -libpango development libraries (libpango1.0, libpango1.0-dev) -libc6 development librairies (libc6, libc6-dev) +gcc 3.2 or better +gtk 2.4 or better development libraries + (Debian : libgtk2.0, libgtk2.0-dev) + (Fedora : gtk2, gtk2-devel) + note : For Fedora users : this might require at least core 3 from Fedora, + or you might have to compile your own GTK2 library. +glib 2.4 or better development libraries + (Debian : libglib2.0-0, libglib2.0-dev) + (Fedora : glib2, glib2-devel) +libpopt development libraries + (Debian : libpopt0, libpopt-dev) + (Fedora : popt) +libpango development libraries + (Debian : libpango1.0, libpango1.0-dev) + (Fedora : pango, pango-devel) +libc6 development librairies + (Debian : libc6, libc6-dev) + (Fedora : glibc, glibc) * Getting the LTTng packages @@ -101,8 +180,9 @@ 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.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 - * Getting LTTng kernel sources @@ -114,15 +194,15 @@ wget http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.1 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 -bzip2 -cd /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.bz2 | patch -p1 +cat /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.2-* | patch -p1 cd .. -mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.4 +mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.4.2 * Installing a LTTng kernel su - -cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4 +cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2 make menuconfig (or make xconfig or make config) Select the < Help > button if you are not familiar with kernel configuration. @@ -146,6 +226,21 @@ make make modules_install 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 + + +* Editing the system wide configuration + You must activate relayfs and specify a mount point. This is typically done in fstab such that it happens at boot time. @@ -155,17 +250,9 @@ mkdir /mnt/relayfs cp /etc/fstab /etc/fstab.lttng.bkp echo "relayfs /mnt/relayfs relayfs rw 0 0" >> /etc/fstab -reboot - - Select the Linux 2.6.12-rc4-mm2-lttng-0.4 kernel in your boot loader. +then, rebooting or issuing the following command will activate relayfs : - -* 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 make -KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4 make modules_install +mount /mnt/relayfs You need to load the ltt-control module to be able to control tracing from user space. This is done by issuing the command : @@ -181,9 +268,9 @@ echo ltt-control >> /etc/modules su - cd /usr/src -wget http://ltt.polymtl.ca/packages/LinuxTraceToolkitViewer-0.6.5-21092005.tar.gz -gzip -cd LinuxTraceToolkitViewer-0.6.5-21092005.tar.gz | tar xvof - -cd LinuxTraceToolkitViewer-0.6.5-21092005 +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 (refer to README to see the development libraries that must be installed on you system) ./configure @@ -262,14 +349,14 @@ cp process.xml yourfacility.xml cd /tmp /usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \ - /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/include/linux/ltt + /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2/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/ltt + /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2/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/include/linux/ltt/ltt-facility-yourfacility.h + /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.2/include/linux/ltt/ltt-facility-yourfacility.h