4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi 3 B+でAGLブート

Last updated at Posted at 2018-09-06

こことかここにRaspberry Pi向けのビルド方法が記載されているものの、少しずつ記述が違うのでよくわらかない。
実際に起動までできた手順をまとめてみる。

動かしてみるだけなら、SDへ書き込み可能なバイナリイメージを取得すればよい。
Snapshot Binary

今回はあえてビルドにチャレンジ。

ビルド環境

  • Windows10 + VMWare Workstation 14 Player

    Windowsとのデュアルブート環境作るのも面倒なのでVMWare上にさくっとインストール。

    Virtual BoxでもHyper-Vでもいいはずなのでお好みで。
  • Ubuntu 16.04

    最初は18.04でビルドしてみたもののエラーが発生したので16.04で再構築。

環境構築

最初の一回だけセットアップすればよい手順

  • 必要ツールのインストール

    Ubuntuにソースビルドに必要なツール群をインストールする。
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat libsdl1.2-dev xterm cpio curl
  • ディレクトリの作成

    ソースのダウンロードや、ビルドをするためのディレクトリを作成する。
export AGL_TOP=$HOME/workspace_agl
mkdir -p $AGL_TOP

export AGL_TOP=~は、次回以降の起動時は自動で設定されるよう~/.bashrcに書いておいた。

  • repoツールのダウンロード

    AndroidのAOSPソースダウロードではおなじみのツール
mkdir -p ~/bin
export PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

同じくexport PATH=~は~/.bashrcに書いておく。

ソースダウンロード

2018/9/6時点の最新バージョンを取得

cd $AGL_TOP
repo init -b master -m flounder_5.99.4.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
repo sync

-b : ブランチを指定
-m : リポジトリ内で使用する manifest のファイルを指定
-u : manifestのリポジトリが存在するURLを指定

ここ記載では、最新ソース取得する場合は"-m"の指定が不要となってるが指定しないとbitbake時にエラーが出る。
"-m"指定は必須。

どのブランチのどのmanifestを参照すれば良いかは以下を参照。
AGL Unified Code Base Release Notes

余談だが、メジャーバージョンにはコードネームがつけられている模様。
おさかなシリーズ。

バージョン コードネーム
7.x Grumpy Guppy
6.x Funky Flounder
5.x Electric Eel
4.x Daring Dab
3.x Charming Chinook
2.x Brilliant Blowfish

ソースビルド

今回利用したのはRaspberry Pi 3 B+だが、指定はraspberrypi3の指定でOK。
Yoctoビルドが実行され、ソースのビルドだけでなく各種パッケージソースもダウンロードされる。
かなり時間がかかるので(特にダウンロードが低速)、しばらく放置。

source meta-agl/scripts/aglsetup.sh -m raspberrypi3 agl-demo agl-netboot agl-appfw-smack
bitbake agl-demo-platform

SDへの書き込み

小一時間、二時間まつとビルドが完了するのでSDに書き込む。
/dev/sdc1がマウントされていたので、アンマウントしてから書き込む。

sudo umount /dev/sdc1
cd $AGL_TOP/build/tmp/deploy/images/raspberrypi3/
xzcat agl-demo-platform-raspberrypi3.wic.xz | sudo dd of=/dev/sdc bs=4M
sync

ddの出力先にはパーティションのデバイスファイルでななく、ドライブのデバイスファイルを指定。
書き込みが完了するとSDカード上にパーティションが生成されている。

起動

Raspberry Pi本体にSDカードを指してから電源に接続。
ディスプレイはHDMI出力。
しばらく放置すると起動し、AGLのデモ用Launcherアプリ表示される。

ただディスプレイがランドスケープだと画面が横向きに表示される。
#画面向かって左が天、右が地

使ったデイスプレイがチルトできないやつだったので、画面出力を回転させる。
#正確には回転させずに表示させる

ディスプレイの画面出力を回転させる

シリアル接続

ディスプレイの出力はGUIなので、コンソールにアクセスするためにシリアル接続する。
ケーブルはこれを利用。安かったけどちゃんと使えた。

ピンとの接続は以下を参考に接続。
Connect the Lead

シリアルケーブ接続できたらscreenをたたく。

sudo screen /dev/ttyUSB0 115200

デフォルトではユーザ名root, パスワード無でログインできる。

画面の出力設定

デフォで270°回転する設定となっているの、HDMI出力時の回転指定をコメントアウトする

/etc/xdg/weston/weston.ini
[output]
name=HDMI-A-1
#transform=270

保存したらRaspberry Piを再起動。
再起動後は左右にレターボックスが入って、ちゃんと縦に表示される。

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?