Intel Quark BSPをインテル Galileo 開発ボードで使う方法

1. はじめに

Intel Quark BSPインテル Galileo 開発ボードで使用する方法について説明します。必要に応じて、私の日本語意訳である“Intel Quark SoC X1000 BSP Rel 1.0.0 ビルド&ソフトウェア ユーザーガイド”への関連個所へリンクをしていますので、併せてそちらも参照してください。

この“Intel Quark SoC X1000 BSP Rel 1.0.0 ビルド&ソフトウェア ユーザーガイド”はIntel Quark SoC X1000シリーズを搭載したボード向けに汎用的にかつ網羅的に記述されており、単純に「インテル Galileo 開発ボード向けにビルドしたい」という場合には少々わかりづらくなっている面があります。

そこで、まずは簡単に「インテル Galileo 開発ボード用にビルドを行って動作させてみる」ことに特化した手順を解説することにより、“Intel Quark SoC X1000 BSP Rel 1.0.0 ビルド&ソフトウェア ユーザーガイド”を読む手引きになればと思います。

なお、本メモを記述する際の作業にはWindows 7 Ultimateをインストールしたマシンを使用しています。異なるOSを使用している場合には適宜読み替えてください。

2. 目次

3. 用語について

  • 「Intel Quark SoC X1000シリーズ」を「Quark」と省略します。
  • 「Intel Quark Board Support Package(BSP) Release 1.0.0」を「BSP」と省略します。
  • 「Intel Quark SoC X1000 Board Support Package (BSP) Build and Software User Guide」および私が日本語に意訳した“Intel Quark SoC X1000 BSP Rel 1.0.0 ビルド&ソフトウェア ユーザーガイド”を「BSPガイド」と省略します。
  • 「インテル Galileo 開発ボード」を「Galileo」あるいは「Galileoボード」と省略します。

4. 必要なもの

以下のものが必要です:

  • インテル Galileo 開発ボード※1と同ボード用ACアダプター
  • パソコン(RAM多め、CPU多め、ストレージ速めで100GB以上の空き容量を推奨)※2
  • 高速なInternet接続環境※3
  • 64ビット版のDebian Linux 7.4を動作させる環境(仮想マシン可)※4
  • 32GBまでのmicroSDメモリーカード※5
  • microSDメモリーカードに書き込むことができるアダプター※6
  • インテル Galileo 開発ボードの3.5ミリメートル・ミニジャックに接続するためのシリアル変換ケーブルあるいは専用USB変換ケーブル※7
  • シリアルでのアクセスに対応したTera Termのような端末エミュレーター
  • 拡張子.7zを展開できる、7-Zipのようなファイル・アーカイバー
  • WinSCPなどのSCPでファイルを転送するソフトウェア

ファームウェアの書き込みに失敗した場合のリカバリー作業には半田ごて※8と32GBまでの容量のUSBメモリーが必要ですが、今回の本メモはその方法については説明しませんので、失敗しない限り不要です。

書き込みに失敗した場合にはSpace: Intel Galileo Development Board Documents | Intel Communitiesからダウンロードできる“Intel® Galileo Board User Guide(英文)”に「Force Recovery」という項目があるので、そちらを参照ください。※9[2014年5月1日追記]こちらに日本語での説明を作成しました。

5. ビルド用の環境整備

5-1. Debian Linux 7.4のインストール時の設定について

64ビット版(amd64版)を日本語キーボード、日本語、日本国の設定にした以外、全てデフォルトの設定でインストールした環境を前提に説明を行いますので、インストールをする際にはデフォルトの選択にしてください。この状態から足りないソフトウェアについては別途インストールします。

他の設定でインストールを行った際には、必要に応じてエラーメッセージとBSPガイドの「依存関係」項を参照して補ってください。

5-2. 必要なソフトウェアのインストール

rootユーザーでログインするか切り替えてから以下のコマンドを実行します※10

apt-get install build-essential gcc-multilib vim-common uuid-dev iasl git subversion diffstat gawk chrpath libssl-dev

あとはメッセージが表示されるので、それにしたがってインストールを許可します。

5-3. Intel Quark Board Support Package(BSP) Release 1.0.0

Intel Quark Board Support Package(BSP) Release 1.0.0をIntelのサイトからダウンロードします。ダウンロードが終わったら7-Zipなどを使用して展開します。

