交叉編譯linux內核的perf工具


Method 1: Compilation perf on Debian/ARM64 platform

# apt-get install flex bison libelf-dev libaudit-dev libdw-dev libunwind* \
python-dev binutils-dev libnuma-dev libgtk2.0-dev libbfd-dev libelf1 \
libperl-dev libnuma-dev libslang2 libslang2-dev libunwind8 libunwind8-dev \
binutils-multiarch-dev elfutils libiberty-dev libncurses5-dev
# git clone https://github.com/Linaro/OpenCSD
# cd OpenCSD/decoder/build/linux/
# make DEBUG=1 LINUX64=1 & make install
# cd $KERNEL_DIR
# make VF=1 -C tools/perf/

Method 2: Cross-Compilation perf for ARM64 on x86 PC   驗證可以通過
# export CROSS_COMPILE=aarch64-linux-gnu-
# export ARCH=arm64
# git clone https://github.com/Linaro/OpenCSD my-opencsd
# cd OpenCSD/decoder/build/linux/
# make DEBUG=1 LINUX64=1
# export CSINCLUDES=my-opencsd/decoder/include/
# export CSLIBS=my-opencsd/decoder/lib/builddir
# export LD_LIBRARY_PATH=$CSLIBS
# cd $KERNEL_DIR
# make LDFLAGS=-static NO_LIBELF=1 NO_JVMTI=1 VF=1 -C tools/perf/

這里記錄一下出錯問題

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

編譯出錯

 

 

 1、配置交叉工具鏈

export CROSS_COMPILE=arm-linux-gnueabihf-

2、配置架構

export ARCH=arm

3、克隆opencsd

git clone https://github.com/Linaro/OpenCSD my-opencsd

4、編譯opencsd

cd my-opencsd/decoder/build/linux
make DEBUG=1 LINUX64=1

5、設置CSINCLUDES、CSLIBS、LD_LIBRARY_PATH

export CSINCLUDES=/home/picohood/gitrepo/fpstu_tisdk/board-support/linux-4.4.x-mainline/tools/perf/my-opencsd/decoder/include
export CSLIBS=/home/picohood/gitrepo/fpstu_tisdk/board-support/linux-4.4.x-mainline/tools/perf/my-opencsd/decoder/lib/builddir
export LD_LIBRARY_PATH=$CSLIBS

6、編譯perf  

失敗

cd /home/picohood/gitrepo/fpstu_tisdk/board-support/linux-4.4.x-mainline 
make LDFLAGS=-static NO_LIBELF=1 NO_JVMTI=1 VF=1 -C tools/perf/

試了好多方法,最后是只需要設置 NO_LIBELF=1 成功,前面編譯opencsd應該也不需要

make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm NO_LIBELF=1 

  

  

 

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM