ubuntu環境

Linux実験環境としてUbuntuを使うことにする。環境構築に使用するホストPC側はUbuntu 16.04。

 

まずは、SDカードを作成する。以下のページを参考にする。

BeagleBoardUbuntu - eLinux.org

 

ダウンロードして、解凍する。

wget https://rcn-ee.com/rootfs/2018-03-09/elinux/ubuntu-16.04.4-console-armhf-2018-03-09.tar.xz
tar ubuntu-16.04.4-console-armhf-2018-03-09.tar.xz

SDカードリーダにSDを挿入して、ホストPCと接続する。

ホストPCからSDカードは/dev/sdbとして認識された。

 

解凍してできたフォルダの中に、スクリプトが入っている。それを実行する。

cd ubuntu-16.04.4-console-armhf-2018-03-09

sudo ./setup_sdcard.sh --mmc /dev/sdb --dtb beaglebone

しばらくすると、

setup_sdcard.sh script complete

と表示され、処理が完了する。

 

作成されたSDカードをBeagleBoneBlackに挿入し、電源を投入するとUbuntuが起動する。

 

f:id:mffukui:20180504224919p:plain

 

 起動時に、ネットワークをチェックするので、スタンドアロンで動作させる場合にはネットワークを無効にする。

sudo systemctl disable networking.service 

 

 なお、LinuxPCでシリアルコンソールを接続する場合にはscreenコマンドを使う。

sudo screen /dev/ttyUSB0 115200

/dev/ttyUSB0がデバイスファイル、115200がボーレート

 

 

 

カーネルパラメータ

カーネルパラメータをカーネルコンフィグで指定していたのに、デバイスツリーに追加したところ、そちらが優先された。

 

調べると、どうもそうらしい。

A Tutorial on the Device Tree (Zynq) -- Part II | xillybus.com

 

here are three sources for the kernel boot command line in general:

  • Those given as CONFIG_CMDLINE in the kernel configuration
  • Those passed on by the boot loader (typically U-boot on ARM processors, LILO or GRUB on x86)
  • Those included in the device tree, under chosen/bootargs (see listing above)

Which one is used depends on kernel configuration parameters. In Xillinux, the device tree’s chosen/bootargs is used.

 

知ってるようで知らないデバイスツリー。

このサイトも詳しい解説がある

Device Tree Usage - eLinux.org

 

SDカードブート

eMMCでの起動は確認できたところで、SDカードブートを試してみる。

SDカードに書き込むイメージは、公式サイトの最新のイメージを使う。

https://beagleboard.org/latest-images

この中から、 Debian 9.3 2018-01-28 4GB SD LXQT をダウンロードする。

 

 ダウンロードしたイメージをSDカードに書き込むには、Win32DiskImagerを使う。

使い方は、以下のサイトが詳しい。

Win32DiskImagerのインストールと使い方

基本的には、イメージを選んで書き込むだけ。

SDカードは、一つのパーティションで作成される。

 

SDカードのイメージを書き込んだら、BeagleBoneBlackにSDカードを入れて起動する。新しいカーネルで起動すればOK。

 

 

 

動作確認

BeagleBoneBlackの箱を開けて、まずは動作確認を行う。

WindowsPCとBeagleBoneBlackをUSB-シリアルで接続する。

USB-シリアルはTTL-232R-3V3を使う。

 

BeagleBoneBlack側の接続は、J1コネクタを使用して、電源側の1ピン(ACジャック側)がGNDなので黒い線を繋ぐようにする。こんな感じ↓

f:id:mffukui:20180430235623j:plain

USBはWindonws側に接続し、TeraTermの設定で起動する。

  • ボーレート:115200
  • データ:8ビット
  • パリティ:なし
  • ストップビット:1ビット
  • フロー制御:なし

この状態で電源を供給すると、eMMCに書き込まれたLinuxが起動する。

(文字化けする場合には再接続して、リセットするとOK)

 

起動後

f:id:mffukui:20180501000812j:plain

 

 

 

sbtで新規プロジェクト

いつもわからなくなるので、備忘録として。

新規プロジェクトを作成するには、

sbt new scala/scala-seed.g8 

 とする。プロジェクト名を聞かれるので、入力すると、プロジェクトフォルダが作成され、

プロジェクト名/src/main/scala/example

 にHello.scalaができるので、適当に修正する。

 

Beagle Bone Black購入

Linuxの勉強用にBeagle Bone Blackを購入。

ラズベリーパイも考慮に入れたけど、JTAGコネクタがないらしいので却下。

 

【購入品】

BeagleBoneBlack(以下BBB)のHDMI端子はマイクロなので要注意。

HDMIーDVIケーブルはモニタにDVI端子までしかなかったため。通常はHDMIケーブルでOK。

 

参考にした本はこれ。

LinuxガジェットBeagleBone BlackでI/O: ハードウェア制御の大本命! (インターフェースSPECIAL)

LinuxガジェットBeagleBone BlackでI/O: ハードウェア制御の大本命! (インターフェースSPECIAL)

 

 

HDMIモニタほしい。