今回はこのBSPに含まれるファイルのうち、以下のファイルを使用します:

  • Quark_EDKII_v1.0.0.tar.gz
  • meta-clanton_v1.0.0.tar.gz
  • spi-flash-tools_v1.0.0.tar.gz
  • sysimage_v1.0.0.tar.gz

Debian Linux 7.4環境に適当なディレクトリーを作成しコピーをしておいてください。私はsakakiというユーザーを作り、そのホームディレクトリーである/home/sakaki/の下にgalileo/1.0.0/というディレクトリーを作成し、その中※11で作業を行いました。

関連情報3. ソフトウェアのダウンロード

6. インテル Galileo 開発ボード内蔵用のビルドから起動まで

ここで紹介する作業はsshなどでリモート接続を行っている場合でも、Debian Linux 7.4に直接ログインしている場合でも同様に行うことができます。作業を行いやすい方を選択してください(私はTera Termでリモート接続をして作業を行いました)。

なお、各作業の開始時はBSPに含まれるパッケージ・ファイルを置いた場所をカレント・ディレクトリーとして想定しています(例えば私の場合には/home/sakaki/galileo/1.0.0/です)。

6-1. 注意事項

各ソフトウェアのビルドを行う前に、必ず新たなターミナル・セッションを開き直さなければなりません。また、ビルド作業が終わったらそのターミナル・セッションは閉じなければなりません。そのまま作業を行うと予期しない状態を引き起こす可能性があります。

関連情報2. はじめる前に

6-2. UEFIのビルド

まず新しいターミナル・セッションを開始し、Intel Quark SoC X1000シリーズ用のEDK IIパッケージを展開します:

tar -xvf Quark_EDKII_v1.0.0.tar.gz

このパッケージの中にはアップストリームのコードを取得するための情報とスクリプトと、それに対してQuarkに必要なソースコードの追加・変更を行ってビルドするためのファイルが含まれています。

続いてカレント・ディレクトリーをパッケージを展開したディレクトリーに切り替えます:

cd Quark_EDKII_v1.0.0

アップストリームのコードを取得する準備を行います:

./svn_setup.py

13行ほどメッセージが表示されてプロンプトに戻ります。

続いてアップストリームのコードを取得します:

svn update

アップストリームのコードの取得が終わるまでしばらくかかります。これにはInternetの接続速度が大きくかかわってきます。

コードの取得が終わってエラーが表示されることなくプロンプトに戻ったらビルドを実行します:

./buildallconfigs.sh GCC47 QuarkPlatform

これによってGalileoボード用のUEFIが生成されます。また、Galileoボード上のSPI Flashにファームウェアを書き込むためのUEFIアプリケーションであるCapsuleApp.efiも作成されます。

関連情報4. EDKIIファームウェアのビルド

6-3. 内蔵用ミニLinuxディストリビューションのビルド

Yocto Project 1.4(Poky 9.0)ベースのGalileoボード上のSPI Flashへ書き込む用の小さなLinuxディストリビューションをビルドします。

まず新しいターミナル・セッションを開始し、基本となるディストリビューションの元となるパッケージを展開します:

tar -zxvf meta-clanton_v1.0.0.tar.gz

このパッケージは標準Linuxディストリビューションを作る際に使用するものと同一のため、ここで小さなLinuxディストリビューション用であることがわかりやすいようにディレクトリー名を変更します※12

mv meta-clanton_v1.0.0 meta-clanton_v1.0.0-mini

カレント・ディレクトリーをパッケージを展開したディレクトリーに切り替えます:

cd meta-clanton_v1.0.0-mini

続いてYoctoのビルドツールなどの取得を行います:

./setup.sh

これでディストリビューションのビルドを開始するために必要なファイルが揃いました。ビルドを開始するために環境を専用のものに切り替えます:

source poky/oe-init-build-env yocto_build

続いてディストリビューションのビルドを開始します:

bitbake image-spi-galileo

このビルド作業はInternet接続とパソコンの処理速度によって異なりますが、1時間から数時間程度かかります。筆者の環境では1時間ほどかかりました。

このビルドによって小さなLinuxディストリビューションのほかに、この小さなLinuxディストリビューションを起動させるためのGRUBも同時に作成されます。

