Linux 2.6 on Xilinx ML403 Reference Board

| | コメント(3) | トラックバック(0)
手元のPowerPC搭載のFPGAでLinuxを動かして色々と開発中のスイッチの制御を行わせたいのだが、ML-403に対応した売り物のミノMontaなんとかLinuxとかいくつか値段を聞いて鼻血を出すのであった.500万とか300万とかこんなんに払えるかっ。

とりあえず、ML-403でLinuxを動かした。
まだ自分のハードウェアデザインでできていないので第一歩というところ。

色々な動かし方があるようだけど、xilinxのlinuxカーネルとuclinuxというのでルートファイルシステムを作った。とにかく情報があんまり無いので、色々なやり方を試行錯誤してみたが、これしか動かなかった。

やったことのメモ
★powepc用クロスコンパイル環境構築
作るのめんどいのでsuzakuが公開しているvmware環境を利用。

★カーネルビルド
- xilinxからlinux kernelをダウンロード。最近gitとかbkとか色々ソフトウェアがあってよく分からん。なんか知らないうちに世界が変わってるなー。

kernelソースのダウンロード
% git clone git://git.xilinx.com/linux-2.6-xlnx.git

arch/ppc/configs/ml403_defconfigを元にカーネルビルド
% cd linux-2.6-xlnx
% cp arch/ppc/configs/ml403_defconfig .config
  - MakefileのARCHはppc,CROSS_COMPILEはpowerpc-linux-gnu-に変更。
% make 
オプションは適当に答えておく。どっかでzImage.elfを作るように指定できるはず。
CFにるーとファイルシステムを置く場合は,CONFIG_XILINX_SYSACE=yとする。
boot optionは,"console=ttyS0,38400 root=/dev/xsa3".
xsa1はFAT16でないとだめ。ブート用ファイルtop.aceだけ置く.
xsa2はlinux swap.xsa3はext2でフォーマットした.これはext3でも
オッケーなはず。

コンパイルにしくる場合は,エラーメッセージを見て,必要ないものを.config
から削除する.そのうちうまくいく.

★ルートファイルシステムを構築
新しめのbuildrootを持ってくる.一番新しい奴はコンパイルできなかった。
古めのはfakerootのソースを落とすときにURL指定先に存在しなくて途中で止まる.
中がでかすぎていじって対応する気が失せるので、適当なのを探す。
多分buildroot-20080123か0120を使った.

展開.
% cd buildroot
% make menuconfig
powerpc/405を選択。
パッケージは好きなものを適当に選択する。
% make

cfに展開するときは,busyboxのs-bitが落ちる,デバイスファイルがしっかり作られていないので、作り直す必要がある.

% su -
# cd <buildroot>
# cd project_build_powerpc/uclibc/root
# tar cpf - * | (cd /mnt/compactflash; tar xvpf  - )
# cd /mnt/compactflash
(もしかして# chown -R 0.0 * したかも。ls -lしてみるべし)
# cd bin
# chmod u+s busybox
# cd ../dev
# /dev/MAKEDEV generic  <- 親linux上でMAKEDEVしてやる。途中で止まったら^Cして止める。必要なものはほとんどできているので先に進む。
% cd ../etc
% vi inittab
#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
::respawn:/sbin/getty -L ttyS0 38400 vt100
% vi fstab 
次の2行を追加。(rootfsの行は削除)
/dev/xsa3  /    ext2  defaults.errors=remount-ro 0 1
/dev/xsa2 none   swap  sw  0   0

とりあえずこんなもの。

★カーネルからtop.aceファイルの作成
ml_403_emb_ref_ppcをダウンロード。
http://japan.xilinx.com/support/documentation/ml403-edk.htm
あたりにあるけど、ready_for_download/download.bitだとまだ動いてない。

http://www.xilinx.com/products/boards/ml403/files/ml403_emb_ref_ppc_81.zipのimplementation/download.bitで動いた。8.1は結構古いのでEDK9.2iだと新しいフォーマットにコンバートしまくる。で、コンパイルにしくる。分からんなー。

解凍。compileしたzImage.elfをarch/ppc/boot/images/からもってくる。
% xmd -tcl genace.tcl -jprog -board ml403 -hw implementation/download.bit -elf zImage.elf -ace top.ace

cfの1つめのFATにtop.ace入れて起動。
動いた動いた。

★これからやる事
0. referenceデザインをコンパイルしてbitファイルを生成するまで成功させる。
-> これが結構大変風。
1. 自分で作ったFPGA回路をPowerPCへのバスへ接続させる
2. ハードウェアビットストリームを書き込む
3. linuxのデバイスドライバを作成

はっきり言って、0,1,2はさっぱり分かりません。これからベンキョーベンキョー。
いつまでにできるかなー。

トラックバック(0)

このブログ記事を参照しているブログ一覧: Linux 2.6 on Xilinx ML403 Reference Board

このブログ記事に対するトラックバックURL: http://www.imaq.net/cgi-bin/mt/mt-tb.cgi/585

コメント(3)

imaq :

ml403_emb_ref_ppc_81をベースに以下の情報を参照して、修正したらコンパイル成功した。8.1から8.2へのアップデート
http://japan.xilinx.com/support/answers/23993.htm

ImaQ :

uClibc buildrootをコンパイルする時、LD_LIBRARY_PATHに"."が入ってるとシクる。

ImaQ :

vga patch
http://patchwork.ozlabs.org/linuxppc-embedded/patch?id=10854

コメントする

このブログ記事について

このページは、ImaQが2008年1月31日 14:49に書いたブログ記事です。

ひとつ前のブログ記事は「江原氏、インチキ霊視バレる。」です。

次のブログ記事は「MacOS X Leopardで802.1Q VLAN」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01