Intel Quark SoC X1000 BSP Rel 1.0.1 ビルド&ソフトウェア ユーザー・ガイド

はじめに

Intel Corporationは、2014年5月22日(現地時間)に「Intel® Quark™ SoC X1000 Board Support Package (BSP) Release 1.0.1」を公開しました。0.0.1のリリース番号のアップですが、そこからの受けるイメージとは異なり、新たなプラットフォームのサポートの追加が含まれています。

その追加されるプラットフォームとは次期「Intel® Galileo」ボードである「Intel® Galileo Gen2」です。またOpenSSLのセキュリティ・ホール「Heartbleed」の対策と、「Intel® Quark™ Core」に存在するLOCKプリフィクスが不安定な問題への対応なども含まれています。さらに細かいところでは「Quark」にTMマークの付与が行われました。

今回も、このBSPのリリースに含まれる「Intel® Quark™ SoC X1000 Board Support Package (BSP) Build and Software User Guide」の日本語意訳版を作成しましたので、それを共有したいと思います。完全に逐語訳をしたわけではないので、元の資料の置き換え用にはなりませんが、ダウンロード時に表示されるライセンスと該当資料の文末にある宣言文を読む限り、Intelのライセンス上も問題がなさそうだと思われる(転載と翻訳を禁止するとの明示文がない)ため、参考にはなるかと思い公開します。

このガイドは、Intel Quark SoC X1000シリーズを搭載したリファレンスボードに対応するLinuxカーネルとルート・ファイル・システムのビルド方法や、ボード上のSPI Flashへの書き込む方法、microSDメモリーカードやUSBメモリーに書き込んだLinuxカーネルとルート・ファイル・システムからの起動方法などを説明する資料です。

なお、今回のリリースのガイドでは「Intel® Galileo Gen2」に対する言及はありません。

お願い

もしもIntelの関係者で、私がこの日本語資料を公開することが何らかのライセンスや法的問題があるとお考えであるならば、メールにてご連絡をいただければと思います。その際は、私がメールの送付主がIntel関係者であることを認識できるようにIntel社内からメールを送信し、所属・肩書き等を添えてください。

著作権等

英語版の資料をベースにしているこの日本語資料はIntelの著作権が及ぶ範囲内にあります。その上で、この日本語資料には“さかきけい”の著作権が発生しています。“さかきけい”はすべての著作権法上の権利を留保します(詳しくは「ご利用上の注意とお願い」を参照ください)。

免責の表明

この日本語資料はIntelが公開している「Intel® Quark™ SoC X1000 Board Support Package (BSP) Build and Software User Guide / Release: 1.0.1 / 22 May 2014 / Order Number: 329687-006US」に記載されている情報を元に、“さかきけい”が作成したものです。このためIntelには何らこの日本語資料に対する責任はありませんので、この日本語資料に関連する問い合わせをIntelに対して行うことを禁止します。

また、この日本語資料を作成した“さかきけい”も何ら責任を負いません。この日本語資料の内容は、利用者自身の責任においてのみ使用することができます。

使用上の注意

  • Intelによる法的な意味合いを持つと考えられる記述は英文のままとしています。これは、日本語にすることで意味合いが変化することを防ぐ目的のものです。しかし、その部分は英語原文に付属する部分であることを前提としなければなりません。したがって、本日本語資料ではなく、文脈としては原書に付属することになります。本日本語資料においては、Intelが免責を宣言する部分はその通りですが、何らかの権利や許可を与える部分についてはすべて無効であるとご理解ください。※1
  • USB key、USB stickなどの表現揺れはすべて「USBメモリー」に統一して日本語資料化しています。※2
  • SD card、microSDなどの表現揺れはすべて「microSDメモリーカード」に統一して日本語資料化しています(SDアソシエーションのページ内表記に合わせています)。※3
  • 複数の英単語によって構成される語は、単語間に「・」を入れて表現しています。例:ルート・ファイル・システム※4
  • 気づいたTypoは修正しています。
  • 原文のパス区切りは「/」と「\」が混在していますが、日本語資料では「/」に統一しています。
  • 日本語での記述におかしいと思われる個所がある場合には原書をあたってください。
  • 技術的などの理由で記載内容にわからない事項がある場合には別途調べてください(“さかきけい”に質問のメールを送るのはご遠慮ください※5)。
  • 明らかな誤訳がある場合には具体的なご指摘をメールでお知らせいただけると助かります。
  • 記述内容に誤りがある場合にもお知らせいただけると嬉しく思います。ただし、原書も間違っている場合には特に日本語資料を修正することはせずに、訳注を追加するだけとするかもしれません。
  • 前述の内容と被りますが、“さかきけい”は何ら責任や義務を負うものではありません。

Intel® Quark™ SoC X1000
Board Support Package (BSP)
Build and Software User Guide

Release: 1.0.1

22 May 2014

コンテンツ

1. このドキュメントについて

このドキュメント「Intel® Quark™ SoC X1000 Board Support Package (BSP) Build and Software User Guide」は、2つのメジャー・セクション(パート)から構成されています:

  • Part 1 BSPソフトウェアのビルド:「Intel® Quark™ SoC X1000 Board Support Package」ソースのインストールと設定に関して説明します。
  • Part 2 BSPソフトウェアの使用:BSPソフトウェアの特徴と機能に関する情報を提供します。

Quarkベースのボード上でブートし、またBSPソフトウェアの特徴に関してより深く学習するためのイメージを作成するためにこのドキュメントを使用することができます。

このドキュメントは、エンベデッド・アプリケーション(組み込みアプリケーション)を開発した経験を持つ、ハードウェア/ソフトウェア・エンジニアを対象としています。

このソフトウェア・リリースは以下のソフトウェアおよびハードウェアをサポートしています:

  • Board Support Package Sources for Intel® Quark™ SoC X1000 v1.0.1
  • Intel® Galileo Customer Reference Board(CRB)(Fab D / ブルーのプリント基板)
  • Kips Bay Customer Reference Board(CRB)(Fab C / グリーンのプリント基板)
  • Intel® Quark™ SoC X1000 工業/エネルギー向けリファレンス・デザイン(Cross Hill)
  • Intel® Quark™ SoC X1000 輸送向けリファレンス・デザイン(Clanton Hill)

Part 1 BSPソフトウェアのビルド

このセクションには以下のサブセクションが含まれています:

2. はじめる前に

