私のBeagleBone BlackのリビジョンはA5Bと古いのでeMMCが2GBしかありません。現在のファームウェアはUbuntu 13.04を使っているのですが、別の環境でSDカードに焼いた14.04が起動してくれません。一度ファームウェアをオフィシャルのDebianに戻してビルド環境を用意しようと思います。
Cygwinとapt-cygの用意
今回は作業環境にWindows7を使います。まずCygwinのセットアップのためsetup-x86_64.exeをダウンロードしてインストールします。パッケージ管理ツールのapt-cygに必要なパッケージをインストールしておきます。
- Devel/git-svn
- Base/gawk
- Utils/bzip2
- Utils/tar
- Web/wget
Cygwin64 Terminalを管理者として起動してapt-cygをインストールします。
$ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/ |
バージョンを確認します。
$ cygcheck -c cygwin |
apt-cygを使いunxzコマンドをインストールします。xz形式のイメージファイルの解凍に使います。
$ apt-cyg install xz-utils |
Debian 7.5のインストール
Windows7にUSBドライバをインストールする
WindowsからUSB経由でBBBにSSH接続するため、Getting Startedにある64-bit版ドライバのインストーラーをダウンロードして実行します。
microSDカードをフォーマットする
Debianのイメージを焼くため余っていた16GBのmicroSDカードを用意しました。SD Formatterを使いmicroSDカードをフォーマットし直します。論理サイズ調整をONにしてクイックフォーマットします。
フォーマットが終了しました。
microSDカードにイメージを焼く
Cygwinを使いDebianのイメージをSDカードに焼きます。Cygwin64 TerminalからWindows7のデバイスファイルを確認します。16GBのmicroSDカードは/dev/sdc
になります。
$ cat /proc/partitions |
DebianのファームウェアはオフィシャルのLatest Firmware Imagesにある、Debian (BeagleBone Black - 2GB eMMC) 2014-05-14を使います。ダウンロードしてチェックサムを確認します。
$ wget http://debian.beagleboard.org/images/BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img.xz |
イメージを解凍してmicroSDカードに焼きます。
$ unxz BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img.xz |
eMMCにフラッシュする
以下の手順で、microSDカードからBBBのeMMCにDebianをフラッシュします。
- microSDカードをBBBのスロットに挿す
- microSDカードスロットの上にあるBootボタンを押しながら、USBをWindowsと接続してSDカードから起動する
- LEDが点滅し始めたら、Bootボタンを放す
- eMMCへのフラッシュには、20分くらいかかる
- フラッシュに成功すると、LEDが消灯して終了する
- Windowsから、USBケーブルを抜く
- BBBから、microSDカードを抜く
WindowsにUSBケーブルで接続してBBBの電源を入れます。Puttyを起動します。デフォルト接続設定は以下です。
- IPアドレス: 192.168.7.2
- username: debian
- password: temppwd
PuttyからSSH接続できました。OSのバージョンを確認しておきます。
$ cat /etc/debian_version |
Windows7のネットワーク設定
USBネットワークの名前
BBBからUSBケーブルで接続しているWindowsのネットワークを使い、インターネットに接続できるようにします。わかりやすいように、USBネットワークの名前を変更しておきます。
- コントロールパネル > ネットワークとインターネット > ネットワークと共有センター > アダプターの設定の変更 > Linux USB Ethernet/RNDIS Gadgetのネットワークを選択
- 名前: BeagleBoneBlack
ワイヤレスネットワークの共有設定
BBBと共有したネットワークの設定を変更します。今回はWindows7のワイヤレスネットワークを選択して共有タブを表示します。
- コントロールパネル > ネットワークとインターネット > ネットワークに接続 > 接続するネットワークを右クリック > 状態 > プロパティ > 共有タブ
以下のように、BeagleBone BlackのUSBネットワークからインターネットへの接続を許可します。
- ネットワークのほかのユーザーに、このコンピューターのインターネット接続をとおして接続を許可する: チェック
- ネットワークのほかのユーザーに、共有インターネット接続の制御や無効化を許可する: チェック外す
- ホームネットワーク接続: BeagleBoneBlackを選択
また、このワイヤレスネットワークは無線LANルーターからDHCPでIPアドレスとDNSサーバーを取得しています。
USBネットワーク
BBBのUSBネットワーク設定画面を以下の手順で開きます。
- コントロールパネル > ネットワークとインターネット > ネットワークの状態とタスクの表示 > アダプターの設定の変更 > Linux USB Ethernet/RNDIS Gadgetのネットワークを選択
TCP/IPv4の設定画面を開きます。
- プロパティボタン > インターネット プロトコル バージョン 4 (TCP/IPv4) をダブルクリップ
以下のように、IPアドレスとDNSサーバーの情報を自動的に取得するようにします。
Debian 7.5のネットワーク設定
デフォルトゲートウェイの追加
BBBとWindowsをUSBケーブルでつなぎ、PuttyからSSH接続します。routeコマンドでデフォルトゲートウエイの設定します。
$ sudo route add default gw 192.168.7.1 |
routeコマンドで設定を確認します。
$ route -n |
pingで名前解決ができるようになりました。
$ ping -c 3 www.yahoo.co.jp |
再起動後も設定を有効にする
再起動後もデフォルトゲートウェイが有効になるように設定を追加します。Windows 7 Internet Sharing for BeagleBone BlackのコメントにあるDebian用の書き方を参考にします。udhcpdのすぐ下にデフォルトゲートウェイの設定を追加します。
/sbin/ifconfig usb0 192.168.7.2 netmask 255.255.255.252 |
BBBを再起動しても名前解決ができるようになりました。
$ ping -c 3 www.yahoo.co.jp |