【Galileo】インストール 初期設定

Galileo に関してはものすごく情報が少ない。

先ず、カラ割り直後にLANケーブルを入れて、電源をつなぐ。DHCPでIPはふられるし、PING も通るが・・・
SSH で接続できない。どうやら最初にファームウェアのアップデートをしないとダメらしい。ここでかなりアセった。

ファームウェアのアップデート

  1. ダウンロードセンター から、今回はウィンドウズで使うので、Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v1.0.0.zip をダウンロード。
  2. そのまま解凍すると、解凍ソフトによっては長いファイル名が展開できないので、Linux マシンに一旦アップして、そちらで展開した後、持ってきた方が間違いない。
  3. 電源を入れた後に microUSB ケーブルをつなぐ。つなぐのは向かって右側(USB CLIENT)。(USBをつないだまま電源を入れると破損することがあるらしい。)
  4. 単につなげただけでは不明なデバイス(Gadget serial)になるので、arduino-1.5.3hardwarearduinox86toolslinux-cdc-acm.inf を使ってドライバインストールすると Galileo(COMx) となる。 x は数字。 x を覚えて置く。
  5. arduino-1.5.3arduino.exe を起動する。
  6. ヘルプから「Firmware Update」を選択。アップデート中は電源を抜いたりしないこと。

ファームウェアのアップロード完了後、再起動すると ssh でログイン可能になる。初期ユーザ名は root で パスワードなし。

microSD で Linux

GalileoのFLASH ROMにはLinuxがインストールされていて、電源を入れるとこれが起動するが、電源を入れなおすとスケッチが消えるとか何かと不便なので、microSDにLinuxを入れて、そちらを使うようにする。

  1. ダウンロードセンターから LINUX_IMAGE_FOR_SD_Intel_Galileo_v1.0.0.7z をダウンロード。
  2. microSD を FAT32 でフォーマット。
  3. ダウンロードしたファイルを解凍。
  4. microSD にコピー。
  5. Galileo に挿しておけば、そちらから起動するようになる。

Raspberry pi や Beaglebone Black はイメージを焼くのに対して、FAT32 でフォーマットしたSDに、そのままコピーするのが違うね。

パッケージ管理 opkg

yocto linux のパッケージ管理は opkg。 でも Intel 配布のイメージだと opkg が使えない。
opkg が使いたい場合は IntelのGalileoでパッケージマネージャopkgを使う ら辺から落としたイメージを使う。

Webサーバ

opkg が使えるミニマム構成で /etc/init.d を見ると lighttpd というのがあったので、lighttpd start とやるとWebアクセスができた。
chkconfig はデフォルトで入っていないので、opkg install chkconfig でインストールしたが、chkconfig –add lighttpd を実行するとエラーが出る。
[code lang=”bash”]
service lighttpd does not support chkconfig
[/code]
/etc/init.d/の起動・停止ファイル lighttpd の #!/bin/sh へ下記のようにコメントを追加する。
[code lang=”bash”]
#!/bin/sh
# chkconfig: 345 98 20
[/code]
再度 chkconfig –add lighttpd を実行。今度は上手く行った。ちゃんと chkconfig lighttpd on で自動起動にしておく。

pythonの足りないライブラリを入れる。

  • Intel 標準のイメージは、Python のライブラリはフルフル入っているけど、opkg のアップデートができない。
  • opkg が使えるミニマムイメージは opkg のアップデートはできるが Python のライブラリが足りない。

中に入っているのは Python 2.7.3。なので、足りない標準ライブラリを無理やり入れる。
[code lang=”bash”]
wget –no-check-certificate https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgztar zxvf Python-2.7.3.tgz
[/code]
先ず Python2.7.3 のフルセットをダウンロードして展開。 Lib 以下を /usr/lib/python2.7/ にコピーすればOK。

Timezoneの設定

/etc/localtime がシンボリックリンクになっている。
Asia/Tokyo にしたいときは /usr/share/zoneinfo/Asia/Tokyo にシンボリックリンク先を変更する。
[code lang=”bash”]
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[/code]

SFTP がつながらない。

標準の設定だと ssh はつながるけど sftp が”Connection closed by server with exitcode 127” のエラーでつながらなかったので、/etc/ssh/sshd_config の以下の設定を変えて sshd をリスタートする。
[code lang=”bash”]#Subsystem sftp /usr/lib/openssh/sftp-serverSubsystem sftp internal-sftp[/code]

lighttpd から python を使えるようにする。

How to support cgi on lighttpd 辺りを参考にする。
添付されている mod_cgi.so.zip をダウンロード・展開して、/usr/lib にコピーする。
/etc/lighttpd.conf を開いて以下を修正。参考にしたサイトとはちょっと違う。なぜなら うっとこ の Galileo には php も perl も ruby も入っていないから。
[code lang=”python”]
# files to check for if …/ is requested
index-file.names = ( “index.php”, “index.html”,
“index.htm”, “default.htm”,
“index.cgi”, “index.py” ) # index.cgi と index.py を追加する。
server.modules = (
:
“mod_cgi”, # mod_cgi をアンコメントする。
:
cgi.assign = ( “.py” => “/usr/bin/python”, # .py と .cgi を追加
“.cgi” => “/usr/bin/python” )
[/code]
/etc/init.d/lighttpd restart で Python スクリプトが動くようになる。

容量を増やす

ガリレオは、ファイルシステムイメージ(image-full-clanton.ext3)を使用していて、このサイズを変更することで容量を増やすことができるが、インテル提供のLinuxイメージはサイズ変更のユーティリティが含まれていない。

別のLinuxコンピュータにアクセスできる場合、ファイルシステムのサイズを変更するには、以下の手順で行える。(自分は Raspberry Pi + Debian を使用した。)
microSD の USBアダプタを使って、ポートに指すと
[code lang=”bash”]ls /dev/sd*[/code]
で、/dev/sda と /dev/sda1 が見える。 sda1 だろうとあたりをつけて
[code lang=”bash”]mkdir /mnt/usbmount -t vfat /dev/sda1 /mnt/usb[/code]
ls /mnt/usb でファイルが見えれば OK。

1. 最初のファイルシステムのチェック(fsck)を実行する。
[code lang=”bash”]fsck.ext3 -f /mnt/usb/image-full-clanton.ext3[/code]
2. ファイルシステムのサイズを変更するため resize2fs を実行する。第2引数(この例では409600)はキロバイト単位で新しいファイルシステムのサイズを指定する。
[code lang=”bash”]resize2fs /mnt/usb/image-full-clanton.ext3 4194303[/code]
再起動後 df で見ると 76% 使用していたのが、14% 使用になった。
参考:https://communities.intel.com/thread/46019


コメントを残す

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