はじめる前に:

  • Linux*が動作するホストPCが必要です。Intelは64-bit Linuxシステムを推奨します。
  • サード・パーティ・ソースをダウンロードするためのインターネット接続が必要です。
  • 30GBのディスク空き容量がビルド処理のために必要です。
  • ボードでプログラムを使用するために必要なものは以下の通りです:
    • シリアル・インターフェースを使用するUEFI ShellあるいはLinux*ランタイム(セクション10を参照)
    • DediProg* SF100 SPI Flash Programmer(または同等品)とフラッシュ書き込みと連携するソフトウェア(セクション11を参照)
    • Intel® Galileo IDE(Galileoボードのみ; 詳しくはIntel® Galileo Board Getting Started Guide for Detailsを参照)

注記:カレント・バージョンをインストールする前にすべての以前のバージョンのソフトウェアを削除してください。

それぞれのコンポーネントは非常に異なる環境(コンパイラー・オプションやその他)を必要とします。「クロス汚染※6」を防ぐために、毎回新しいターミナル・セッションを開始し、この先のセクションに含まれるコマンドを実行しなければなりません。

注記:これらのコマンドが失敗あるいはタイムアウトする場合、それはプロキシーの設定によるものである可能性があります。必要な答えはここで見つかるでしょう:https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy

このリリースはDebian* Linux* 7.0(Wheezy)でテストを行いましたが、他のLinuxディストリビューションでも動作するはずです。

このリリースは64-bit Linux* Systemで検証されており、32-bit Systemでは追加の作業が必要となることがあります。

3. ソフトウェアのダウンロード

BSPソースのZIPファイルはここからダウンロードできます:
https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23197

注記:もしもIntel Quark Reference Design Boardを使用するなら、適切なソフトウェア・ダウンロードURLについては、Intelが提示するものを参照してください。

このリリースは以下のファイルで構成されます:

  • Board Support Package(BSP) ソース:
    • Board_Support_Package_Sources_for_Intel_Quark_v1.0.1.7z (2.6MB)

お客様がClanton Hill FFRD※7を使用する場合、IBL/CDIから追加でCAN※8ソフトウェアをダウンロードする必要があります。URLについてはあなたのIntelの担当者にお尋ねください。
CANパッケージは以下の通りです:

  • 富士通CANファームウェア:
    • CAN_Firmware_for_Intel_Quark_v1.0.1.zip (36KB)

Debianは、いくつかのコンパイラー・ツールとライブラリーをインストールする、Build-essentialと呼ばれるmetaパッケージを提供します。次に進む前に、以下のコマンドを実行してmetaパッケージおよび他のパッケージをインストールしてください:

# sudo apt-get install build-essential gcc-multilib vim-common

4. EDKIIファームウェアのビルド

Quarkのためにオープン・ソースEDKIIファームウェアをビルドする必要があります。追加の情報はこちらから得られるでしょう:

依存関係:

  • Python 2.6またはそれ以降
  • GCC and G++ (GCC 4.3とGCC 4.6でテスト済み)
  • subversionクライアント
  • uuid-dev
  • iasl

Clanton EDKII BSPはquark_EDKII_<version>.tar.gzというファイル名です。これを展開してから、svn_setup.pyスクリプトを実行します。スクリプトは、ファームウェア・モジュールをビルドするために必要なアップストリームのコードを取得します。

新しいターミナル・セッションを開いて以下のコマンドを実行します:

# sudo apt-get install build-essential uuid-dev iasl subversion
# tar -xvf Quark_EDKII_*.tar.gz
# cd Quark_EDKII*
# ./svn_setup.py
# svn update

注記svn updateコマンドを完了するまでに必要とする時間は、インターネット接続速度とマシンの仕様に依存します。

注記:これらのコマンドが失敗する場合、それはプロキシーの設定によるものである可能性があります。必要な答えはここで見つかるでしょう:https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy

svn updateが完了したら、モジュールをビルドするためにbuildallconfigs.shスクリプトを実行します。

スクリプトによるビルド構成のいくつかは、OpenSSLに対する依存関係を持っています。このため、スクリプトを実行する前にCryptoPkg/Library/OpensslLib/Patch-HOWTO.txtファイルに記載された指示に従う必要があります。

スクリプトには以下のオプションを指定します:

buildallconfigs.sh [GCC43 | GCC44 | GCC45 | GCC46 | GCC47] [PlatformName]
GCC4x
このビルドで使用するGCCフラグです。GCCのバージョンに応じて指定します。
注記:検証はGCC43、テストはGCC46で行いました。
[PlatformName]
ビルドする対象のプラットフォーム・パッケージの名前を指定します。

使用例:

./buildallconfigs.sh GCC46 QuarkPlatform # GCC version 4.6を使用してQuarkプラットフォーム用にビルドを実行

注記:選択したGCCのバージョンがgcc --versionコマンドを実行してシステムにインストールされたものと一致するかどうか確認することができます。

以下のディレクトリーにビルドの出力が存在します:

  • Build/QuarkPlatform/<Config>/<Target>_<Tools>/FV/FlashModules/
    EDKIIバイナリー・モジュールが出力されます。
  • Build/QuarkPlatform/<Config>/<Target>_<Tools>/FV/Applications/
    CapsuleApp.efiを含む、UEFIシェル・アプリケーションが出力されます。

凡例:

<Config> = PLAIN | SECURE
<Target> = DEBUG | RELEASE
<Tools> = GCC43 | GCC44 | GCC45 | GCC46 | GCC47

セクション8では、EDKバイナリーを置くディレクトリーへのシンボリック・リンクを作成するスクリプトを実行します。

これを実施する対象者のために:

quarkbuild.sh [-r32 | -d32 | -clean] [GCC43 | GCC44 | GCC45 | GCC46 | GCC47] [PlatformName] [-DSECURE_LD (オプション)] [-DTPM_SUPPORT (オプション)]
-clean
ビルドしたファイルとフォルダーを削除します。
-d32
DEBUGビルドの作成します。
-r32
RELEASEビルドの作成します。
GCC4x
このビルドで使用するGCCフラグのために使用します。GCCのバージョンに応じて指定します。
注記:検証はGCC43、テストはGCC46で行いました。
[PlatformName]
ビルドする対象のプラットフォーム・パッケージの名前を指定します。
[-DSECURE_LD]
セキュア・ロックダウン・ビルドを作成します。 (オプション)
[-DTPM_SUPPORT]
TPMをサポートするEDKIIビルドを作成します。(オプション)
注記:このオプションにはCryptoPkg/Library/OpensslLib/Patch-HOWTO.txtに説明がある一時的な前提条件があります。

さらにTPM (Trusted Platform Module)に関する詳しい情報が必要であれば、「Intel® Quark™ SoC X1000 UEFI Firmware Writer’s Guide」を参照してください。

使用例:

./quarkbuild.sh -r32 GCC43 QuarkPlatform –DSECURE_LD # GCC version 4.3を使用してQuarkプラットフォーム用にセキュア・ロックダウンのリリース・ビルドを作成します。

