SHARP Zaurus
ザウルスサポートステーション
SLシリーズ関連 ソースコード関連


SL-A300 「ROMバージョン Ver 1.20J」 フラッシュROMイメージのビルド手順について
このドキュメントは、SL-A300のLinux環境を再構築するために必要になるPC‐linux上の開発環境と、その手順を記載しています。

下記の内容が記載されています。


リリースノート:
このリリースは、著作権やライセンスの制限により、以下のモジュールを含んでいません。
【カーネル】
 SDドライバ

【ルートファイルシステム】
 Qt/Embedded
 Qtopia ( PIMを含むアプリケーション )

このリリースにおけるルートファイルシステムは、システム起動時にコンソールに対してgettyを起動するようになっています。

重要な通知 ( 警告 )
シャープ株式会社は、以下で説明されている手順によって発生した、いかなる矛盾、欠陥、または、障害に対して、一切責任はないものとします。 シャープ株式会社は、SL-A300のLinux環境をリビルドすることによって発生した損害を一切補償しないことに注意してください。

使用条件の全文については、こちらをご確認ください。


作成するイメージ:
以下の二つのイメージをビルドします。場合によっては一つだけでもかまいません。
  • zImage ( linuxカーネル )
  • initrd.bin ( ルートファイルシステム )

必要となる開発環境:
下記は、SL-A300のlinux環境をリビルドするために必要となるハードウェア、及び、ソフトウェアです。
  • ホストPC
    必要とするHDD空き容量:合計 約320MB
    ( クロス開発ツールに ) 100MB
    ( linuxカーネルに ) 200MB
    ( ルートファイルシステムに ) 20MB
    OS :Linux ( RedHat6.1、6.2、7.1、7.2、Vine2.1 )

  • SDメモリカード ( 32MB以上 )

  • ホストPCで使用できるSDメモリカードライタ

  • クロス開発ツール
    以下のクロス開発ツールをホストPCにインストールしてください。
    クロスコンパイラ ( gcc )
    ライブラリ ( glibc )
    ヘッダファイル
※makeするには、コンパイラへのパスが通っている必要があります。インストールしたgccへのパスが通っているかどうかご確認ください。 当サイトからリンクされているgccのパッケージを使用すると、
 /opt/Embedix/tools/bin
にインストールされます。使用されるPCの環境をご確認のうえ、パスを設定してください。

カーネルイメージの作成

