raspberry piの便利なインストーラーnoobsを活用してみよう!

38
Raspberry Piの便利な インストーラー NOOBSを 活用してみよう! JRPiUG あっきぃ(@Akkiesoft) 2014/4/12 Raspberry JAM #5

Upload: akira-ouchi

Post on 24-May-2015

21.171 views

Category:

Engineering


2 download

DESCRIPTION

2014/4/12 Raspberry JAM #5にて発表

TRANSCRIPT

Page 1: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

Raspberry Piの便利な インストーラー NOOBSを 活用してみよう! JRPiUG あっきぃ(@Akkiesoft) 2014/4/12 Raspberry JAM #5

Page 2: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

自己紹介 •  あっきぃです – ググったら90年生まれのアイドルが出てきた –  (  ՞ਊ ՞)私は88年生まれのEjectアイドルです

•  Ejectコマンドユーザー会主宰 •  akkiesoft.hatenablog.jp •  各種WebサービスのID: Akkiesoft •  最近はradikoプレミアムで地元のラジオを聞くのが楽しみ

Page 3: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

今日のお題 •  NOOBSを色々さわるおはなし •  出来合いのOSを入れるだけじゃ勿体ない •  自分だけのカスタムOSを作ってNOOBSに追加しよう

•  自動インストールとかVNCインストールを使い、ディスプレイを使わずにインストールしよう

Page 4: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSとは •  Raspberry Pi用のOSインストーラ •  New Out Of the Box Softwareの略 •  OSランチャー、設定エディター、オンラインヘルプブラウザーも搭載

•  マウスでポチポチするだけでRaspbian、Pidora、RaspBMCとかが入る – ddしなくてもいい

Page 5: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBS

Page 6: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

いちおう使い方のおさらい

Page 7: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSを起動するまで •  SDカードをフォーマット •  NOOBSのzipをダウンロード – 公式: http://www.raspberrypi.org/download

– JAISTミラー: http://ftp.jaist.ac.jp/pub/raspberrypi/NOOBS/images

•  zipを展開 •  展開されたファイルをSDカードにコピー

Page 8: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

コピーした後のSDカード

Page 9: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBS起動

Page 10: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

もし画面が出ない時は •  数字の1~4のキーを押すと画面モードが変わるのでためしてみよう – 1: HDMI – 2: HDMIセーフモード – 3: コンポジットNTSCモード – 4: コンポジットPALモード

•  そもそも画面がない人は自動インストールかVNCモードを試してみよう(あとで)

Page 11: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

インストール •  言語とキーボードを選択 •  好みのOSを選択 •  インストールボタンを押す

Page 12: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

インストールは2種類 •  インストールは2種類ある 1.  SDカードにあるイメージを展開 2. ネットワークインストール –  公式サイトのダウンロードページのNetwork install Onlyはこれ

•  もちろん、SDカードにあるイメージを展開したほうが早い

Page 13: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

オンラインヘルプ

Page 14: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

日本語のWebも見られる •  日本語入力はできないけれどWebを見るだけならNOOBSだけでなんとかできそう

Page 15: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

設定の編集 •  OSがインストールされたあとは、起動に関する設定ができる

•  そんなに使わないかもですが •  config.txt •  cmdline.txt

Page 16: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

OSセレクター •  OSを複数インストールすると、OSセレクターが表示される

•  ( ˘ਊ˘).oO(複数入れる機会は少ないかも)

Page 17: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSイメージを作成しよう

Page 18: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSイメージ作成の用途 •  こんな時に作るといいかんじ

•  常時稼働している環境のバックアップ •  作り込みが済んだ環境のテンプレート化 •  配布イメージの作成

•  イメージは簡単に作成可能

Page 19: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

私の場合 •  KokudaAirconServer – 自宅のエアコンサーバーのバックアップ

•  Raspbian for PiTFT – PiTFTを使うための初期設定が済んだRaspbian

•  Minibian(MinibianX) – Raspbianから使用しないパッケージを削り軽量化したもの(Xあり/なし)

Page 20: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

必要なもの •  作りこみが済んだRasPiのSDカード •  パワーがある作業マシン – xz形式で圧縮をするので、CPUパワーと時間が必要

– xzユーティリティ5.1.1alpha以降のマルチスレッド対応を活用するとなおよし

•  Raspbianを例に説明

Page 21: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

SDカードをマウント •  SDカードを作業マシンにマウントする – sdbを仮定

•  NOOBSの場合

•  ddイメージの場合は多分sdb2・1の順

#  mount  /dev/sdb6  /mnt  #  mount  /dev/sdb5  /mnt/boot

Page 22: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

tarアーカイブを作成 •  rootパーティションとbootパーティションをそれぞれアーカイブ作成

•  tarファイルのサイズをMB単位で控えておく(後で必要になる)

#  cd  /mnt  #  tar  cpf  /tmp/root.tar  ./*  –exclude=proc/*  -­‐-­‐exclude=sys/*  -­‐-­‐exclude=dev/pts/*  -­‐-­‐exclude=boot/*  #  cd  boot/  #  tar  cpf  /tmp/boot.tar  

Page 23: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

tarアーカイブを圧縮する •  xz形式で圧縮する