5. GRUB OSローダーのビルド

注記:GRUBは2つの方法で提供されます:meta-clanton Yocto BSPに含まれるもの、または独立して提供されるもの。

もしもYoctoを実行するなら、このセクションを飛ばしてYoctoが以下のディレクトリーに出力するファイルを使用してください:yocto_build/tmp/deploy/images/grub.efi

Yoctoを使用しない場合およびLinuxの存在しないFlashイメージをビルドするのが目的の場合には、このセクションによる作業を行います。

助言:Yocto LinuxシステムではないFlashイメージ(例えば、microSDメモリーカードまたはUSBメモリーからYocto Linuxよりも大きなシステムを起動させることを計画している場合)をビルドする場合には、layout.confファイルを適切に修正し、bzImageおよびcore-image-minimal-initramfs-clanton.cpio.gzのためのセクションを削除すべきです。

依存関係:

  • GCC (テスト済みのバージョンは4.3.4と4.6.3とlibc6-dev-i386)
  • gnu-efiライブラリー (テスト済みのバージョン >= 3.0)
  • GNU Make
  • Autotools (autoconfとlibtool)
  • Python 2.6またはそれ以降
  • git
  • gcc-multilib

このGRUBビルドは多くのLinuxディストリビューションに含まれている32ビットのgnu-efiライブラリーを必要とします。あるいは次のURLから最新版をダウンロードすることができます:http://sourceforge.net/projects/gnu-efi/files

gnu-efiライブラリーの展開とコンパイルは以下のコマンドを使用します:

# tar -xvf gnu-efi*
# cd gnu-efi*/gnuefi
# make ARCH="ia32"
# cd -

GRUBをビルドするために、最初に新しいターミナル・セッションを開きます。grubパッケージを展開して、それからgitsetup.pyスクリプトを実行します。このスクリプトはgrubが必要とするアップストリームのコードをすべてダウンロードし、パッチを適用します。

注記:Debianを使用しておらず、手動でgnu-efiをシステム外の位置にインストールしたのであれば、gnu-efiをコンパイルあるいはインストールしたパスをGNUEFI_LIBDIRに設定しなければなりません。

以下のコマンドを実行します:

# sudo apt-get install git autoconf
# tar -xvf grub-legacy_*.tar.gz
# cd grub-legacy_*
# ./gitsetup.py
# cd work
# autoreconf --install
# export CC4GRUB='gcc -m32 -march=i586 -fno-stack-protector'
# export GNUEFI_LIBDIR=/full/path/to/gnu-efi-3.0/gnuefi/
# CC="${CC4GRUB}" ./configure-quark.sh
# make
# cd -

注記:これらのコマンドが失敗する場合、それはプロキシーの設定によるものである可能性があります。必要な答えはここで見つかるでしょう:https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy

このビルド処理によって出力される、必要なファイルはefi/grub.efiです。

6. ファイル・システムの作成およびYoctoで使用するカーネルのビルド

依存関係:

  • git
  • diffstat
  • texinfo
  • gawk
  • chrpath
  • file

注記gitはプロキシーの設定を必要とします。これらのコマンドが失敗する場合、それはプロキシーの設定によるものである可能性があります。必要な答えはここで見つかるでしょう:https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy

Yoctoを使用するために、ルート・ファイル・システムとmicroSDメモリーカードまたはUSBメモリーからシステムをブートするためのカーネルを作成します。rootとして、このセクションのどのコマンドも実行しないでください。

注記:Linux*オペレーティング・システムのための開発ツール(gcc)をビルドするための方法はセクション7を参照してください。

長いファイル・パスを含むパッケージを展開する際に発生する既知の問題を回避するために、短いパス(例えば/tmp)のディレクトリーへmeta-clantonのtarボールを展開してください。

はじめに新しいターミナル・セッションを開きます。Yoctoレイヤーを展開し、Yoctoのビルドに必要な外部ソースをダウンロードするためにsetup.shを実行します:

# sudo apt-get install diffstat gawk chrpath
# tar -xvf meta-clanton*.tar.gz
# cd meta-clanton*
# ./setup.sh

注記setup.shスクリプトはパラメーターを取りません。Intel® Galileoボードのためにルート・ファイル・システムおよびカーネルをビルドするための方法については、後述のコマンドを参照してください。

続いて、Yoctoのビルド環境を初期化するためにsourceoe-init-build-envコマンドを実行し、そして、ルート・ファイル・システムとカーネルをビルドするためにbitbake <target>を実行します。後述するSoCに固有の<target>コマンドを指定します。

注記:Linuxカーネルにパッチを適用する必要がある場合には、セクション 6.1までスキップし、そして、bitbakeコマンドを実行する前にパッチを適用してください。

2つのビルド方法をサポートしています; その出力は、それぞれ少し異なります。Intel® Galileoボードのためのコマンドは他のボードと異なります。

注記:次のビルド方法を連続して行うことはできません。これらは相互に排他的です。両方のビルドを実施するのであれば、2つの完全に分離された異なるディレクトリー上でそれぞれの作業を行わなければなりません。

SPI Flash用の小さなLinuxをビルドする

Intel® Galileoボードのためのコマンドは以下のとおりです:

# source poky/oe-init-build-env yocto_build
# bitbake image-spi-galileo

Intel® Galileoボードのための出力ファイルは./tmp/deploy/images/ディレクトリーに存在し、以下のファイルを含みます:

  • image-spi-galileo-clanton.cpio.gz
  • image-spi-galileo-clanton.cpio.lzma
  • bzImage
  • grub.efi

他のサポートするボード(Intel® Galileoボードを除く)のためのコマンドは以下のとおりです:

# source poky/oe-init-build-env yocto_build
# bitbake image-spi

このビルド処理による出力は、./tmp/deploy/images/に存在し、以下のファイルを含みます:

  • image-spi-clanton.cpio.gz
  • image-spi-clanton.cpio.lzma
  • bzImage
  • grub.efi

microSDメモリーカードまたはUSBメモリーのためのフル機能のLinuxをビルドする

注記:Yoctoのビルドを完了するまでに必要とする時間は、インターネット接続速度とマシンの仕様に依存します。※9

Intel® Galileoボードのためのコマンドは以下のとおりです:

# source poky/oe-init-build-env yocto_build
# bitbake image-full-galileo

Intel® Galileoボードのための出力ファイルは./tmp/deploy/images/ディレクトリーに存在し、以下のファイルを含みます:

  • image-full-galileo-clanton.ext3
  • core-image-minimal-initramfs-clanton.cpio.gz
  • bzImage
  • grub.efi
  • boot (ディレクトリー)

他のサポートするボード用(Intel® Galileoボードを除く)には、以下のようにbitbake image-fullを実行します:

