zoukankan      html  css  js  c++  java
  • ubuntu 10.04 安装arm交叉编译器

    家里有一台cotext-A9(armv7-a) 的盒子,现在不用了,

    一直想着废物利用。于是想怎么为这盒子编译程序。

    目标机器:

    root@routon-h1:/# uname -a
    Linux routon-h1 2.6.34 #3 SMP Mon Oct 29 19:01:06 CST 2012 armv7l GNU/Linux

    装了一台 ubuntu 10.04 X86 的虚拟机

    root@ubuntu:~# uname -a
    Linux ubuntu 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux
    
    root@ubuntu:~# lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 10.04.4 LTS
    Release:        10.04
    Codename:       lucid

    安装过程:

    apt-get install python-software-properties
    add-apt-repository ppa:linaro-maintainers/toolchain
    apt-get install gcc-4.4-arm-linux-gnueabi
    apt-get install g++-4.4-arm-linux-gnueabi

    测试代码:

    #include <stdio.h>
    main()
    {
        printf("Hello World
    ");
    }

    编译过程:

    root@ubuntu:~# arm-linux-gnueabi-gcc-4.4 -v  hello.c
    Using built-in specs.
    Target: arm-linux-gnueabi
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.6-3ubuntu1~ppa3' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.4.6 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv7-a --with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
    Thread model: posix
    gcc version 4.4.6 (Ubuntu/Linaro 4.4.6-3ubuntu1~ppa3)
    COLLECT_GCC_OPTIONS='-v' '-march=armv7-a' '-mfloat-abi=softfp' '-mfpu=vfpv3-d16' '-mthumb'
     /usr/lib/gcc/arm-linux-gnueabi/4.4.6/cc1 -quiet -v hello.c -quiet -dumpbase hello.c -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -auxbase hello -version -o /tmp/ccKJdMkG.s
    ignoring duplicate directory "/usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/include"
    #include "..." search starts here:
    #include <...> search starts here:
     /usr/lib/gcc/arm-linux-gnueabi/4.4.6/include
     /usr/lib/gcc/arm-linux-gnueabi/4.4.6/include-fixed
     /usr/arm-linux-gnueabi/include
    End of search list.
    GNU C (Ubuntu/Linaro 4.4.6-3ubuntu1~ppa3) version 4.4.6 (arm-linux-gnueabi)
            compiled by GNU C version 4.4.3, GMP version 4.3.2, MPFR version 2.4.2-p1.
    GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128244
    Compiler executable checksum: d8b1c137400b627d969f13ef7d115d11
    COLLECT_GCC_OPTIONS='-v' '-march=armv7-a' '-mfloat-abi=softfp' '-mfpu=vfpv3-d16' '-mthumb'
     /usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/bin/as -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mimplicit-it=thumb -meabi=5 -o /tmp/ccEJ19An.o /tmp/ccKJdMkG.s
    COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabi/4.4.6/:/usr/lib/gcc/arm-linux-gnueabi/4.4.6/:/usr/lib/gcc/arm-linux-gnueabi/:/usr/lib/gcc/arm-linux-gnueabi/4.4.6/:/usr/lib/gcc/arm-linux-gnueabi/:/usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/bin/
    LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabi/4.4.6/:/usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/lib/
    COLLECT_GCC_OPTIONS='-v' '-march=armv7-a' '-mfloat-abi=softfp' '-mfpu=vfpv3-d16' '-mthumb'
     /usr/lib/gcc/arm-linux-gnueabi/4.4.6/collect2 --build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux.so.3 -X --hash-style=both -m armelf_linux_eabi /usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/lib/crt1.o /usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/lib/crti.o /usr/lib/gcc/arm-linux-gnueabi/4.4.6/crtbegin.o -L/usr/lib/gcc/arm-linux-gnueabi/4.4.6 -L/usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/lib /tmp/ccEJ19An.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/arm-linux-gnueabi/4.4.6/crtend.o /usr/lib/gcc/arm-linux-gnueabi/4.4.6/../../../../arm-linux-gnueabi/lib/crtn.o

    上传目标机器之后执行:

    root@routon-h1:/mnt/tool/reverse-h1# ./a.out
    Hello World
  • 相关阅读:
    BNUOJ 12756 Social Holidaying(二分匹配)
    HDU 1114 Piggy-Bank(完全背包)
    HDU 2844 Coins (多重背包)
    HDU 2602 Bone Collector(01背包)
    HDU 1171 Big Event in HDU(01背包)
    HDU 2571 命运 (入门dp)
    HDU 1069 Monkey and Banana(最长递减子序列)
    HDU 1160 FatMouse's Speed (最长上升子序列)
    HDU 2594 KMP
    POJ 3783 Balls --扔鸡蛋问题 经典DP
  • 原文地址:https://www.cnblogs.com/johnsonshu/p/4734020.html
Copyright © 2011-2022 走看看