LoginSignup
1
2

More than 5 years have passed since last update.

BeagleBone Black に Ubuntu xenial!!

Posted at

これまではAngstrom(オングストローム)という、Linuxディストリビューションを使用してきました。

しかし!どうも古い環境だなぁ、システム・サービスを運用するにあたって安定性が非常に大事ということからUbuntuを入れてみようと思います。
今回はeMMCに直接書き込むのではなくSDカードにUbuntuのイメージを書き込み、ブートします!

まだまだ人に見せることを配慮しての書き方が足りてないので、もっとわかりやすく書かないといけないとおもう今日この頃。
わかりにくい点、アドバイスなどあれば是非コメントをください!

SDカードのフォーマット

以前、SDカードにubuntuを書き込んでいたのでフォーマットします。フォーマットにSDFormatterを使用します。新品のSDカードを使用する場合ここは省略してください。

フォーマットする際、オプションとしてクイックフォーマット、論理サイズ調整=ONを指定しフォーマットします。

SDカードにイメージを書き込み

イメージを書き込んでいきます。書き込むにあたって使用したのはWindowsを使用しました。

SDカードに書き込むために以下のサイトを参考に
BBB用のディスクイメージをダウンロードします。
私がダウンロードしたのはbone-ubuntu-xenial-console-armhf-2016-04-07-2gb.img.xzです

ダウンロードしたファイルの解凍には7zipという解凍ソフトを使用します。

解凍はダウンロードしたファイルを右クリックし、展開を押し解凍します。

解凍後SDカードにイメージを書き込みます。
書き込みにはwin32DiskImageを使用します。

Win32DiskImager
https://osdn.jp/projects/sfnet_win32diskimager/

上記のサイトからWin32DiskImager-0.9.5-binary.zipをダウンロードし解凍します。解凍後、解凍先フォルダのWin32DiskImaer.exeを実行します。

その後ウィンドウが立ち上がるので、先ほど解凍したディスクイメージを選択し、書き込み先が正しく選択されていることを確認後Wirteを押し書き込みます。

以上でSDカードにUbuntuを書き込むことができました。

Ubuntuを起動

BeagleBoneBlackにSDカードを挿入し起動します。HDMIなども接続し起動してみます!ここで立ち上がるのはCUIです。

BBBのS2ボタンを押しながら起動します!参考にしたサイトでは別にS2押さなくてもいけたということをかいてありましたが、わたしのケースだとS2おしておかないとダメでした。(二回目の起動時、S2ボタンを押さずに行うとubuntuが立ち上がりました。)

ubuntuを起動後ユーザ名とパスを聞かれます。

login: ubuntu
word: temppwd

でログインできます。

パーティションの拡張

ここと全く同じようにやりました.

ユーザの追加

mオプションをつけるとホームディレクトリを作ってくれます!

$ sudo useradd -m ユーザ名 <- ユーザの作成
$ sudo passwd ユーザ名 <- パスワードの追加
パスワード入力

$ sudo gpasswd -a ユーザ名 sudo  <- sudoが使えるようにする

安全面のことを考えubuntuユーザは削除しておいたほうがよさそうなので削除

sudo userdel ubuntu

ここに書いていることはパーティションの拡張で載せたURL二書いていることです。引き続き同じように設定を変更していきます。

ホスト名の変更

$ hostname
arm <- デフォルトではこれ

$ sudo hostname ホスト名

/etc/hostnameも変更する

$ sudo vi /etc/hostname
arm <-デフォルトではこれが記述されているので先ほど決めたホストネームに変更

/etc/hostsも変更する

127.0.0.1   localhost
#127.0.1.1   arm.localdomain arm #ここを変更する
127.0.1.1   ホスト名.localdomain ホスト名

# The following lines are desirable for IPv6 capable hosts
::1   localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

ネットワークの再起動

sudo /etc/init.d/networking restart

ネットワークの設定

/etc/netowrk/interfaceを編集

...
auth eth0
iface eth0 inet dhcp
...

現状ipアドレスをdhcpで割り当てるようにしているので、iface...の行をコメントアウトし自分でアドレスを割り当てます。

auth eth0
#iface eth0 inet dhcp
iface eth0 inet static
  address 環境次第
  network 環境次第
  netmask 環境次第
  broadcast 環境次第
  gateway 環境次第
  dns-nameservers 環境次第

eth0を構築し直します

$ sudo ifdwon eth0
$ sudo ifup eth0

うまく繋がらない方は参考サイトにもあるように/etc/resolv.confを見て直してみましょう。

アップデート

$ sudo apt-get update
$ sudo apt-get upgrade

vimを入れたいのでvimをinstall

$ sudo apt-get install vim

テストにLチカ

以前動かしたpythonのプログラムと同じものを作成し実行します。

light.py
1 import Adafruit_BBIO.GPIO as GPIO
2 import time
3
4 GPIO.setup("P9_11", GPIO.OUT);
5 GPIO.output("P9_11", GPIO.HIGH);
6 time.sleep(3);
7 GPIO.output("P9_11", GPIO.LOW);

しかしAdafruitなんてないと怒られたので、モジュールをインストールします。
以下のサイトを参考にやりました。

$ sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y

$ sudo pip install Adafruit_BBIO

実行する際はsudoをつけて実行してみてください。

$ sudo python light.py

これでBeagleBoneBlackにUbuntuを入れることができました。次回からセンサーなどを扱っていきたいです。

シャットダウンする際はこれまで通りのコマンドにsudoをつけてあげてください。

$ sudo shutdown -h now

参考サイト

このサイトのおかげでインストールできました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2