2015年05月04日

Debian 8 (Jessie) でクロスコンパイル環境を作る

過去にDebian Squeeze+Emdebianで、玄箱/LANDISKのカーネルをクロスコンパイルする環境を作ったが、Debian Jessieになって、ちょっと違っているようなので。

基本的には、このページ(CrossToolchains)に従って作っていく。
アーキテクチャ 'armel' になっているところは、別のターゲットの場合は適宜読み替え。

手順を簡単にまとめると、
  • sources.list にEmdebianを追加
  • Emdebianの鍵を追加
  • アーキテクチャを追加
  • aptitude update
  • aptitude install crossbuild-essential-(アーキテクチャ)
である。

1. EmbedianのAPTを設定

※ソースリストにEmdebianを追加
# echo 'deb http://emdebian.org/tools/debian/ jessie main' \
> /etc/apt/sources.list.d/crosstools.list

※鍵を追加
# wget -q -O - http://emdebian.org/tools/debian/emdebian-toolchain-archive.key \
| apt-key add -

※アーキテクチャ armel を追加
# dpkg --add-architecture armel

※APTを更新
# aptitude update

2. ツールチェインをインストール
# aptitude install crossbuild-essential-armel
以下の新規パッケージがインストールされます:
:
(略)


その他のツールも必要に応じて。(カーネルコンパイルに必要なものを入れる)
# aptitude install u-boot-tools ncurses-dev bzip2


3. HDL-GXRのカーネルをコンパイルしてみる
過去記事参照
# tar xvfj linux-2.6.39.4.tar.bz2
# cd linux-2.6.39.4/
# patch -p1 < ../hdl-gxr-kernel-2.6.39.4.patch
# cp ../hdl-gxr-config-2.6.39.4.txt .config
# ARCH=arm make oldconfig
# ARCH=arm make menuconfig
# ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make uImage modules
# mkdir -p /opt/arm/boot
# ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/opt/arm make modules_install
# cp -p arch/arm/boot/uImage /opt/arm/boot/uImage.new
# cp -p System.map /opt/arm/boot/
# cp -p .config /opt/arm/boot/config-2.6.39.4.hdl-gxr
# pushd /opt/arm/boot
# tar cvfz ../kern.tgz .
# cd /opt/arm
# tar cvfz lib.tgz lib
# popd

posted by usoinfo at 07:45 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]