# source poky/oe-init-build-env yocto_build
# bitbake image-full

このビルド処理による出力は、./tmp/deploy/images/に存在し、以下のファイルを含みます:

  • image-full-clanton.ext3
  • core-image-minimal-initramfs-clanton.cpio.gz
  • bzImage
  • grub.efi
  • boot (ディレクトリー)

カーネルとルート・ファイル・システム(それぞれ、bzImageimage-nnnn.gz)をUSBメモリーまたはmicroSDメモリーカードにコピーし、GRUBからブートすることができます。なお、grub.confファイルはUSBメモリーまたはmicroSDメモリーカードの/boot/grub/ディレクトリーに置かなければなりません。

6.1 Yoctoを使用したLinuxカーネルへのカスタム・パッチの適用(オプション)

あなたが何らかのカーネル(追加のデバッグ・ステートメントあるいはカスタム・ドライバーの操作)のカスタマイズを必要とするのであれば、Linuxカーネルにパッチを適用する必要があります。このような場合、bitbakeコマンドを実行する前に、このオプションのステップを実行しなければなりません。

  1. Yoctoソース・コードのカスタマイズのために、gitからgit diffあるいはgit format-patchコマンドを使用して更新のためのパッチを抽出します。
  2. パッチを以下のパスにコピーします:
    $ cp mypatch.patch /PATH/TO/MY_BSP/meta-clanton/meta-clanton-bsp/recipes-kernel/linux/files/
  3. bitbakeのレシピ・ファイルのパスを確認します:
    /PATH/TO/MY_BSP/meta-clanton-bsp/recipes-kernel/linux/linux-yocto-clanton_3.8.bb
  4. 以下の行を加えます:
    SRC_URI += "file://mypatch.patch"

    実行例:

    echo "SRC_URI += \"file://mypatch.patch\"" >> linux-yocto-clanton_3.8.bb
  5. セクション 6へ戻ってbitbakeコマンドを実行して、新たなイメージを得ます。

さらなる情報は以下のURLに存在します:

http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-SRC_URI
http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#platdev-appdev-devshell

7. Linux*クロス・コンパイラー・ツール・チェーンの構築

クロス・コンパイラー・ツール・チェーンを作るための手順はYoctoルート・ファイル・システムとカーネルのための手順を説明したセクション6と、bitbakeコマンドの引数を除いて同じです。

ツール・チェーンの構築を行うために、新しいターミナル・セッションを開き、以下のbitbakeを除いてセクション6の手順に従います:

# bitbake image-full -c populate_sdk

両方のビルドに同じファイルを使用することができますが、新しいターミナルでpoky oe-init-build-env yocto_buildを毎回実行しなければなりません

ビルド処理の出力は、別のシステムのためツール・チェーンをインストールするスクリプトです:
clanton-tiny-uclibc-x86_64-i586-toolchain-1.4.2.sh

スクリプトは./tmp/deploy/sdkにあります。

注記:スクリプトはあなたの環境を大きく変更することがあり、これによってあなたが使用している可能性のある非Yoctoツール(Pythonを使用するために含まれるすべて)を破壊することがあります。Yocto環境のsourceを行い、makeを実行するためには新しいターミナル・セッションを開かなくてはなりません。そして、その他のすべてのコマンドは他のターミナル・セッションで実行します。※10

あなたがあなたのアプリケーションをコンパイルする準備ができているならば、最初にsourceコマンドを実行してCCCONFIGURE_FLAGSおよびその他の環境変数のためのデフォルト値を定義します。これによりコンパイルが行えます:

# source /opt/poky/1.4.2/environment-setup-x86_32-poky-linux
# ${CC} myfile.c -o myfile

または

# source /opt/poky/1.4.2/environment-setup-x86_64-poky-linux
# ${CC} myfile.c -o myfile

一般的な詳細については、Yocto Application Development Toolkit (ADT)の情報を参照してください:
https://www.yoctoproject.org/tools-resources/projects/application-development-toolkit-adt

パッケージをLinuxビルドに追加する方法についてはこのURLで見つかるでしょう:
http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#usingpoky-extend-customimage-localconf

Quark Linuxは組み込みシステムのために最適化されたCライブラリーであるuclibcを使用します。これは、SPI Flashに入れることができる、UEFIブート・ローダーとGRUB OSローダーを含む非常に小さなLinuxを生成可能にします。

サイズに制約がないのであれば、Cライブラリーをより完全な機能を持ったCライブラリーに変更することができます。詳しい手順はこちらを参考にしてください(特に使用するCライブラリーを選択するTCLIBC変数を変更する方法):
http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html

eglibcイメージをビルドするためには、以下のようにDISTRO変数を定義します:

DISTRO="clanton-full" bitbake <image-name>

8. ボード用のFlashイメージの作成

依存関係:

  • GCC
  • GNU Make
  • EDKII Firmware Volume Tools (base tools)
  • OpenSSL 0.9.8w
  • libssl-dev

8.1. SPI Flashツールを使用する

SPI Flashツールは、sysimageアーカイブ内のメタデータとともに、ボードにインストールおよび起動することが可能なFlash.binファイルを作成するために使用します。

新しいターミナル・セッションを開始し、sysimageアーカイブの内容を展開します:

# tar -xvf sysimage_*.tar.gz

SPI Flashツールを展開およびインストールします:

# tar -xvf spi-flash-tools*.tar.gz

注記:オリジナルのtarファイルを含まないディレクトリーへすべてのファイルを展開します。

sysimage*ディレクトリーにはあらかじめ構成されたlayout.confファイルが含まれます:

  • リリース・ビルド・ベースSKU(非セキュア)
  • デバッグ・ビルド・ベースSKU(非セキュア)
  • リリース・ビルド・ベースSKU
  • デバッグ・ビルド・ベースSKU

どの種類をビルドするかに依存して、sysimage.CP-8M-debugあるいはsysimage.CP-8M-releaseディレクトリーのいずれかでイメージを作成します。

layout.confファイルはボード上に書き込む、最終的なFlash.binファイルに、様々なコンポーネントをどのように含むのかを定義します。layout.confは、関連するアドレス・オフセット、ファイル名、およびパラメーターを含む、いくつかの[sections]で構成されています。それぞれのセクションは有効なファイルを参照します。したがって、パスを更新するか、有効なファイルへのシンボリック・リンクを作成することが必要です。

シンボリック・リンクを作成するスクリプトが用意されています。以下のようにスクリプトを実行します:

# ./sysimage*/create-symlinks.sh

ホワイトスペースがlayout.confファイルに定義された値の周りに存在しないことを確認してください。

