2015/10/06

Raspberry Pi2 ModelB にlxcコンテナからraspbianインストール

気になっていたRaspberry Pi 2 Model B を購入しました。
https://www.raspberrypi.org
以前は教育目的じゃないと入手が困難だったけど今はアマゾンから普通に買えるのね。
同時にcocopar™ の3.5インチタッチパネル ディスプレイと定番の電子工作キットも購入。
色々遊んでみようと思う。

まずは、RaspbianをMicroSDに書き込まねばならない。
Ubuntuマシンとして使っているShuttleDS57UにSDCardソケットがあるんで、そこ使って書き込もうと思う。

RaspberryPi関係のことをやるためのlxcコンテナを作成して、そこから書き込むことにしよう。

マスターにしているコンテナをクローン
$ sudo lxc-clone master -n raspberry
$ ssh raspberry

自分の環境の場合、SDRAMカードデバイスは/dev/sdaになっている。一番最初のブロックデバイスなのだね。(メインのSSDストレージは/dev/sdb)
標準ではコンテナからはブロックデバイスへのアクセスはできないようになっている。

lxcコンテナから/dev/sdaへ書き込みできるようにする必要がある
http://forum.proxmox.com/threads/23256-LXC-Cannot-assign-a-block-device-to-container
を参考に

/var/lib/lxc/raspberry/config に以下の設定を追記
# block device
lxc.aa_profile = lxc-container-default-with-mounting
lxc.cgroup.devices.allow = b 8:* rwm
lxc.hook.autodev = /var/lib/lxc/raspberry/mount-hook.sh
mount-hook.sh は以下のような感じ
#!/bin/sh
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/sda b 8 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/sda1 b 8 1
”b”はブロックの意味かな。"8"とか"8 0"とかは、ホストで ls -l /dev/sda* とした時のデバイスのメジャーID、マイナーIDで、コンテナでも同じになるように。

起動時にフックが働いて、/dev/sdaと/dev/sda1が作成され、使えるようになる。

コンテナconfファイルの詳細は
https://linuxcontainers.org/ja/lxc/manpages/man5/lxc.container.conf.5.html

raspbianインストール
wgetでDownload ZIP からraspbian_jessie.zipをダウンロード。

unzipをインストールして、zipファイルを解凍
$ sudo apt-get install unzip
$ unzip raspbian_jessie.zip


日付-raspbian-jessie.imgファイルが出来上がる。

書き込み
$ sudo dd bs=4M if=/home/ubuntu/2015-09-24-raspbian-jessie.img of=/dev/sda

RaspberryPiにLANと焼いたMicroSDを差し込んで電源オン

IPアドレス調べるのがちょっと面倒
ホストから、
$ nmap 192.168.1.0/24
で、見慣れない奴を見つける。きっとそれがRaspberryPiだ。
早速 sshして、固定アドレスに変更。

設定をちょっとやっておこう

$ sudo raspi-config
Expand Filesystemを選ぶと、SDRAM全体が使えるようになる
Boot OptionでB1 Console
Internationalian OptionでTimezoneをAsia/Tokyo
Advanced OptionでB8 Serial Disable
ざっとこれくらい。

まずはVNCでもやって、様子を見てみる

RaspberryPiにVNCサーバー入れて起動
$ sudo apt-get install tightvncserver
$ tightvncserver
VNC接続パスワード設定。readOnly?はnと答える

raspberryPiのIP:5901へVNC接続するとデスクトップが出てくる。LXDEなのだね。

プログラムの教育用だけあって、開発環境はすでに色々入っているようですね。
特に、/opt/にはライブラリやらデモプログラムやらがどっさり。
これから、いじってみよう。

0 件のコメント:

コメントを投稿