SL-C750( ROM Version : 1.10 JP )/C760( ROM Version : 1.20 JP ) フラッシュROMイメージのビルド手順について |
このドキュメントは、SL-C750/C760のLinux環境を再構築するために必要になるPC‐linux上の開発環境と、その手順を記載しています。
下記の内容が記載されています。
リリースノート:
このリリースは、著作権やライセンスの制限により、以下のモジュールを含んでいません。
【カーネル】
SDドライバ
【ルートファイルシステム】
Qt/Embedded
Qtopia ( PIMを含むアプリケーション )
重要な通知 ( 警告 )
シャープ株式会社は、以下で説明されている手順によって発生した、いかなる矛盾、欠陥、または、障害に対して、一切責任はないものとします。
シャープ株式会社は、SL-C750/C760のLinux環境をリビルドすることによって発生した損害を一切補償しないことに注意してください。
使用条件の全文については、こちらをご確認ください。
作成するイメージ:
以下の二つのイメージをビルドします。場合によっては一つだけでもかまいません。
- zImage ( linuxカーネル )
- initrd.bin ( ルートファイルシステム )
必要となる開発環境:
下記は、SL-C750/C760のlinux環境をリビルドするために必要となるハードウェア、及び、ソフトウェアです。
- ホストPC
必要とするHDD空き容量:合計 約320MB
( クロス開発ツールに ) 100MB
( linuxカーネルに ) 200MB
( ルートファイルシステムに ) 20MB
OS :Linux ( RedHat6.1、6.2、7.1、7.2、Vine2.1 )
- SDメモリカード または CFメモリカード( 空きは32MB以上必要 )
- ホストPCで使用できるメモリカードライタ
- クロス開発ツール
以下のクロス開発ツールをホストPCにインストールしてください。
クロスコンパイラ ( gcc )
ライブラリ ( glibc )
ヘッダファイル
※makeするには、コンパイラへのパスが通っている必要があります。インストールしたgccへのパスが通っているかどうかご確認ください。
当サイトからリンクされているgccのパッケージを使用すると、
/opt/Embedix/tools/bin
にインストールされます。使用されるPCの環境をご確認のうえ、パスを設定してください。
|
カーネルイメージの作成 |
下記は、SL-C750/C760用のlinux環境を構築する手順です。
- カーネルソースの入手、展開
このサイトのソースコードダウンロードページから、以下のカーネルソースのどれかをダウンロードします。
( A ) linux-c750-20030620-rom1_10.tar.bz2 ( 約24MB )
( B ) linux-2.4.18-rmk7-pxa3-embedix-slc750-20030620-rom1_10.bz2 (約991KB)
( A )は、すべてのソースコードが含まれていますので、単に展開するだけで結構です。
( B )は、linux-2.4.18-rmk7-pxa3 からの差分パッチになっていますので、そのベースとなるソースを入手しておくことが必要になります。
- ( A )linux-c750-20030620-rom1_10.tar.bz2の展開
コンソールから次のコマンドを実行します。
$ bzcat linux-c750-20030620-rom1_10.tar.bz2 | tar xvf -
- ( B )linux-2.4.18-rmk7-pxa3-embedix-slc750-20030620-rom1_10.bz2の展開
パッチのベースとなる次のソースを、カーネルのコミュニティーサイトから入手して下さい。
linux-2.4.18.tar.bz2
(サイト例: http://www.kernel.org/pub/linux/kernel/v2.4/)
patch-2.4.18-rmk7.bz2
(サイト例: ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/)
diff-2.4.18-rmk7-pxa3.gz
(サイト例: ftp://ftp.arm.linux.org.uk/pub/linux/arm/people/nico/)
まずはじめに、コンソールから次のコマンドを実行して、パッチファイルに対するベースソースを展開してください。
$ bzcat linux-2.4.18.tar.bz2 | tar xvf -
$ cd linux
$ bzcat ../patch-2.4.18-rmk7.bz2 | patch -p1
$ zcat ../diff-2.4.18-rmk7-pxa3.gz | patch -p1
次にSL-C750/C760用のパッチを適用します。 ( 1行で入力してください )
$ bzcat ../linux-2.4.18-rmk7-pxa3-embedix-slc750-20030620-rom1_10.bz2 | patch -p1
- カーネルコンフィギュレーション
以下の手順で、カーネル設定ファイルを作成してください。
下記 "***" は、SL-C750の場合 "shepherd-j"、SL-C760の場合 "husky-j" です。
$ cd linux
$ make menuconfig
-- > load an Alternate Configuration File
input "arch/arm/def-configs/***"
select "ok"
select "Exit"
Do you wish to save your kernel configuration? -> Yes
- カーネルイメージ ( zImage ) の作成
コンソールから以下のコマンドを実行して、カーネルイメージを作成します。カーネルイメージ( zImage )は、数分から数時間後(ホストPCの
能力により変わります)に「/arch/arm/boot」ディレクトリに作成されます。
$ make dep; make clean; make zImage
※makeするには、コンパイラへのパスが通っている必要があります。インストールしたgccへのパスが通っているかどうかご確認ください。
当サイトからリンクされているgccのパッケージを使用すると、
/opt/Embedix/tools/bin
にインストールされます。使用されるPCの環境をご確認のうえ、パスを設定してください。
|
ルートファイルシステム ( consoleモード ) イメージの作成 |
下記は、SL-C750/C760用のルートファイルシステムを構築する手順です。
- ルートファイルシステム用Tarballの入手と展開
このサイトのソースコードダウンロードページからルートファイルシステムのTarball
を入手し、コンソールから次のコマンドを実行して、ルートファイルシステムのtarballを展開します。
(SL-C750用) rootfs-slc750-20030620.tar.bz2
(SL-C760用) rootfs-slc760-20030620.tar.bz2
$ tar jxf rootfs-slc750-20030620.tar.bz2 ※SL-C750の例です。
※root権限でtarballを展開してください。
- 展開先ディレクトリでroot権限になる
以下のコマンドを実行して、展開先のディレクトリでroot権限になります。
$ cd rootfs
su
( password )
- ファイルをroot_jffs2ディレクトリパスに配置する
SL-C750/C760のルートファイルシステムにファイルを配置する場合、root_jffs2の以下のパスにファイルを配置してください。
- 書き換え可能なファイル/ディレクトリの追加
デバイスノードを追加する場合:
root_jffs2/root/.dev_default.tarを展開し、作成されたdev/の下にデバイスノードを追加した後、再度アーカイブしてください。
/var/の下にファイルやディレクトリを追加する場合:
root_jffs2/root/.var_default.tarを展開して作成されたvar/の下にファイルなどを追加した後、再度アーカイブしてください。
/home/にファイルやディレクトリを追加する場合:
root_jffs2/root/.home_default.tarを展開して作成されたhome/の下にファイルなどを追加した後、再度アーカイブしてください。
- 読み込み専用のファイル/ディレクトリの追加
root_jffs2の直下に配置されたファイルやディレクトリは、SL-C750/C760のフラッシュROM領域に展開されます。
- ROMイメージの作成
コンソールから以下のコマンドを実行して、ROMイメージを作成します。
$ bin/build.sh
- ビルド完了
上記の手順で、以下のファイルが作成されます。
initrd.bin
【重要な通知】
- この環境でビルドされたイメージには、Qt/EmbeddedとQtopiaを含みません。
- initrd.binは、32MB以内のサイズに収めてください。
- 書き換え可能なファイルを追加した場合、RAMの容量がその分消費されます。
- 書き換え可能なファイルを追加した場合、本体メモリの全データ消去を行わないと反映されません。
|