•  圧縮にCPUパワーが必要になるため、スペックが高いマシンでやると吉

•  xzバージョン5.1.1以降を用意すると、 マルチスレッドで高速処理も可能

#  xz  –9  –e  /tmp/root.tar  #  xz  –9  –e  /tmp/boot.tar  

Page 24: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

設定ファイルを書く •  Raspbianの設定ファイルをコピーする – os/Raspbianディレクトリのtar.xzファイル以外ね

•  以下のファイルを編集 – os.json – partition.json – ※partition_setup.shとflavours.jsonは  未開拓……

Page 25: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

os.json •  OSの情報を記述するファイル •  難しくないので詳細は割愛 {      "name":  "MinibianX",      "url":  "http://www.raspbian.org/",      "version":  "wheezy",      "release_date":  "2014-­‐01-­‐07",      "kernel":  "3.10",      "description":  "A  community-­‐created  port  of  Debian  wheezy,  optimised  for  the  Raspberry  Pi",      "username":  "pi",      "password":  "raspberry"  }  

Page 26: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

partition.json •  OSのパーティショ ン情報を記述する ファイル

•  bootパーティショ ンとrootパーティ ションでそれぞれ 記述

{      "partitions":  [          {              "label":  "boot",              "filesystem_type":  "FAT",              "partition_size_nominal":  60,              "want_maximised":  false,              "mkfs_options":  "-­‐F  32",              "uncompressed_tarball_size":  20          },          {              "label":  "root",              "filesystem_type":  "ext4",              "partition_size_nominal":  2450,              "want_maximised":  true,              "mkfs_options":  "-­‐O  ^huge_file",              "uncompressed_tarball_size":  530          }      ]  }  

Page 27: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

partitions.jsonのパラメータ(1)

•  label  – パーティション名(アーカイブ名)  

•  filesystem_type  – ファイルシステム名  

•  par00on_size_nominal  – 必要なパーティションのサイズ。普通はuncompressed_tarball_sizeよりも大きい値にするべき

Page 28: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

partitions.jsonのパラメータ(2)

•  want_maximised  – SDカードの空きに余裕があった場合、空き容量いっぱいにパーティションを作成する  

•  mkfs_op0ons  – ファイルシステムを作成するときのオプション。基本的にはいじらなくて良い  

•  uncompressed_tarball_size  – xzで圧縮する前のtarアーカイブのファイルサイズ。たぶんMB単位

Page 29: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

おこのみで画像ファイル •  アイコン – インストールの一覧に表示される画像 – 40x40ピクセルのPNGファイルを用意 – os.jsonで指定したOS名をファイル名にする

•  スライド画面用画像 – インストール中に表示される画像 – slides_vgaディレクトリ以下に387x290ピクセルのPNGファイルを大文字アルファベット順で配置する

Page 30: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSを起動してみよう •  自分の作ったOSがリストに出てインストールができたら成功

Page 31: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

配布用に作るときの注意点 •  配布するときは以下の点に気をつけよう – デフォルトパスワード – SSHキーの再生成 –  raspi-configなどを呼び出すようにする – 特に下の2点は初回実行後呼び出し用のファイルが消える

•  再配布用の設定は研究中 – うまくできたらsysprepをもじってrasprepとか言ってリリースしたいですね(☝ ՞ਊ ՞)☝

•  あとライセンスも一応気をつける

Page 32: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSのTIPS

Page 33: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

自動インストール •  KVM操作なしでNOOBSにOSをインストールしてもらうモード

•  手順 – recovery.cmdlineファイルに「autoinstall」オプションを追加

– osディレクトリに一つだけOSを入れる – 起動して放置

•  Raspbianの場合フレーバーがあるので自動にならない(要研究)

Page 34: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

VNCインストール •  ディスプレイがない環境でNOOBSを使う場合のモード – もしくは私のようにスクリーンショットを撮りたいときとかに

•  recovery.cmdlineに「vncinstall」を追加して、「quiet」を削除

•  Raspberry Piを起動して「<Raspberry PiのIPアドレス>:5900」にアクセス

Page 35: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

VNCインストールの注意点 •  IPアドレスの特定が難しい? •  私の場合DHCPでIPを固定にしているので特定できるけど、他の場合は難しそう?

•  VNCクライアントによってはうまく表示できない – Macの標準クライアントは× (10.9)

– Mac版RealVNCはExpert設定 でFullColorをTrueにすると イケる

Page 36: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

NOOBSの日本語化 •  現在のバージョンは初期に翻訳された日本語以外はほとんど英語

•  私が勝手に翻訳を初めて、UGメンバーに手伝い・レビューを頂きながら最新版を翻訳

•  githubにPull requestを送りました – https://github.com/raspberrypi/noobs/pull/182

Page 37: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

最新の日本語版を使うには •  ソースをダウンロードしてコンパイル •  ものぐさな人は、私がビルドしたものをこっそり配布中 – http://d250g2.com/raspi/noobs.tar.xz – Pull requestが採用されるまで有効

Page 38: Raspberry Piの便利なインストーラーNOOBSを活用してみよう!

まとめ •  OSイメージを配布することがあったら、ディスクイメージでもいいけれど、NOOBSイメージも作成してみよう

•  バックアップとしても活用してみよう