注記:Intel® Galileoボードを使用しているのであれば、.capファイルを正しく生成するためにlayout.confファイル内の"[Ramdisk]"セクションのimage-spi-clanton.cpio.lzmaimage-spi-galileo-clanton.cpio.lzmaへと変更する必要があるでしょう。

適切なlayout.confを作成してから、SPI FlashツールのMakefileを実行します:

# ../../spi-flash-tools*/Makefile

sysimage.CP-8M-debugまたはsysimage.CP-8M-releaseディレクトリーのいずれかに置かれます(ビルドした対象のイメージに依存します)。

このビルドの出力には以下のファイルが含まれます:

  • Flash-missingPDAT.cap - 標準Capsuleファイル
    このファイルは、シリアル・インターフェースを使用したボードへの書き込みの際に使用します。詳しくはセクション10の「シリアル・インターフェースを使用したボード上のFlashへの書き込む方法」を参照してください。
  • Flash-missingPDAT.bin - プラットフォーム・データのないFlashファイル
    このファイルはボードに書き込むためにプラットフォーム・データ・ツールとDediProgで使用します。詳しくはセクション9、その後セクション11を参照してください。
  • FVMAIN.fv – ボード固有のリカバリー・ファイル
    Capsuleリカバリーの概要についてはセクション14を参照してください。もしもIntel® Galileoボードを使用しているならば、Intel® Galileo Board User Guideに詳細があります。その他のボードの場合、詳細についてはあなたのIntelの担当者にお尋ねください。

CapsuleファイルはQuarkベースのボードがブートするために必要な、BIOS※11、ブートローダー、そして圧縮済みのLinuxランタイム・システムを含みます。ボード上のSPI Flashへ書き込むために、セクション10で解説するCapsule更新メカニズムを使用します。

注記:同じビルド・プロセスで同じイメージ・ファイルをセキュアおよび非セキュアのボードSKUの両方で用いますが、しかし、セキュアSKUではいつCapsuleで更新を行うことができるかということに対する、ある制限があります。セキュアSKUのボード(工業/エネルギーおよび輸送向けのリファレンス・デザイン)に適用するのであれば、Linux*ランタイム・システムを使用してボードの更新を行う必要がありますセクション 10.2)。

上級者のために、sysimageパッケージのトップレベル・ディレクトリーで次のコマンドを実行することにより、たった1つのコマンドですべてのsysimageのコンフィギュレーションをビルドすることができるようになっています:

../spi-flash-tools/Makefile [ -j ] sysimages

注記:コマンドに含まれる複数のsysimageに注意してください。-jオプションによるビルドは同時実行で行われるため、短い時間で完了しますが、一方で出力を読むのが難しくなります。

9. プラットフォーム・データ・ファイルの定義

注記:前のセクションで*.capファイルを作成した場合は、プラットフォーム・データ・ファイルは必要ではありません。また、このセクションを飛ばすことができます。

プラットフォーム・データは、SPI Flashに置かれるパーツ固有のユニークなデータです。プラットフォーム・データは、ボードに書き込まれるすべてのFlash.binイメージに対して、個々のパッチを充てるために使用します。データ・パッチ・スクリプトは、このリリースが提供します。

プラットフォーム・データ・パッチ・スクリプトはSPI Flashツールのアーカイブに含まれています。スクリプトを実行する前に、新しいターミナル・セッションを開始し、MACアドレス、プラットフォーム・タイプおよびMRCパラメーターのようなプラットフォーム固有なデータを含めるためにplatform-data/sample-platform-data.iniをコピーして編集します。

リファレンス・プラットフォームにおいては、プログラムされたMACアドレスが製品ラベル上に印刷されています。

注記:Intel® Quark™ SoC X1000は2つのMACを含んでおり、(Galileoのような)1つのEthernetポートのみが存在するボードであっても、platform.iniファイルの中でそれぞれ1つのアドレスを構成済みです。Galileoにおいては、MAC 0が外に接続された唯一のMACですが、しかし、さらにplatform.iniファイル中にはダミーの有効なUNICAST MACアドレスを備えたMAC 1を構成しなければなりません。ファイル中のデフォルトMACアドレスの値は無効です。あなたが有効なMACアドレスを設定しなければ、次のエラー・メッセージを返します:

HALT: Multicast Mac Address configured for Ioh MAC

Galileo / Kips Bay Fab Dにおける例を以下に示します(推奨する値は太字テキストで示します):

[Platform Type]
id=1
desc=PlatformID
data.type=hex.uint16
# ClantonPeak 2, KipsBay 3, CrossHill 4, ClantonHill 5, KipsBay-fabD 6
data.value=6
# 注記: MRCパラメーターは、前述したplatformIDと一致しなければなりません。
[Mrc Params]
id=6
ver=1
desc=MrcParams
data.type=file
#data.value=MRC/clantonpeak.v1.bin
#data.value=MRC/kipsbay.v1.bin
#data.value=MRC/crosshill.v1.bin
#data.value=MRC/clantonhill.v1.bin
data.value=MRC/kipsbay-fabD.v1.bin

[MAC address 0]
id=3
desc=1st MAC
data.type=hex.string
data.value=001320FDF4F2 #該当デバイス用のユニークなMACアドレスに置き換えなければなりません。

[MAC address 1]
id=4
desc=2nd MAC
data.type=hex.string
data.value=02FFFFFFFF01

続いて、次に示すスクリプトを実行します:

# cd spi-flash-tools/platform-data/
# platform-data-patch.py -p sample-platform-data.ini \
-i ../../sysimage_*/sysimage.CP-8M-release/Flash-missingPDAT.bin
# cd -

これによって、ボード上に書き込むFlash+PlatformData.binファイルが作成されます。

DediProgを使用してボードに書き込むのであれば、セクション11まで飛ばしてください。

10. シリアル・インターフェースを使用したボード上のFlashへの書き込む方法

依存関係: CapsuleApp.efiセクション4でビルド済み、パスはBuild/QuarkPlatform/<Config>/<Target>_<Tools>/FV/Applications/

BSPはEDKII Capsuleに基づくSPI Flashの内容を更新するためのメカニズムを提供します。CapsuleはQuarkベースのボード(例えばIntel® Galileoボード)を起動させるために必要なBIOS※12、ブートローダーおよび圧縮されたLinuxランタイム・システムを含んでいます。

Capsuleによる更新メカニズムは、EDKIIシェル(セクション10.1)あるいはLinux*ランタイム・システム(セクション10.2)から起動することができます。両方のケースとも、システム上のroot権限が必要です。

セキュアSKUのボード(工業/エネルギーおよび輸送向けのリファレンス・デザイン)の場合には、Linux*ランタイム・システム(セクション10.2)を使用してボードの更新を行わなければなりません

10.1 UEFIシェルを使用したフラッシュの書き込み方法

