トップ 一覧 検索 ヘルプ RSS ログイン

開発メモの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!クロス開発環境の構築
簡単なクロス開発環境の構築について順に説明します。

!!VMware Playerインストール
*[公式サイト|http://www.vmware.com/]からWindowsXP用を[ダウンロード|http://www.vmware.com/download/player/](要登録)
*ダウンロードしたファイルを開く
*メッセージ通りに、普通にインストール

!!クライアント(仮想PC)にVine Linuxインストール
*[Ring Server|http://www.t.ring.gr.jp/]からISOイメージをダウンロード
**元ファイルのディレクトリは/archives/linux/Vine/Vine-xxx/CDIMAGE/
*クライアント(仮想PC)を作る(qemuを使うのだったかな?)
**ISOイメージファイルをVMware上の仮想PCに食わせる
**面倒ならこちら→
*.vmxファイルを開いて仮想PCを起動し、VineLinuxをインストールする
**インストール種類:デスクトップ
**firewall有り(あとで設定しなおす)
**標準ログインはテキスト
**一般ユーザを追加しておく
***例:ユーザー名z3、パスワード11111111

!!Vine Linux設定
*startxでX-Window起動
*メニューから、デスクトップ→システム管理→synapticパッケージマネージャ
**パッケージ追加
***システム環境/デーモン telnet-server-0.17.x-30vl2.i386.rpm
***開発/ライブラリ ncurses-devel-5.4-0vl3.i386.rpm  
*デスクトップ→システム管理→セキュリティレベルとファイアウォールの設定
**telnetを許可

!!buildroot構築
*先に[Ring Server|http://www.t.ring.gr.jp/]からGNUツールをダウンロードしておく
**元ファイルのディレクトリは/archives/GNU/、/archives/linux/kernel.org/kernel/v2.6/
**mkdir dl_doneでディレクトリ作成して、ダウンロードしたファイルを置いておく
**==必要なファイル(余分なものもありますw)==時々バージョンが上がってるので、何もしないで自動ダウンロードに任せるのが楽
***binutils-2.17.tar.bz2
***gcc-4.2.0.tar.bz2
***bash-3.2.tar.gz
***autoconf-2.61.tar.bz2
***automake-1.10.tar.bz2
***linux-2.6.20.4.tar.bz2 (最新ではない)

*[公式サイト|http://buildroot.uclibc.org/]からbuildroot-snapshot.tar.bz2をダウンロード
*ファイルを展開、ディレクトリ移動
**bzcat buildroot-snapshot.tar.bz2 | tar xf -
**cd buildroot/
**ln -s ../dl_done dl
*設定
**make menuconfig
***arm - xscaleサポート(iWMMXt pxa270ではない)
***USE_BXはデフォルトのまま
***rootfs cpio形式
***面倒な人はこちら→{{ref buildroot-base.zip}}
*構築
**make
*~/buildroot/build_arm/staging_dir/binにクロス開発用のコマンドが作られるので、ここにpathを通す

!!Linux
*[Ring Server|http://www.t.ring.gr.jp/]からカーネルソースをダウンロード
**元ファイルのディレクトリは/archives/linux/kernel.org/kernel/v2.6/
**必要なファイル
***linux-2.6.21.5.tar.bz2
*ファイルを展開、ディレクトリ移動
**bzcat linux-2.6.21.5.tar.bz2 | tar xf -
**ln -s linux-2.6.21.5 linux
**cd linux
**パッチを当てる
*設定
**make -j2 ARCH=arm CROSS_COMPILE=arm-linux- mrproper
**make -j2 ARCH=arm CROSS_COMPILE=arm-linux- allnoconfig
**make -j2 ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
***arm - pxa2xxサポート
***initramfsサポート、rootfsはbuildrootで作成したrootfs.arm.cpioを指定
***ELF形式サポート
***pxa FrameBufferサポート
*構築
**make -j2 ARCH=arm CROSS_COMPILE=arm-linux-
*モジュール作成
**make -j2 ARCH=arm CROSS_COMPILE=arm-linux- INSTALL_MOD_PATH=mod  modules_install
**tar czf modules.tgz  -C mod .

!!自前のinitramfs
*rootfs圧縮
**mkinitramfs rootfsdir rootfs.cpio

**mkinitramfsの中身
**mkinitramfsの中身(カーネルソース参照:Documentation/filesystems/ramfs-rootfs-initramfs.txt)
""#!/bin/sh
""
""# Copyright 2006 Rob Landley <rob@landley.net> and TimeSys Corporation.
""# Licensed under GPL version 2
""
""if [ $# -ne 2 ]
""then
""  echo "usage: mkinitramfs directory imagename.cpio.gz"
""  exit 1
""fi
"" 
""if [ -d "$1" ]
""then
""  echo "creating $2 from $1"
""#  (cd "$1"; find . | cpio -o -H newc | gzip) > "$2"
""  (cd "$1"; find . | cpio -o -H newc ) > "$2"
""else
""  echo "First argument must be a directory"
""  exit 1
""fi

*rootfs展開
**cat rootfs.cpio | cpio -id