関連情報16. ファイル・システムの作成およびYoctoで使用するカーネルのビルド
関連情報2SPI Flash用の小さなLinuxをビルドする

6-3-1. linux-yocto-clanton-3.8-r0がdo_fetchのまま固まった場合の対処方法

ビルド中にlinux-yocto-clanton-3.8-r0do_fetchのまま固まってしまう現象がかなり高い頻度で発生します(あるいは接続が切断されてエラーメッセージが表示されることもあります)。しばらく待って状況に変化がないようであれば、Ctrl + Cキーを2度押してプロセスを停止し、その後対処を行います。その際の対処方法は2通りあります:

その1 : クリアしてやり直す

以下のコマンドを入力してlinux-yocto-clanton-3.8-r0関連のファイルをクリアします:

bitbake -c cleanall linux-yocto-clanton
bitbake -c cleanall virtual/kernel

続いてビルドのためのbitbakeコマンドをもう1度実行することでlinux-yocto-clanton-3.8-r0do_fetchからビルドを再開することができます。

その2 : 別途取得してマージする

以下のコマンドを入力してlinux-yocto-clanton-3.8-r0関連のファイルをクリアします:

bitbake -c cleanall linux-yocto-clanton
bitbake -c cleanall virtual/kernel

続いて以下のようにコマンドを実行して個別に関連ファイルを取得してディストリビューションにファイルをマージします:

YB=`pwd`
cd /tmp
git clone --bare --mirror git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
mv linux-stable.git $YB/downloads/git2/git.kernel.org.pub.scm.linux.kernel.git.stable.linux-stable.git
cd $YB

続いてビルドのためのbitbakeコマンドをもう1度実行することでlinux-yocto-clanton-3.8-r0do_fetchが一瞬で終了してその続きからビルドを再開することができます。

参考情報yocto build hangs during kernel fetch (1.0.0)Intel Communities

6-4. 書き込み用イメージの作成

ここまでにビルドしたUEFIと小さなLinuxディストリビューションを元にGalileoボードのSPI FlashにUEFIアプリケーションのCapsuleApp.efiで書き込む際に使用するシステム・イメージを作成します。

まず新しいターミナル・セッションを開始し、システム・イメージを作成するための設定を持ったパッケージを展開します:

tar -xvf sysimage_v1.0.0.tar.gz

続いてシステム・イメージを作成するためのツールのパッケージを展開します:

tar -xvf spi-flash-tools_v1.0.0.tar.gz

ここで展開した2つのパッケージと、ここまでに展開した他のパッケージのディレクトリーおよび他のパッケージをビルドした際に作成されたディレクトリーが以下のようになっているはずです:

drwxr-xr-x 21 sakaki sakaki    4096  4月 20 04:59 Quark_EDKII_v1.0.0
drwxr-xr-x  6 sakaki sakaki    4096  4月 20 04:54 Quark_EDKII_v1.0.0-svn_externals.repo
drwxr-xr-x  9 sakaki sakaki    4096  4月 20 00:14 meta-clanton_v1.0.0-mini
drwxr-xr-x  6 sakaki sakaki    4096  2月 28 21:18 spi-flash-tools_v1.0.0
drwxr-xr-x  9 sakaki sakaki    4096  2月 28 21:18 sysimage_v1.0.0

もしも同じディレクトリーの中に複数の同種のディレクトリーが存在するとエラーが発生するので、そのような状態にある場合には1種1つのディレクトリーのみが存在する状態に整理をしてください。※13

続いてシステム・イメージを作成するツールが参照するシンボリック・リンクを作成します:

./sysimage_v1.0.0/create_symlinks.sh

次に作成するシステム・イメージのレイアウトを指定するファイルのあるディレクトリにカレント・ディレクトリを切り替えます※14

cd sysimage/sysimage.CP-8M-release/

このディレクトリーにあるレイアウトを指定するファイルの内容はGalileoボード以外のQuark搭載ボード用になっているので、これをGalileoボード用に変更する必要があります。変更箇所は以下の通りです:

[Ramdisk]
address=0xffa60000
item_file=../../meta-clanton/yocto_build/tmp/deploy/images/image-spi-clanton.cpio.lzma
sign=yes
type=mfh.ramdisk_signed
svn_index=7