UEFIシェルがセキュアSKUのボードでは使用できないため、この手順はセキュアSKUのボード(工業/エネルギーおよび輸送向けのリファレンス・デザイン)では実施することができません。代わりにセクション10.2による手順を参照してください。

以下の手順を実行します:

  1. セクション8で作成したファイルを使用します。
  2. microSDメモリーカード(またはUSBメモリー)にCapsuleApp.efiおよびFlash-missingPDAT.capをコピーして、それをボード上のスロットに挿入します。
  3. コンピューターとボードの間をシリアル・ケーブルで接続します。シリアル・コンソール・セッション(例えばPuTTY)をセットアップして、115200bpsでボードのCOMポートに接続します。
  4. 特殊文字を認識するためにシリアル・コンソール・セッションを構成します。例えば、PuTTYを使用している場合には、明示的に特殊文字を有効にしなければなりません。PuTTYのConfigurationオプションで、Terminal > Keyboardカテゴリーへ行き、Function keys and KeypadオプションにSCOを設定します。さらに必要に応じてバックスペースをControl-Hキーに割り当ててもよいでしょう。
  5. ボードの電源を入れます。F7を押してGRUBが開始される前にEFIシェルに入ります。
  6. シリアル・コンソールにブート・デバイスを選択するためのボックスが表示されます(以下のように)。
    UEFI Internal Shellを選択します。

    UEFI Select Box

    これに似た表示になります:

    UEFI Internal Shell

  7. 見た目がこれに似た見出しが出力されるのが確認できるでしょう:
    fs0 :HardDisk - Alias hd7b blk0

    これがあなたのmicroSDメモリーカードです。マウントのために以下のようにタイプします: fs0:

  8. 正しいバージョンのCapsuleApp.efiを使用していることを確認するために-vオプションを使用します。バージョン1.01またはそれ以降を使用しなければなりません
  9. 以下のコマンドを実行します:
    CapsuleApp.efi Flash-missingPDAT.cap

    注記Flash-missingPDAT.capファイルのフル・ファイル名を入力しなければなりません。
    これに似た表示を確認することができます:

    SPI Flash Update

    CapsuleAppがあなたのSPI Flashイメージを更新します。この処理には約5分かかります。

    警告:電源を切ったり、あるいはこのプロセスを終了しようとしないでください!! プロンプトに戻るのを待ってください。そうしなければ、あなたのボードは機能しなくなるでしょう。

  10. アップデートが完了すると、ボードは自動的にリブートします。これに似た表示を確認することができます:

    Board Rebooted

10.2 Linux*ランタイム・システムを使用したフラッシュ書き込む方法

初期リリースのBSPソフトウェア(0.7.5および0.8.0)から更新するのであれば、リリース固有のカーネル・モジュールを必要とします。0.7.5カーネル・モジュールを0.8.0 BSPにロードさせることはできないことに注意が必要です。また、同様に逆もできません。

新しいターミナル・セッションを開いて、以下の手順を実行します:

  • セクション8で作成したファイルを使用します。
  • Flash-missingPDAT.capファイルをsysimageディレクトリーからmicroSDメモリーカード(またUSBメモリー)にコピーし、ボードに差し込みます。
  • リリース 0.7.5およびリリース 0.8.0の場合のみ:
    以下のコマンドを実行します:

    # insmod /tmp/<release>/efi_capsule_update.ko

    凡例:<release> = 0.7.5または0.8.0

  • リリース 0.9.0とリリース 1.0.0以降:
    以下のコマンドを実行します:

    # modprobe efi_capsule_update
  • すべてのリリース
    以下のコマンドを実行します:

    # modprobe sdhci-pci
    # modprobe mmc-block
    # mkdir /lib/firmware
    # cd /media/mmcblk0p1/
    # cp Flash-missingPDAT.cap /lib/firmware/Flash-missingPDAT.cap
    # echo -n Flash-missingPDAT.cap > /sys/firmware/efi_capsule/capsule_path
    # echo 1 > /sys/firmware/efi_capsule/capsule_update
    # reboot

注記rebootコマンドを使用する必要があります; 電源ケーブルの挿抜では動作しません!※13

警告:既知の問題のため、古いsysfsエントリーを使用するのはリリース 0.7.5とリリース 0.8.0に限定されることを保証することが重要です:

/sys/firmware/efi/capsule_update
/sys/firmware/efi/capsule_path

リリース 0.9.0とそれ以降のためのCapsuleによる更新方法では次の修正されたエントリーを使用します:

/sys/firmware/efi_capsule/capsule_update
/sys/firmware/efi_capsule/capsule_path

11. DediProgを使用したボード上のFlashへの書き込む方法

ボードに書き込むために、DediProg* SF100 SPI Flash Programmer(以下、SF100)と、これをサポートする書き込み用ソフトウェアを使用することができます。

注記:これらの手順では、セクション9で作成したFlash+PlatformData.binファイルを必要とします。

すでにソフトウェアがインストールされており、SF100がボードに接続されているなら新しいターミナル・セッションを開き、DediProgエンジニアリング・アプリケーションを起動します。※14

ボードへ書き込む手順は以下の通りです:

  1. もしもアプリケーションが起動するときにプロンプトが表示されるなら、メモリー・タイプを選択します。
  2. ファイル・アイコンを選択し、書き込みたい*.binファイルを選びます。
  3. 必要に応じてSPI Flashの内容を消すためにEraseボタンを選択します。
  4. ファイル・フォーマットはrawを選択します。
  5. Progアイコンを選択し、イメージをボードに書き込みます。
  6. 必要に応じて、イメージが正しく書き込まれたことを確認するためにVerifyアイコンを選択します。

注記:Intelはシステムをブートさせる前にボードからSF100を取り外すことを推奨します。

12. microSDメモリーカードからボードを起動させる

microSDメモリーカードからボードを起動し、また継続してrootfsを有効にするためには、以下の手順に従ってください。また、USBメモリーからボードを起動するために、この手順を使用することもできます。

Galileoボードを使用しているなら、このセットアップによってボードへスケッチを保存することができるようになります。これにより、ボードの電源をオフにした後でも、繰り返してスケッチを実行できるようにできます。これは、さらに/sketchフォルダーとrootfsの持続性を有効にします。※15