下記は、SL-A300用のlinux環境を構築する手順です。

  1. カーネルソースの入手、展開
    このサイトのソースコードダウンロードページから、以下のカーネルソースのどれかをダウンロードします。

    ( A ) linux-sla300-20021224-rom1_20.tar.bz2 ( 約24MB )
    ( B ) linux-2.4.13-ac5-rmk2-iop310.1-sla300-20021224-rom1_20.bz2 ( 約393KB )
    ( C ) sharp-a300-linux-1_10-1_20.patch ( 約16KB )

    ( A )は、すべてのソースコードが含まれていますので、単に展開するだけで結構です。
    ( B )は、linux-2.4.13-ac5-rmk2-iop310.1 からの差分パッチになっていますので、そのベースとなるソースを入手しておくことが必要になります。 ( C )は、linux-2.4.13-ac5-rmk2-iop310.1-sla300-20020905.bz2(rom ver. 1.10 J 相当のソース)からの差分パッチになっていますので、そのベース となるソースを入手しておくことが必要になります。

    • ( A )linux-sla300-20021224-rom1_20.tar.bz2の展開
      コンソールから次のコマンドを実行します。

      $ bzcat linux-sla300-20021224-rom1_20.tar.bz2 | tar xvf -

    • ( B )linux-2.4.13-ac5-rmk2-iop310.1-sla300-20021224-rom1_20.bz2の展開
      パッチのベースとなる次のソースを、カーネルのコミュニティーサイトから入手して下さい。
      linux-2.4.13.tar.bz2
       (サイト例: http://www.kernel.org/pub/linux/kernel/v2.4/)
      patch-2.4.13-ac5.bz2
       (サイト例: http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.4/2.4.13/)
      patch-2.4.13-ac5-rmk2.bz2
       (サイト例: ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/)
      patch-2.4.13-ac5-rmk2-iop310.1
       (サイト例: ftp://source.mvista.com/pub/ds-patches/old/)

      まずはじめに、コンソールから次のコマンドを実行して、パッチファイルに対するベースソースを展開してください。

      $ bzcat linux-2.4.6.tar.bz2 | tar xvf -
      $ cd linux
      $ bzcat patch-2.4.13-ac5.bz2 | patch -p1
      $ bzcat patch-2.4.13-ac5-rmk2.bz2 | patch -p1
      $ patch -p1 < patch-2.4.13-ac5-rmk2-iop310.1

      次にSL-A300用のパッチを適用します。 ( 1行で入力してください )

      $ bzcat linux-2.4.13-ac5-rmk2-iop310.1-sla300-20021224-rom1_20.bz2 | patch -p1

    • ( C )sharp-a300-linux-1_10-1_20.patch の展開方法
      すでに rom 1.10J のソースを入手されている方はこのパッチを適応することによって ROM Ver 1.20J のソースにアップグレード可能です。 ROM Ver 1.10J のソースが linux というディレクトリに展開済みであるとの条件の基で、本パッチの展開方法を示します。

      $ cd linux
      $ patch -p1 < sharp-a300-linux-1_10-1_20.patch

  2. カーネルコンフィギュレーション
    以下の手順で、カーネル設定ファイルを作成してください。

    $ cd linux
    $ make menuconfig
    -- > load an Alternate Configuration File
      input "arch/arm/def-configs/discovery-MV"
    select "ok"
    select "Exit"
    Do you wish to save your kernel configuration? -> Yes

  3. カーネルイメージ ( zImage ) の作成
    コンソールから以下のコマンドを実行して、カーネルイメージを作成します。カーネルイメージ( zImage )は、数分から数時間後(ホストPCの 能力により変わります)に「/arch/arm/boot」ディレクトリに作成されます。

    $ make dep; make clean; make zImage

    ※makeするには、コンパイラへのパスが通っている必要があります。インストールしたgccへのパスが通っているかどうかご確認ください。 当サイトからリンクされているgccのパッケージを使用すると、
     /opt/Embedix/tools/bin
    にインストールされます。使用されるPCの環境をご確認のうえ、パスを設定してください。

ルートファイルシステム ( consoleモード ) イメージの作成

下記は、SL-A300用のルートファイルシステムを構築する手順です。

  1. ルートファイルシステム用Tarballの入手と展開
    このサイトのソースコードダウンロードページからルートファイルシステムのTarball ( rootfs-sla300-20021224-rom1_20.tar.bz2 約 3.5MB )を入手し、 コンソールから次のコマンドを実行して、ルートファイルシステムのtarballを展開します。

    $ tar jxf rootfs-sla300-20021224-rom1_20.tar.bz2
     ※root権限でtarballを展開してください。

  2. 展開先ディレクトリでroot権限になる
    以下のコマンドを実行して、展開先のディレクトリでroot権限になります。

    $ cd rootfs
    su ( password )

  3. ファイルをroot_cramfsディレクトリパスに配置する
    SL-A300のルートファイルシステムにファイルを配置する場合、root_cramfsの以下のパスにファイルを配置してください。

    • 書き換え可能なファイル/ディレクトリの追加
      デバイスノードを追加する場合:
      root_cramfs/root/.dev_default.tarを展開し、作成されたdev/の下にデバイスノードを追加した後、再度アーカイブしてください。

      /var/の下にファイルやディレクトリを追加する場合:
      root_cramfs/root/.var_default.tarを展開して作成されたvar/の下にファイルなどを追加した後、再度アーカイブしてください。

      /home/にファイルやディレクトリを追加する場合:
      root_cramfs/root/.home_default.tarを展開して作成されたhome/の下にファイルなどを追加した後、再度アーカイブしてください。

    • 読み込み専用のファイル/ディレクトリの追加
      root_cramfsの直下に配置されたファイルやディレクトリは、SL-A300のフラッシュROM領域に展開されます。

  4. ROMイメージの作成
    コンソールから以下のコマンドを実行して、ROMイメージを作成します。

    $ bin/build.sh

  5. ビルド完了
    上記の手順で、以下のファイルが作成されます。

    initrd.bin


【重要な通知】
  1. この環境でビルドされたイメージには、Qt/EmbeddedとQtopiaを含みません。

  2. 起動すると、実機の画面にsla300 login: と表示されます。
    同様にI/OポートのシリアルI/Fにも sla300 login: と表示されますので、ここで、root を入力すると、 I/Oポート(シリアルI/F)からログインできます。

    接続の際の通信条件は以下のとおりです。
     通信速度:9600bps データ長:8bit パリティ:なし ストップビット:1

  3. initrd.binは、14MB以内のサイズに収めてください。

  4. 書き換え可能なファイルを追加した場合、RAMの容量がその分消費されます。

  5. jffs2は、使用されません。
 
←戻る
 
▲このページのトップへ
関連サイト   修理/ご相談窓口   利用上のご注意
COPYRIGHT