この下線強調部分image-spi-clanton.cpio.lzmaimage-spi-galileo-clanton.cpio.lzmaへと変更します。※15

変更が終わったら以下のコマンドを実行してシステム・イメージを作成します:

../../spi-flash-tools/Makefile

これによってUEFIアプリケーションでGalileoボード上のSPI Flashに書き込むためのシステム・イメージが作成されました。※16

関連情報18. ボード用のFlashイメージの作成
関連情報28.1. SPI Flashツールを使用する

6-5. microSDメモリーカードへの書き込み

これまでの作業で作成した以下の2つのファイルをmicroSDメモリーカードのルート・ディレクトリーへ書き込みます:

./Quark_EDKII_v1.0.0/Build/QuarkPlatform/PLAIN/RELEASE_GCC47/FV/Applications/CapsuleApp.efi
./sysimage/sysimage.CP-8M-release/Flash-missingPDAT.cap

6-6. インテル Galileo 開発ボードへの書き込み

  1. Galileoボードの電源が切れていることを確認します。
  2. microSDメモリーカードをGalileoボードに挿します。
  3. パソコンとGalileoボードをシリアル・ケーブルで接続します。
  4. パソコン側で端末エミュレーターを起動し、該当するシリアル・ポートを選択、速度を115200bps、ビット数を8bit、パリティをnone、ストップ・ビットを1bit、フロー制御をnoneに設定します。

    Tera Termのシリアル設定ダイアログ

  5. Galileoボードを通電して起動します。
  6. UEFIからGRUBへ制御が移った直後に起動するイメージの選択をする表示がされている最中(画像上)にCキーを押してコマンド・ラインに入ります(画像下)。

    Galileoボードの標準GRUB表示

    GalileoボードのGRUBコマンド・プロンプト

  7. quit」と入力してGRUBを終了し、UEFIへ制御を戻します。

    GalileoボードのGRUBコマンド・プロンプトの終了

  8. メニューが表示されるのでUEFI Internal Shellを選択します。

    GalileoボードのUEFIメニュー

  9. 自動起動のカウントダウンが始まるのでEnterキーを押します。

    GalileoボードのUEFIカウント・ダウン

  10. UEFIシェルが起動するのでmicroSDメモリーカードを選択するために「fs0:」と入力します。
  11. CapsuleApp.efi Flash-missingPDAT.cap」と入力して、GalileoボードのSPI Flashを更新するUEFIアプリケーションを実行します。

    Galileoボードへの新しいファームウェア書き込み

    これによってSPI Flashの更新が開始されるため、以後再起動するまで待ちます。間違っても電源を切らないようにしてください。

  12. microSDメモリーカードに起動用のイメージが存在しなければSPI Flashに書き込んだ新しい小さなLinuxディストリビューションが起動することが確認できます。

    新しいファームウェアでの再起動後の表示

なお、この小さなLinuxディストリビューションではEthernetが初期状態で認識されませんが、ボードが壊れたなどの異常ではありません。以下のコマンドを実行することで使用できるようになります:

ifup eth0

以下に実行時のログを例示します:

root@clanton:~# ifup eth0
[   44.295497] eth0: device MAC address **:**:**:**:**:**
udhcpc (v1.20.2) started
Sending discover...
[   46.300201] libphy: stmmac-1:01 - Link is Up - 100/Full
Sending discover...
Sending select for 192.168.0.207...
Lease of 192.168.0.207 obtained, lease time 172800
/etc/udhcpc.d/50default: Adding DNS 192.168.0.1

これは筆者の環境によるものなので、実行環境によって若干異なります。

7. インテル Galileo 開発ボードの外部メモリー用のビルドから起動まで

続いてGalileoボード上のSPI Flash用の小さなLinuxディストリビューションではなく、microSDメモリーカードに書き込む用の標準Linuxディストリビューションをビルドして起動してみます。

なお、このBSPによる標準Linuxディストリビューションは、このBSPで作成したシステム・イメージを書き込み済みのGalileoボードでしか正常に動作しないのでご注意ください(ファームウェアを前述の手順で更新していなければなりません)。

7-1. 外部メモリー用のLinuxのビルド

ここで紹介する作業はsshなどでリモート接続を行っている場合でも、Debian Linux 7.4に直接ログインしている場合でも同様に行うことができます。作業を行いやすい方を選択してください(私はTera Termでリモート接続をして作業を行いました)。