依存関係:

  • セクション6におけるbitbake image-fullコマンドの実行(または、Intel® Galileoボードを使用する場合には、bitbake image-full-galileo
  • 使用するmicroSDメモリーカードは以下の条件を満たさなければなりません:
    • microSDメモリーカードはFATあるいはFAT32でフォーマットされていなければなりません。
    • microSDメモリーカードの容量は32GBあるいはこれよりも少ない、SDHCフォーマットでなければなりません。
      SDXCフォーマットはサポートしていません
  1. セクション6のビルド処理が出力する./tmp/deploy/images/の中に存在する以下のカーネルおよびルート・ファイル・システムのファイルをmicroSDメモリーカードへコピーします:
    • boot (ディレクトリー)
    • bzImage
    • core-image-minimal-initramfs-clanton.cpio.gz
    • image-full-clanton.ext3 またはIntel® Galileoボードの場合は、image-full-galileo-clanton.ext3

    必ず以下に示したファイルおよび構造を備えたmicroSDメモリーカードをセットアップしてください:

    microSD Example

  2. microSDメモリーカードを挿入し、ボードの電源を入れます。

    注記:初回にボードを起動する際には数分かかることがあります。これは、初回起動時に暗号化キーを作成するSSHコンポーネントによる予期された挙動です。

トラブルシューティングのための助言

microSDメモリーカード/USBメモリーからブートするために、SPI Flashに組み込まれているgrubインスタンスはmicroSDメモリーカード/USBメモリーの中のパーティション1からboot/grub/grub.confファイルを検索するようにハードコードされています。これは大部分のmicroSDメモリーカード/USBメモリーの出荷時フォーマットと互換性があります。デフォルトでは、UEFIファームウェアはmicroSDメモリーカード/USBメモリーからブートをしようとはしません。これはgrubによって扱われます。

使用するmicroSDメモリーカード/USBメモリーが製造された後に再度フォーマットされている場合には、そのデバイスからブートする際に問題が発生することがあります。最初に異なるメモリー・デバイスを使用してブートを行い、その問題が発生するかどうかを確かめてください。特定のmicroSDメモリーカードの問題であると判明したのであれば、SD Associationが公開しているツールを使用することで、出荷時のフォーマットに戻すことができます:
https://www.sdcard.org/downloads/formatter_4/
フラッシュ・メモリー・デバイスをフォーマットするために、通常のオペレーティング・システムのツールを使用することは推奨されません。

Part 2 BSPソフトウェアの使用

このセクションには以下のサブセクションが含まれています:

13. Capsuleの更新

BSPソフトウェアは、EDKII Capsuleに基づくSPI Flashの内容を更新するためのメカニズムを提供します。これらのCapsuleには、BIOS※16、ブートローダーおよび圧縮されたLinuxランタイム・システムが含まれており、Intel® GalileoボードのようなQuarkベースのボードをブートさせることができます。Capsuleの更新は以下のハイレベルの手順で行います:

  • CapsuleファイルFlash-missingPDAT.capのビルドを行います。
  • このファイルの入ったUSBメモリーをボードに接続します。
  • セクション10.1またはセクション10.2で解説しているCapsule更新メカニズムの実行します。

注記:セキュアSKUのボード(工業/エネルギーおよび輸送向けのリファレンス・デザイン)に適用するのであれば、Linux*ランタイム・システムを使用してボードの更新を行う必要がありますセクション 10.2)。

14. Capsuleのリカバリー

BSPソフトウェアは、ボードがブートしない場合にSPI Flashの内容をリカバリーするためのメカニズムを提供します。例えば、もしも電源が正常なSPI Flashの更新中に失われれば、ボードはブートできなくなるでしょう。

Capsuleのリカバリーは以下のハイレベルの手順で行います:

  • リカバリー・ファイルFVMAIN.fvのビルドを行います
  • このファイルの入ったUSBメモリーをボードに接続します。
  • リカバリー・モードでボードを起動します。
    注記:もしもIntel® Galileoを使用しているなら、Intel® Galileo Board User Guideの解説を参照してください。その他のボードで、リカバリー・モードで起動する方法についてはあなたのIntelの担当者にお尋ねください。
  • リカバリー・ファームウェアがSPI Flashを更新して、リブートするのを待ちます。

リカバリー・モードでの起動には、一般にボードにワイヤーをはんだ付けする必要があります。代替策は、セクション 11で説明するように、ボードへの書き込みを行うためにDediProg* SF100 SPI Flash Programmerとこれをサポートする書き込み用ソフトウェアを使用する方法です。

15. 署名ファイル(セキュアSKUのみ)

この手順はほとんどのユーザーにとってオプションです;これはSecure Bootにのみ必要とされます。

依存関係:libssl-dev

すべての配置されたファイルは、grubによって検証のための署名ファイルが要求されます。これにはカーネル、grub.confbzImageおよびcore-image-minimal-initramfs-clanton.cpio.gzが含まれます。

SPI Flashツールのパッケージには、セキュア・ブートのための署名を行うためのアセット署名ツールセットが含まれています。以下に示す手順で署名ツールのコンパイルを行い、続いて対象に署名をします。すべてのコマンド・ライン・オプションを含む、アセット署名ツールについての完全な詳細については「Intel® Quark™ SoC X1000 Secure Boot Programmer’s Reference Manual」を参照してください(付記A)。

新しいターミナルセッションを開いてから、以下のコマンドを実行します:

# cd spi-flash-tools
# make asset-signing-tool/sign

署名のためのツールをコンパイルすると、次の例で示すようにアセットに署名をすることができます:

# path/to/spi-flash-tools/asset-signing-tool/sign –i <input file> -s <svn> -x <svn index> -k <key file>

この例による出力は、<input file>と同じディレクトリーの中に署名バイナリーと呼ばれるファイルが<input file>.signedというファイル名で生成されます。

個別の署名ファイルを作成するためには、-cをコマンド・ライン・オプションに渡すと<input file>.csbh<input file>と同じディレクトリーの中に出力されます。

コマンド・ライン・オプションの完全なリストを得るためには、オプションなしで署名ツールを実行してください。

署名ファイルはUSBメモリーあるいはmicroSDメモリーカードにコピーすることができ、以下の条件を満たす必要があります:

  • それぞれの.csbhは、署名されていないファイルと同じディレクトリーになければなりません。
  • grub.confファイルは/boot/grub/ディレクトリーに位置していなければなりません。
  • その他のファイルは、grub.confファイルに記述されるパスに置かれる限り、どのようなパスにでも置くことができます。

以下のスクリーンショットは、署名ファイルの入ったmicroSDメモリーカードを示してます:

  • 署名ファイルcore-image-minimal-initramfs-clanton.cpio.gz.csbhおよびbzImage.csbhをルート・ディレクトリーにコピーします。
  • grub.cbsh/boot/grub/ディレクトリーにコピーします。

Signing File Example-1

Signing File Example-2

16. Open OCD debuggerの有効化

OpenOCDデバッガーを使用する、完全な使用方法は「Source Level Debug using OpenOCD/GDB/Eclipse on Intel® Quark™ SoC X1000 Application Note」に記載があります。付記Aを参照ください。

付記A. 関連ドキュメント

