やってみたブログ

組込みLinuxとかいろいろやってみた

Beaglebone BlackでDebianを動かす

BeagleBone Blackの内蔵FlashROMに入っているAngstromを動かすのは

BeagleBone Blackの起動 - Angstromで説明した。ここではSDカードにDebianを焼いて、SDカードからDebianをブートしてみる。

基本的に、BeagleBoardDebian - eLinux.orgの手順どおりにやればokだけど、手っ取り早くpre-buildイメージを使って動かしてみる。Demo Imageにある手順でやればok、、なんだけど。。

作業はLinuxでやったほうがいいので、ホストPC上のVMにLinuxをインストールしておく。開発環境としては、Ubuntu 12.04@32bitがいい。なので、VMにUbuntuを入れておく。仮想マシンソフトはVMware PlayerでもVirtualboxでも好きたものを。私はデスクトップ用途だとVirtualboxが使いやすいと思う。

以下、Virtualboxに入れたUbuntu上で操作することを前提として記す。

  1. ホストPCにSDカードを挿し、VirtualboxにSDカードをアタッチする。このとき、UbuntuがアタッチしたSDカードを自動マウントするかもしれないので、アンマウントしておく。
  2. VMのUbuntuからは/dev/sdbとかのデバイス名で認識されるはず。どのデバイス名で認識されているかはcat /proc/partitionsとかで確認できる。
  3. Debian 7.1のpre-buildイメージファイルを取得する。大きいので時間かかるはず。
    wget https://rcn-ee.net/deb/rootfs/wheezy/debian-7.1-console-armhf-2013-08-26.tar.xz
  4. 展開
    tar xJf debian-7.1-console-armhf-2013-08-26.tar.xz
    cd debian-7.1-console-armhf-2013-08-26
  5. SDカードに書き込み。/dev/sdXはUbuntu上のSDカードのデバイス番号。このとき、gitとかがないとか言われるので、メッセージに書かれているとおりにapt-getしてから再度setup_sdcard.shを実行する。
    sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot bone

SDカードにDebianを書き込んだら、BBBにSDカードをさして電源を入れる。シリアルコンソールにu-bootやカーネルメッセージが表示され、ログインが表示される。

DebianでもUSB Ethernetが活性化している。sshdも動いているので、ホストPCからsshログインできる。ユーザ名は"debian"、パスワードは"temppwd"。

  1. ssh debian@192.168.7.2

rootのパスワードはrootだけどsudoが使えるので、rootになりたければdebianユーザでログインしてsudoすればいい。

BBBのEthernet(普通のEthernetのほう)をブロードバンドルータとかに接続すれば、DHCPIPアドレスをとってくれるので、普通にインターネット接続ができる。

HDMIでテレビとかに接続しておけば、起動後にログインプロンプトがテレビに表示されているはず。USBキーボードが接続されていれば、ログインできる。

f:id:dekigl:20130914132241j:plain

 

ここまでくればPCで動くDebianと同じなので、あとは好きにすればいい。