ubuntu下使用qemu-arm-static进入chroot编译环境

ARM 381浏览

转载请注明出处:http://blog.csdn.net/arriod/archive/2010/08/25/5837286.aspx

目的是在arm下建立一套完整的编译环境,安装完编译环境后,如果一直使用qemu来模拟整个arm系统的话,速度会很慢。由于qemu还可以模拟arm-linux应用层的软件。感受了一下,速度仍然不快,但是应该比整个系统模拟要快了。
1.安装qemu-arm-static_0.11.0-0ubuntu6.3_i386.deb。
2.检查模拟环境:
    update-binfmts --display
    会找到下列描述:
    arm (enabled):
         package = qemu-arm-static
        type = magic
          offset = 0
           magic = /x7fELF/x01/x01/x01/x00/x00/x00/x00/x00/x00/x00/x00/x00/x02/x00/x28/x00
        mask = /xff/xff/xff/xff/xff/xff/xff/x00/xff/xff/xff/xff/xff/xff/xff/xff/xfe/xff/xff/xff
     interpreter = /usr/bin/qemu-arm-static
        detector =

步骤1、2在ubunt11.04环境下可以简化为:

           sudo apt-get install qemu-kvm-extras-static

           运行update-binfmts --display
           会找到qemu-arm(enabled)的描述

3.拷贝qemu-arm-static到arm系统的/usr/bin
    cp /usr/bin/qemu-arm-static /target_fs/usr/bin
4.进入chroot环境
    sudo chroot root /usr/bin/env -i HOME=/root /
        TERM="$TERM" PS1='/u:/w/$ ' /
        PATH=/bin:/usr/bin:/sbin:/usr/sbin /
        /bin/bash --login

*busybox的shell在chroot的时候会失败,重新装一个bash就成功了。