Below are the steps to make 'make installcheck' to run (most of) its tests - w/o rebuilding the kernel on the target.
In short:
1) 'make scripts' must be run on target to get the arm version of the recordmcount
2) the linux-image debug deb package needs to be installed on the target (for arndale the name is linux-image-<kernel version>-linaro-arndale-dbg_<kernel version>-linaro-arndale-<n>_armhf.deb).
Due to its size the _dbg package is not included into the hwpack. And the _dbg package is not uploaded to elsewhere. So I had to rebuild the deb packages myself to get all the deb packages I need and the corresponding uImage (couldn't use the hwpacks from snapshots.l.o).
The steps:
* cross build the packages and the kernel as usual (make uImage, make deb-pkg). Used the same config fragments as the linux-linaro CI job. Copy the uImage and the deb packages to the sd card preprogrammed for the board (used l-m-c and the most recent hwpack and the trusty developer rootfs from snapshots.l.o). Insert the card into the board, power it on.
* After getting to the boot propmt replace the uImage and install the kernel deb packages (I put the new uImage into the boot partition, and the deb packages under /root/deb/; the board is Arndale - hence the *.deb names):
# install the kernel packages:
dpkg -i --force-all deb/linux-headers-3.15-rc5-ll-linaro-arndale_3.15-rc5-ll-linaro-arndale-2_armhf.deb
dpkg -i --force-all deb/linux-image-3.15-rc5-ll-linaro-arndale_3.15-rc5-ll-linaro-arndale-2_armhf.deb
dpkg -i --force-all deb/linux-image-3.15-rc5-ll-linaro-arndale-dbg_3.15-rc5-ll-linaro-arndale-2_armhf.deb
# mount the boot partition and replace the uImage:
mount -t vfat /dev/mmcblk1p2 /mnt
cp /mnt/uImage.new /mnt/uImage
# reboot to the new kernel:
shutdown -r now
* After reboot:
# I had to set the date as the developer rootfs doesn't do that on its own:
date 052314142014
apt-get install git build-essential m4 dejagnu bzip2 wget gettext
cd /usr/src/linux-headers-3.15-rc5-ll-linaro-arndale/
make scripts
# 'make scripts' fails, but scripts/recordmcount is built, and this is enough to make systemtap's 'make installcheck' happy
cd ~
wget --no-check-certificate https://fedorahosted.org/releases/e/l/elfutils/0.157/elfutils-0.157.tar.bz2
tar -xvf elfutils-0.157.tar.bz2
git clone --depth 1 -b release-2.5 git://sourceware.org/git/systemtap.git
cd systemtap
# then just follow the script by Naresh (see comment #12):
cp /usr/share/dejagnu/* . -a
mv testsuite/systemtap.base/poll_map.exp testsuite/systemtap.base/poll_map.exp.back
mv testsuite/systemtap.base/pr14546.exp testsuite/systemtap.base/pr14546.exp.back
mv testsuite/systemtap.base/pr10854.exp testsuite/systemtap.base/pr10854.exp.back
./configure --prefix=/usr/local/ --with-elfutils=../elfutils-0.157
make all
make install
make installcheck
I got to "Running ./systemtap.base/target_set_thread.exp ...", and terminated the test here after waiting for quite a while.
Here is what I got on the console:
-----8<-----
Running ./systemtap.base/target_set.exp ...
FAIL: target_set - timeout (expect_target_set_pids)
Running ./systemtap.base/target_set_thread.exp ...
^Cgot a INT signal, interrupted by user
=== systemtap Summary ===
# of expected passes 757
# of unexpected failures 125
# of unknown successes 1
# of known failures 3
# of untested testcases 54
# of unsupported tests 3
make[2]: *** [check-DEJAGNU] Interrupt
make[1]: *** [installcheck] Interrupt
make: *** [installcheck] Interrupt
-----8<-----
Below are the steps to make 'make installcheck' to run (most of) its tests - w/o rebuilding the kernel on the target.
In short: -linaro- arndale- dbg_<kernel version> -linaro- arndale- <n>_armhf. deb).
1) 'make scripts' must be run on target to get the arm version of the recordmcount
2) the linux-image debug deb package needs to be installed on the target (for arndale the name is linux-image-<kernel version>
Due to its size the _dbg package is not included into the hwpack. And the _dbg package is not uploaded to elsewhere. So I had to rebuild the deb packages myself to get all the deb packages I need and the corresponding uImage (couldn't use the hwpacks from snapshots.l.o).
The steps: headers- 3.15-rc5- ll-linaro- arndale_ 3.15-rc5- ll-linaro- arndale- 2_armhf. deb image-3. 15-rc5- ll-linaro- arndale_ 3.15-rc5- ll-linaro- arndale- 2_armhf. deb image-3. 15-rc5- ll-linaro- arndale- dbg_3.15- rc5-ll- linaro- arndale- 2_armhf. deb linux-headers- 3.15-rc5- ll-linaro- arndale/ recordmcount is built, and this is enough to make systemtap's 'make installcheck' happy certificate https:/ /fedorahosted. org/releases/ e/l/elfutils/ 0.157/elfutils- 0.157.tar. bz2 0.157.tar. bz2 e.org/git/ systemtap. git dejagnu/ * . -a systemtap. base/poll_ map.exp testsuite/ systemtap. base/poll_ map.exp. back systemtap. base/pr14546. exp testsuite/ systemtap. base/pr14546. exp.back systemtap. base/pr10854. exp testsuite/ systemtap. base/pr10854. exp.back /usr/local/ --with- elfutils= ../elfutils- 0.157
* cross build the packages and the kernel as usual (make uImage, make deb-pkg). Used the same config fragments as the linux-linaro CI job. Copy the uImage and the deb packages to the sd card preprogrammed for the board (used l-m-c and the most recent hwpack and the trusty developer rootfs from snapshots.l.o). Insert the card into the board, power it on.
* After getting to the boot propmt replace the uImage and install the kernel deb packages (I put the new uImage into the boot partition, and the deb packages under /root/deb/; the board is Arndale - hence the *.deb names):
# install the kernel packages:
dpkg -i --force-all deb/linux-
dpkg -i --force-all deb/linux-
dpkg -i --force-all deb/linux-
# mount the boot partition and replace the uImage:
mount -t vfat /dev/mmcblk1p2 /mnt
cp /mnt/uImage.new /mnt/uImage
# reboot to the new kernel:
shutdown -r now
* After reboot:
# I had to set the date as the developer rootfs doesn't do that on its own:
date 052314142014
apt-get install git build-essential m4 dejagnu bzip2 wget gettext
cd /usr/src/
make scripts
# 'make scripts' fails, but scripts/
cd ~
wget --no-check-
tar -xvf elfutils-
git clone --depth 1 -b release-2.5 git://sourcewar
cd systemtap
# then just follow the script by Naresh (see comment #12):
cp /usr/share/
mv testsuite/
mv testsuite/
mv testsuite/
./configure --prefix=
make all
make install
make installcheck
I got to "Running ./systemtap. base/target_ set_thread. exp ...", and terminated the test here after waiting for quite a while. base/target_ set.exp ... target_ set_pids) base/target_ set_thread. exp ...
Here is what I got on the console:
-----8<-----
Running ./systemtap.
FAIL: target_set - timeout (expect_
Running ./systemtap.
^Cgot a INT signal, interrupted by user
=== systemtap Summary ===
# of expected passes 757
# of unexpected failures 125
# of unknown successes 1
# of known failures 3
# of untested testcases 54
# of unsupported tests 3
make[2]: *** [check-DEJAGNU] Interrupt
make[1]: *** [installcheck] Interrupt
make: *** [installcheck] Interrupt
-----8<-----