Intel Edison のファームアップデート


購入後にファームアップデートをしてからだいぶ経ったので、最新はどんなもんかとファームアップデートしてみました。

ちなみに現在のバージョン

```
root@edison:~# cat /etc/version
edison-weekly_build_68_2014_09_13-49-07
```

# ファームのアップデート
まずは、[Supports & Downloads](http://www.intel.com/support/edison/sb/CS-035180.htm)から `Yocto complete image` をダウンロードします。

EdisonとUSB（J3とJ16）でMacに接続します。
Macにマウントされるので、古いファイルをターミナルからコマンドを叩いて削除します。

```
rm -rf /Volumes/EDISON/*
rm -rf /Volumes/EDISON/\.*
```

### パーティションを変更
ディスクユーティリティーからマウントしたEdisonのパーティションを変更します
![スクリーンショット 2015-03-07 17.38.57.png](https://qiita-image-store.s3.amazonaws.com/0/36184/ee5b7fc1-8cb3-a7d5-b62a-da4fc1165698.png "スクリーンショット 2015-03-07 17.38.57.png")
（１パーティションを選ぶ）

### ダウンロードして解凍したファイルをコピー
```
cp -r /Users/hoge/Downloads/edison-image-ww05-15/* /Volumes/EDISON/
```

Edisonにシリアルポート経由でつなぐ

```
screen /dev/cu.usbserial-A903C2MH 115200 -L
```

Edisonの再起動

```
reboot ota
```

これで、先ほどコピーしたファイルでファームのアップデートがされます。
再起動が終わってみてバージョンを確認してみると

```
root@edison:~# cat /etc/version
weekly-120
root@edison:~# uname -a
Linux edison 3.10.17-poky-edison+ #1 SMP PREEMPT Fri Jan 30 14:16:35 CET 2015 i686 GNU/Linux
```
バージョン表記がずいぶんさっぱりと・・。

初期化してしまったので、パスワードやらWi-Fiの設定が消えてしまっているので、設定をします。
前回は、configure_edisonと実行すると、Q＆A形式で設定できたけど、その辺の仕様は変わったらしい。
引数で何を設定するか指定しないとダメなようだ。

```
root@edison:~# configure_edison
usage: configure_edison [-h] [--server]
                        [[--setup | --name | --password | --wifi]
                        [--showWiFiIP | --version | --latest-version | --upgrade | --disableOneTimeSetup | --enableOneTimeSetup | --flash <version> [<release name> ...]
                        | --flashFile <image-file> | --showNames]

optional arguments:
  -h, --help            show this help message and exit
  --server              Starts the server (testing only)
  --setup               Goes through changing the device name, password, and
                        wifi options
  --name                Changes the device name
  --password            Changes the device password
  --wifi                Changes the wifi options
  --showWiFiIP          IP address associated with the wireless interface
  --version             Gets the current firmware version
  --latest-version      Gets the latest firmware version
  --upgrade             Downloads the latest firmware
  --disableOneTimeSetup
                        Disable one-time setup and WiFi access point
  --enableOneTimeSetup  Enable one-time setup and WiFi access point
  --flash <version> [<release name> ...]
                        Downloads and flashes an image
  --flashFile <image-file>
                        Flashes the given image (.zip).
  --showNames           Show device name and SSID
```

 --setupオプションを指定すると、ウィザード形式で登録出来ました。

```
root@edison:~# configure_edison --setup

Configure Edison: Device Password

Enter a new password (leave empty to abort)
This will be used to connect to the access point and login to the device.
Password:       *********
Please enter the password again:        *********
The device password has been changed.

First-time root password setup complete. Enabling SSH on WiFi interface.

Configure Edison: Device Name

Give this Edison a unique name.
This will be used for the access point SSID and mDNS address.
Make it at least five characters long (leave empty to skip): hoge_edison
Is hoge_edison correct? [Y or N]: y

Do you want to set up wifi? [Y or N]: y

Configure Edison: WiFi Connection

Scanning: 1 seconds left

0 :     Rescan for networks
1 :     Exit WiFi Setup
2 :     Manually input a hidden SSID
3 :     hoge
4 :     fuga
5 :     hogehoge
6 :     fugafuga
7 :     hogefuga
8 :     fugahoge


Enter 0 to rescan for networks.
Enter 1 to exit.
Enter 2 to input a hidden network SSID.
Enter a number between 3 to 9 to choose one of the listed network SSIDs: 
Is hogehoge correct? [Y or N]: Y
Password must be between 8 and 63 characters.
What is the network password?: 
Initiating connection to hogehoge. Please wait...
Attempting to enable network access, please check 'wpa_cli status' after a minute to confirm.
Done. Please connect your laptop or PC to the same network as this device and go to http://192.168.0.2 or http://hoge_edison.local in your browser.
```

これで無事ネットに繋がる

```
root@hoge_edison:~# curl -I http://yahoo.co.jp

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 07 Mar 2015 09:01:13 GMT
Content-Type: text/html
Connection: close
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p_jp.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
Location: http://www.yahoo.co.jp/
Cache-Control: private
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
```

gitなども消えてしまったので、インストールしていきます。
こちらのサイトでお勧めなパッケージリストが公開されているのでそれをありがたく使います
http://nonnoise.github.io/Edison/

```
curl http://nonnoise.github.io/Edison/_sources/Edison/b
ase-feeds.conf -o /etc/opkg/base-feeds.conf
curl http://nonnoise.github.io/Edison/_sources/Edison/i
ntel-iotdk.conf -o /etc/opkg/intel-iotdk.conf
curl http://nonnoise.github.io/Edison/_sources/Edison/m
raa-upm.conf -o /etc/opkg/mraa-upm.conf

opkg update
opkg upgrade
```

gitを入れる

```
opkg install git

root@hoge_edison:~# git --version
git version 1.9.0
```

vimを入れる（結構時間かかった）

```
git clone https://github.com/b4winckler/vim.git
cd vim
./configure --with-features=huge
make
make install
```
![スクリーンショット 2015-03-07 18.37.50.png](https://qiita-image-store.s3.amazonaws.com/0/36184/24cd8a33-7b7d-63bb-1794-f54d5c438d5c.png "スクリーンショット 2015-03-07 18.37.50.png")


bashを入れる

```
opkg install bash

root@hoge_edison:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
```

bashをデフォルトにする

```
chsh -s /bin/bash
```

よく使うエイリアスを指定

```
vim .bashrc

alias ls='ls --color=auto'
alias ll='ls -la --color=auto'
alias rm='rm -i'
alias vi='vim'
```

ログインした時にbashrcが読み込まれるように

```
vim .bash_profile

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
```

aws-sdk for node.jsを入れる

```
npm install aws-sdk
```

これで、だいたい元に戻った。