以下のドキュメントは、このリリースにおけるソフトウェアに関して、より多くの情報を提供します。

ドキュメント名 番号
Intel® Quark™ SoC X1000 Board Support Package (BSP) Build and Software User Guide
(このドキュメント)
329687
Intel® Quark™ SoC X1000 Software Release Notes 330232
Intel® Quark™ SoC X1000 Secure Boot Programmer’s Reference Manual 330234
Intel® Quark™ SoC X1000 Linux* Programmer’s Reference Manual 330235
Intel® Quark™ SoC X1000 UEFI Firmware Writer’s Guide 330236
Source Level Debug using OpenOCD/GDB/Eclipse on Intel® Quark™ SoC X1000
Application Note
https://communities.intel.com/docs/DOC-22203
330015
Intel® Quark™ SoC X1000 Datasheet
https://communities.intel.com/docs/DOC-21828
329676
Intel® Quark™ SoC X1000 Core Developer’s Manual
https://communities.intel.com/docs/DOC-21826
329679
Intel® Quark™ SoC X1000 Core Hardware Reference Manual
https://communities.intel.com/docs/DOC-21825
329678
Intel® Galileo Board User Guide※17
https://communities.intel.com/docs/DOC-22475
330237

改定履歴※18

日付 詳細
2014年5月22日 006 以下のものを含む、ソフトウェア・リリース 1.0.1用の全般的な更新:
セクション 4. EDKIIファームウェアのビルドの更新(TPMの追加)。
セクション 6.1. Yoctoを使用したLinuxカーネルへのカスタム・パッチの適用(オプション)の追加。
セクション 9. プラットフォーム・データ・ファイルの定義の更新(ファイル名platform-data.iniの訂正)。
セクション 14. Capsuleのリカバリーの更新(DediProgの情報を追加)。
トレードマーク・タームの追加:Intel® Quark™ SoC
2014年3月4日 005 以下のものを含む、ソフトウェア・リリース 1.0.0用の全般的な更新:
セクション 13. Capsuleの更新の追加。
セクション 14. Capsuleのリカバリーの追加。
2014年1月20日 004 以下のものを含む、ソフトウェア・リリース 0.9.0用の全般的な更新:
セクション 4. EDKIIファームウェアのビルド」の追加。
セクション 10.2 Linux*ランタイム・システムを使用する書き込む方法」の追加。
セクション 15. 署名ファイル(オプション)」の更新。
「Open OCD debuggerの有効化」の削除。
付則A. 関連ドキュメント」の追加。
2013年11月15日 003 セクション 3. ソフトウェアのダウンロード」にCapsuleApp.efiを追加。
2013年11月07日 002 以下のものを含む、ソフトウェア・リリース 0.8.0用の一般的な更新:
サポートしているボードをハードウェアのリストに追加。
セクション 8:SPI Flashツールのパスをclanton_peak_EDK2からQuark_EDKIIへ変更。
「署名ファイル(オプション)」セクションをドキュメントの後方へ移動。
2013年10月15日 001 ソフトウェア・バージョン 0.7.5用の初版

訳注:以下、Intelによる法的文書のため原書のままとします※19

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm

Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

*Other names and brands may be claimed as the property of others.

Copyright © 2014, Intel Corporation. All rights reserved.


まとめ

前回はRelease 1.0.0ということで、初の正式リリースということから、次は別のプラットフォームへ移っていくのではないかと予想していたのですが、今回は従来の延長線上に新たなプラットフォーム「Intel Galileo Gen2」が追加されました。また、このBSPは一般向け製品である「Intel Galileo」シリーズも対象であるため、セキュリティーなどの対応もしていく必要があるということで、状況に応じて更新されていくということになるようです。

今回は日付的に翌日※20の公開という、素早い対応ができました。今後もこのように対応できるとよいのですが、どうなるかの見通しは不明です。

日本語資料 改定履歴

2014年5月23日 初版

関連記事


  • 有効にしたい場合は原書をご確認ください。
  • インテル株式会社による表現が「Memory」に対して「メモリー」となっていることに倣っています。
  • SDアソシエーションがSDメモリーカード関連の商標を管理する主体であることを考慮に入れ、同団体の表現をそのまま使用しています。
  • インテル株式会社による表現がそうなっているので、それに合わせています。ただし、前述の「microSDメモリーカード」に限り、この原則に従いません。
  • 質問者の技術レベルに応じて必要な回答を用意するのは、非常に高いスキルと多くの時間を必要とするものです。私はこれらのサービスが可能な状態にはありません。
  • クロス・コンパイルのための設定による通常環境に対する影響を「クロス汚染」と表現しています。
  • Form Factor Reference Design board
  • Controller Area Network。参考:CANの概要と富士通CANの特長(PDF)
  • インテル株式会社の方のお話によると、48コア64ギガバイトの環境で約1時間かかるそうです。一般の環境(光ファイバー接続)では2時間(デスクトップパソコン)から16時間(ノートパソコン)ほどかかるようです。
  • スクリプトを実行したセッションの環境を大幅に変更することになるため、常に新しいセッションを開始し、その中で作業をすることにより、他への影響を最小限にすることができるということを説明しています。
  • UEFIのことをBIOSと誤記しているものです。EDKIIはUEFIを構成するもので、BIOSではありません(BIOSが必要な場合には別プロジェクトのSeaBIOSを持ってくるのがセオリーです)。いわゆる自作PC系でよくみかけるのと同じ記述上の誤りをしているわけです。
  • UEFIの意味でBIOSと記述されており、正しくはUEFIです。
  • Intel® GalileoボードなどのSKU4 (Non-Secure) SoC搭載ボードにおいて、正常にrebootコマンドが動作しないことがあります。このような症状が出る場合には、対応方法を記載したFAQを参照ください。
  • Galileo / Kips Bay Fab Dならば基板右上、Kips Bay Fab Cならば基板左下に、それぞれ接続用のピンヘッダーがあります。

    Galileo / Kips bay Fab Dにおけるピンヘッダーの配置を以下に示します(Kips Bay Fab Cでは180度回転しています):

      5:LSPI_MISO_R(DO) 3:LSPI_CS_N(CS_N) 1:VCC
    8:NC 6:LSPI_MOSI(DI) 4:LSPI_SCK(CLK) 2:GND

    ※Galileoの回路図から“さかきけい”が独自に調べた結果のため、間違っていたらすみません。

  • /sketchフォルダーとrootfsが揮発しなくなります(消えなくなります)。
  • UEFIの意味でBIOSと記述されており、正しくはUEFIです。
  • 原書の改定履歴です。
  • 私の意訳では法的な文書の内容を正確に伝えることはできませんので、このような対応となります。ご了承ください。
  • 時差を考慮していません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です