2013年2月13日水曜日

ARM QEMUでHello World!


1. QEMUのインストール


パッケージでもOKですが、ためしにソースビルドしてみます。

2. ARMコンパイラのインストール


Sourcery CodeBenchのARMコンパイラをインストールします。

一応、インストール確認として、

3. ソース作成、コンパイル、実行


テキストエディタでソースコードを作成します。
内容は、
続いてコンパイル。
出力されたバイナリを確認。
test: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

実行。
"Hello World!"が出力されればOKです。



さて、ここからはトラブルシューティング編。上記インストール手順の実施中に直面したエラーたちと、その対策です。

1. configure時


Error: zlib check failed
Make sure to have the zlib libs and headers installed.


zlibをインストール

Error: pkg-config binary 'pkg-config' not found

pkg-configをインストール

glib-2.12 required to compile QEMU

glibのインストール

    さらにglibのconfigure中、、

    configure: error: Package requirements (libffi >= 3.0.0) were not met:

    No package 'libffi' found
   
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.
   
    Alternatively, you may set the environment variables LIBFFI_CFLAGS
    and LIBFFI_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.


    → libffiのインストール

    configure: error:
    *** You must have either have gettext support in your C library, or use the
    *** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html


    → gettextのインストール

    configure: error: Package requirements (libpcre >= 8.13) were not met:

    No package 'libpcre' found
   
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.
   
    Alternatively, you may set the environment variables PCRE_CFLAGS
    and PCRE_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.

    → libpcreのインストール
        libpcreのconfigure中、、

        ** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found
        → libbz2のインストール

2. make時


(cd /home/hoge/foo/bar/qemu-1.3.1/pixman; autoreconf -v --install)
/bin/sh: 1: autoreconf: not found
make: *** [/home/kim/work/qemu/qemu-1.3.1/pixman/configure] エラー 127

autoconfのインストール

configure.ac:75: error: possibly undefined macro: AC_PROG_LIBTOOL
  If this token and others are legitimate, please use m4_pattern_allow.
  See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
make: *** [/home/hoge/foo/bar/qemu-1.3.1/pixman/configure] エラー 1
make: *** ファイル `/home/hoge/foo/bar/qemu-1.3.1/pixman/configure' を削除します

libtoolのインストール



参考情報

Using QEMU for Embedded Systems Development, Part 1
Compiling Linux kernel for QEMU ARM emulator 



追記

2013年2月18日 インストールするQEMUのバージョンを1.3.1から1.4.0に修正。

0 件のコメント:

コメントを投稿