なお、各作業の開始時はBSPに含まれるパッケージ・ファイルを置いた場所をカレント・ディレクトリーとして想定しています(例えば私の場合には/home/sakaki/galileo/1.0.0/です)。

7-2. 注意事項

各ソフトウェアのビルドを行う前に、必ず新たなターミナル・セッションを開き直さなければなりません。また、ビルド作業が終わったらそのターミナル・セッションは閉じなければなりません。そのまま作業を行うと予期しない状態を引き起こす可能性があります。

関連情報2. はじめる前に

7-3. microSDメモリーカードへ書き込む用の標準Linuxディストリビューションのビルド

Yocto Project 1.4(Poky 9.0)ベースのGalileoボード用のmicroSDメモリーカードへ書き込んで起動する標準Linuxディストリビューションをビルドします。

まず新しいターミナル・セッションを開始し、基本となるディストリビューションの元となるパッケージを展開します:

tar -zxvf meta-clanton_v1.0.0.tar.gz

このパッケージは小さなLinuxディストリビューションを作る際に使用するものと同一のため、ここで標準Linuxディストリビューションようであることがわかりやすいようにディレクトリー名を変更します※17

mv meta-clanton_v1.0.0 meta-clanton_v1.0.0-full

カレント・ディレクトリーをパッケージを展開したディレクトリーに切り替えます:

cd meta-clanton_v1.0.0-full

続いてYoctoのビルドツールなどの取得を行います:

./setup.sh

これでディストリビューションのビルドを開始するために必要なファイルが揃いました。ビルドを開始するために環境を専用のものに切り替えます:

source poky/oe-init-build-env yocto_build

続いてディストリビューションのビルドを開始します:

bitbake image-full-galileo

このビルド作業はInternet接続とパソコンの処理速度によって異なりますが、2時間から数時間程度かかります。筆者の環境では2時間ほどかかりました。

このビルドによって標準Linuxディストリビューションのほかに、この標準Linuxディストリビューションを起動させるためのGRUB定義も同時に作成されます。

関連情報16. ファイル・システムの作成およびYoctoで使用するカーネルのビルド
関連情報2microSDメモリーカードまたはUSBメモリーのためのフル機能のLinuxをビルドする

7-3-1. linux-yocto-clanton-3.8-r0がdo_fetchのまま固まった場合の対処方法

ビルド中にlinux-yocto-clanton-3.8-r0do_fetchのまま固まってしまう現象がかなり高い頻度で発生します(あるいは接続が切断されてエラーメッセージが表示されることもあります)。しばらく待って状況に変化がないようであれば、Ctrl + Cキーを2度押してプロセスを停止し、その後対処を行います。その際の対処方法は2通りあります:

その1 : クリアしてやり直す

以下のコマンドを入力してlinux-yocto-clanton-3.8-r0関連のファイルをクリアします:

bitbake -c cleanall linux-yocto-clanton
bitbake -c cleanall virtual/kernel

続いてビルドのためのbitbakeコマンドをもう1度実行することでlinux-yocto-clanton-3.8-r0do_fetchからビルドを再開することができます。

その2 : 別途取得してマージする

以下のコマンドを入力してlinux-yocto-clanton-3.8-r0関連のファイルをクリアします:

bitbake -c cleanall linux-yocto-clanton
bitbake -c cleanall virtual/kernel

続いて以下のようにコマンドを実行して個別に関連ファイルを取得してディストリビューションにファイルをマージします:

YB=`pwd`
cd /tmp
git clone --bare --mirror git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
mv linux-stable.git $YB/downloads/git2/git.kernel.org.pub.scm.linux.kernel.git.stable.linux-stable.git
cd $YB

続いてビルドのためのbitbakeコマンドをもう1度実行することでlinux-yocto-clanton-3.8-r0do_fetchが一瞬で終了してその続きからビルドを再開することができます。

参考情報yocto build hangs during kernel fetch (1.0.0)Intel Communities

7-4. microSDメモリーカードへの書き込み

これまでの作業で./meta-clanton_v1.0.0-full/yocto_build/tmp/deploy/images/に作成された以下のファイルをmicroSDメモリーカードのルート・ディレクトリーへ書き込みます:

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

一部はシンボリック・リンクですが、microSDメモリーカードへ書き込む際には実体ファイルになるようにします。※18なお、一部のInternet上の情報ではgrub.confの書き換えが必要だとする情報がありますが、grub.conf内の「$EARLY_CON_ADDR_REPLACE」はGRUBが適切な値に読み替えるため変更は不要で、手を加える必要はありません。※19

7-5. microSDメモリーカードをGalileoボードに挿して起動

Galileoボードの電源が切れていることを確認し、その状態でmicroSDメモリーカードをGalileoボードに差し込みます。そしてGalileoボードを通電して起動します。しばらくするとUEFIからGRUBへ制御が移り、microSDメモリーカード上のGRUB設定を読み取ってメニューを表示し、1秒経過後にmicroSDメモリーカード上の標準Linuxディストリビューションが起動します。

microSDメモリーカードへ書き込んだ標準Linuxディストリビューションの初回起動時には少々時間がかかります。これは初回起動時に暗号化キーを作成するSSHコンポーネントによるもので、異常ではありません。次回以降は普通の速度で起動します。

正常に起動しない場合は、Galileoボードに前述“インテル Galileo 開発ボード内蔵用のビルドから起動まで”の手順のとおりに作成したシステム・イメージをGalileoボードに書き込み済みであることを確認してみましょう。このビルドによるシステム・イメージにファームウェアを置き換えていないと正常にブートできません。

8. Release 0.7.5のファームウェアに戻したい場合

何らかの理由でBSPで更新する前の通常のファームウェアに戻したいこともあるかと思います。その場合には以下の手順で戻すことができます:

  1. インテル® Galileo ソフトウェア・パッケージ”にある“LITTLE_LINUX_IMAGE_FirmwareUpdate_Intel_Galileo_v0.7.5.7z”をダウンロードします。
  2. ダウンロードしたファイルを7-Zipなどを使用して展開します。
  3. 展開した中にある2つのファイル「CapsuleApp.efi」と「sysimage_Intel_Galileo_v0.7.5.cap」をmicroSDメモリーカードのルート・ディレクトリーにコピーします。
  4. Galileoボードの電源が切れていることを確認します。
  5. microSDメモリーカードをGalileoボードに挿します。
  6. パソコンとGalileoボードをシリアル・ケーブルで接続します。
  7. パソコン側で端末エミュレーターを起動し、該当するシリアル・ポートを選択、速度を115200bps、ビット数を8bit、パリティをnone、ストップ・ビットを1bit、フロー制御をnoneに設定します。

    Tera Termのシリアル設定ダイアログ

  8. Galileoボードを通電して起動します。
  9. UEFIからGRUBへ制御が移った直後に起動するイメージの選択をする表示(画面上)がされている最中にCキーを押してコマンド・ラインに入ります(画面下)。

    BSPによるGalileoボードのGRUB表示

    Galileoボードの新しいGRUBのコマンド・プロンプト

  10. quit」と入力してGRUBを終了し、UEFIへ制御を戻します。

    Galileoボードの新しいGRUBのコマンド・プロンプトの終了

  11. メニューが表示されるのでUEFI Internal Shellを選択します。

    GalileoボードのUEFIメニュー

  12. 自動起動のカウントダウンが始まるのでEnterキーを押します。

    GalileoボードのUEFIカウント・ダウン

  13. UEFIシェルが起動するのでmicroSDメモリーカードを選択するために「fs0:」と入力します。
  14. CapsuleApp.efi sysimage_Intel_Galileo_v0.7.5.cap」と入力して、GalileoボードのSPI Flashを更新するUEFIアプリケーションを実行します。

    新しいファームウェアを古いファームウェアに戻す

    これによってSPI Flashの更新が開始されるため、以後再起動するまで待ちます。間違っても電源を切らないようにしてください。

  15. microSDメモリーカードに起動用のイメージが存在しなければSPI Flashに書き込んだ元の小さなLinuxディストリビューションが起動することが確認できます。

    標準ファームウェアでの再起動後の表示

9. まとめ

もう少し早くまとめて公開する予定だったのですが、いろいろと事情があって遅くなってしまいました。このメモに続いて、もう1つ書きかけのGalileoボードに関するメモがあるので、早めに完成させて公開したいと思います。

10. 追伸

私が本メモをのろのろと書いている間に、Tokoroさんが先にBSPを使用してビルドする方法について簡単にまとめたものを公開しています→IntelのGalileoのBSP1.0.0系イメージを使うまで - Galileo – Tokoro’s Tech-Note

こちらにはバイナリーもおいてあるので、特に手早くBSPを試してみたい方にはTokoroさんのページがお勧めです。


  • 購入後にIntelが配布しているIntel Galileo Arduino Software 1.5.3 on Windows/MacOSX/Linux32bit/Linux64bit) v0.7.5あるいはLittle Linux Image Firmware Update Intel Galileo v0.7.5のいずれかを使用してファームウェアを更新したものが必要です。最初の更新を行っていない場合には説明通りの動作をしないことがあります。例えば、microSDメモリーカードからのブートを行うことができません。Intel Galileo Arduino Softwareを使用してのファームウェア更新については“「Intel Galileo Development Board」を起動して動作確認”の“Intel Galileo Arduino SWを使用してファームウェアを更新する”で紹介していますので、必要に応じて参照ください。
  • Windows 7 Ultimateを稼働させた、CPU Intel Core i7-930、DDR3 DRAM 24GBのマシンを使用しました。
  • Bフレッツの100Mbps回線を使用しました。
  • Windows 7 Ultimate上で稼働させたOracle Virtual Box 4.3.10 r93012で4コアのCPU、8GBのメモリー、100GBのストレージを割り当て、Debian Linux 7.4をインストールしました。
  • 32GBのmicroSDメモリーカードを使用しました。
  • SDカード・アダプターにmicroSDメモリーカードをSDカードに変換するアダプターを介して接続して使用しました。
  • USB→RS-232変換アダプターに自作のD-Sub 9ピン⇔3.5ミリメートル・ミニプラグ変換ケーブルを使用しました(作成方法は“「Intel Galileo Development Board」を使用する準備”の“RS-232レベルのD-Sub 9ピン ⇔ 3.5ミリメートル・ミニ・プラグ変換ケーブルの作成”で解説しています)。日本で市販されている製品にはスイッチサイエンスUSB-コンソールアダプタ for Intel Galileoというものがあります。
  • インテル Galileo 開発ボード上のチップ抵抗へのジャンパーの接続と取り外しが必要となるため、精密機器用半田ごてが必要となるでしょう。うまくすればクリップや手でもつけられるかもしれません。
  • リカバリーに必要なファイルはSPI Flash書き込み用のイメージを作成する際に、同時に作成されます。
  • 今後も頻繁にこの環境で作業をするのであればsudoの設定をすることをお勧めします。sudoの設定をすると、root権限が必要なコマンドの頭に「sudo」と追加して必要に応じてパスワードを入力することでroot権限でコマンドを実行できるようになります。
  • /home/sakaki/galileo/1.0.0/
  • 小さなLinuxディストリビューション用のディレクトリーと大きなディストリビューション用のディレクトリーは別のディレクトリーにしなければなりません。同一のディレクトリーで作業することはできません。なお、小さなLinuxディストリビューションのディレクトリーは必ずmeta-clanton_で開始する名前でなければなりません。
  • 例えば複数のmeta-clanton_で開始する名前のディレクトリーがある状態がこれにあたります。種別はディレクトリー名の先頭部分の一致で検索するので、対象としないディレクトリー名の先頭部分の名前を変更することで別のディレクトリー扱いにすることができます。
  • Galileoボードは非セキュアのQuarkを搭載しており、デバッグ用のビルドを使用するわけではないのでリリース用の非セキュアのレイアウトを選択します。
  • 単なるテキスト・ファイルなので各人が変更しやすい方法で変更してください。
  • 同時にリカバリー作業で使用するFVMAIN.fvファイルも作成されます。
  • 小さなLinuxディストリビューション用のディレクトリーと標準Linuxディストリビューション用のディレクトリーは別のディレクトリーにしなければなりません。同一のディレクトリーで作業することはできません。
  • WindowsでリモートからWinSCPで転送すると自動的に実体ファイルとなるので、この場合には特に考慮を必要としません。
  • もちろん、他の目的を持って編集することはなんら問題ありません。
このエントリーをはてなブックマークに追加