Hatena::ブログ(Diary)

Secondary Storage このページをアンテナに追加 RSSフィード

2013-06-23

[] Raspberry Pi ファーストセットアップ

ここ1年あたりから流行り始めて、最近でも雑誌の特集になっていたりと
話題奮闘中な小型LinuxマシンのRaspberry Piですが、
5月半ばに手に入れる機会があったので、導入手順をまとめておきます。

f:id:zqwell-ss:20130512001859j:image

前提

  • ホストPCはWindows 7 Professional
  • Linux関連の知識がある程度あるひと

用意するもの

RaspberryPiを動かすために以下を用意します。

Raspberry Pi 本体とクリアケースは秋葉原千石電商 本店2F で5480円、
SDカードツクモeXで3000円くらいで買いました。他は手元にあったものを利用しました。

オンラインで売っているところもいくつかあるので、欲しいひとは以下をあたってみると良いかも。

注意点
  • USB充電器
    • 1000mA以上のアンペアを供給できるものを選ぶこと。
  • SDカード
    • 以下のURLを参考に動作確認がとれたものを選ぶのがベター。動かないものを選んでしまうと悲惨です。
    • http://elinux.org/RPi_SD_cards
    • できるだけ速度の速いものが良いです。

ブートイメージの書き込み

ディストリビューションはいくつか選べますが、推奨されている"Raspbian"をインストールすることにします。
Downloads | Raspberry Piからブートイメージを落としてきます。
※2013/6/24時点で「2013-05-25-wheezy-raspbian.zip」が最新のようです。

Windowsを利用している場合、ブートイメージをSDカードへ書き込むためのツールが必要になります。
Win32 Disk Imager | Free Development software downloads at SourceForge.netからWin32 Disk Imagerを落としてきます。

Win32 Disk Imagerを起動します。
「Image File」に落としてきたブートイメージ(*.img)のパスを入れ、「Device」はSDカードのドライブ名を選択します。
間違って別のドライブを選択しないように注意します。

「Write」ボタンを押してしばらく待てばSDカードへブートイメージの書き込みが完了します。

初回起動とセットアップ

以下の順番で進めます。

  1. ブートイメージを書き込んだSDカードRaspberry Piに挿入
  2. HDMIケーブルをディスプレイにつなぎ、Raspberry Piに接続
  3. LANケーブルをRaspberry Piに接続
  4. 最後にmicroUSBケーブルとUSB充電器を接続し、Raspberry Piに接続

Raspberry PiにはOn/Offスイッチはないので、mircoUSBケーブルを接続すると自動的に電源が入ります。
そのため予め周辺機器を接続した状態で最後にmicroUSBケーブルを接続する必要があります。


起動するとLinuxの起動画面が表示されます。左上にRapberry Piのアイコンが。
しばらくすると、最初に設定画面が現れますので必要な項目を設定していきます。

設定項目(raspi-config)
  • info
    • このツールの情報が表示されます。
  • expand_rootfs
    • パーティションの拡張を行います。
    • 初期状態ではSDカードの先頭2GBほどしか使用しないようになっているので、こちらから容量全体を使うように設定します。
  • overscan
    • オーバースキャンを設定します。画面周囲に余白が必要な場合に使用します。
  • configure_keyboard
  • change_pass
  • change_locale
    • ロケールの設定。
    • 日本語も設定可能ですが、初期状態では日本語環境がないので最初は設定不要です。
  • change_timezone
    • 日本国内で使用する場合は Asia → Tokyo を指定しておきます。
  • change_hostname
    • ホストネームの設定。
  • memory_split
    • GPUへのメモリ配分を指定します。特に問題がないので初期設定のままで。
  • overclock
    • オーバークロックの設定。CPUの駆動周波数を変更することで高速化できますが、寿命が短くなるため安易に利用しない方が良いです。
  • ssh
    • SSH接続を有効にする。ディスプレイを繋げるのが面倒で、以降はSSHで操作するなら Enable に設定)
  • boot_behaviour
  • camera
  • rastrack
    • 自分のRaspberry Piを Rastrackに登録します。どこの誰がどれくらい利用しているのかがわかるサービスのようです。
  • update

※項目はRaspberry Pi 初期設定【その1】 – Chiki-Chiki Grasshopperをベースにさせていただきました。

上記項目のうち、

  • update
  • expand_rootfs
  • configure_keyboard
  • change_pass
  • change_timezone
  • ssh

を設定して「Finish」を押下します。
あとから設定したい場合は、 raspi-config コマンドを実行してください。

しばらくすると、GUIデスクトップ環境が立ち上がると思います。

change_locale は日本語環境をインストールしてから設定します。
この時点で変更してしまうと日本語フォントがないため文字化けします。

sshさえ設定してしまえば、以降はリモートからログインして設定することが可能です。
DHCPを利用している場合は、ターミナルから

$ /sbin/ifconfig

を叩いて、IPアドレスを確認しておいてください。

日本語環境の設定

まずはパッケージのリスト更新と最新へアップグレードします。

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

次に、日本語フォントインストールします。

$ sudo apt-get install ttf-kochi-gothic ttf-kochi-mincho
$ sudo apt-get install fonts-ipafont-gothic fonts-ipafont-mincho
$ sudo apt-get install xfonts-intl-japanese xfonts-intl-japanese-big xfonts-mplus

どのフォントがあるか知りたい場合は以下のコマンドを叩いて見てください。

$ apt-cache search font japan |less

ロケールを変更します。

$ sudo raspi-config

change_locale を選択し、

を有効にします。デフォルトは 「ja_JP.UTF-8」にします。

ここで一度再起動します。

$ sudo reboot

ここまでで、日本語表示環境が整います。
日本語が入力できるようにインプットメソッドを入れましょう。

$ sudo apt-get install ibus-anthy

anthyを利用できるようにibusの設定をします。
[Preferences]>>[IBusPreferences]>>[Input Method]>>[Select an input method|▼]>>[Japanese>Anthy]
Anthyを選択後[+Add]ボタンを押すと「Input Method」に登録され使用可能になる


ひとまず、今日はここまで。細かい設定と周辺機器との連携については後ほど書きます。

Raspberry Piをいじっていると、Zaurus代替ROM書換えて遊んでいた時を思い出しますね。

参考URL

2013-03-31

[][] el-get 設定その後

Windows (gnupack) な環境で el-get を使っていたのですが、
git cloneやhg cloneに失敗したり、el-getのrecipeとpackage.elで作ったrecipeで
パッケージインストールすると依存関係が崩れたのか上手くインストールできないパッケージが出てきたりと
苦行の道を歩んでいる感じがして本来の目的である「パッケージの一律管理で楽をする」から
大分離れてしまっている感が否めないのでひとまず積極的に使うことを諦めました。

ひとまず、以下の方針で様子見。

  • package.el にあるものは package.elを利用する
  • それ以外(emacswikiやrecipeにあるもの)はel-getを利用する
  • el-getのインストールに失敗するものはauto-installを利用する

2013-03-25

[] The Silver Searcher のビルド手順 for gnupack

検索ツールといえば find & grep ですが、より優れている `The Silver Searcher' という検索ツールがあることを最近知りました。
使ってみないとどんなものなのかわからないので実際に導入してみました。

ちなみに、`The Silver Searcher' のことを通称 ag 呼ぶみたいです。なんの略?

2013/03/30 追記

agは元素記号の銀を意味するとのこと。The "Silver" Searcher だからか。

環境

導入の流れ

ag のソースを落としてきます
$ git clone git://github.com/ggreer/the_silver_searcher.git
ag のビルドに必要なパッケージのインストールをします
$ cyg-pm install -require zlib-devel pcre pkg-config 
ビルド
$ cd the_silver_searcher && ./build.sh && make install

これで、/usr/local/bin にag.exeインストールされます。

使い方

ターミナル上で

$ ag hoge ~/fuga

と入力すれば、~/fuga ディレクトリ以下にあるhogeを含むファイルの一覧が検索され、結果が出力されます。
実際にこんな感じで出力されます。手軽で便利ですね。

$ ag setq ~/.emacs.d/conf/
/home/.emacs.d/conf/05_common-init.el
13:      (setq default-process-coding-system '(utf-8-unix . cp932-dos))
14:   ;;  (setq default-process-coding-system '(cp932 . cp932))
15:   ;;  (setq default-process-coding-system '(cp932 . utf-8-unix))
19:  (setq default-process-coding-system '(utf-8-unix . utf-8-unix)))
59:(setq frame-title-format "%f %Z")
68:(setq truncate-lines nil)
71:(setq truncate-partial-width-windows t)
75:(setq uniquify-buffer-name-style 'forward)
76:(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
77:(setq uniquify-ignore-buffers-re "*[^*]+*")
86:(setq linum-delay t)
95:(setq linum-format "%3d")
114:(setq display-time-24hr-format t)
115:(setq display-time-string-forms '(24-hours ":" minutes))
147:(setq-default save-place t)
151:(setq scroll-preserve-screen-position t)
154:(setq vertical-centering-font-regexp ".*")

色々と細かい指定もできるようなので詳細は ag -h を見てみてください。

emacsで使いたい

便利なものは是非emacsでも利用したいものですね。
既にemacs用のインターフェースを用意してくれている方がいますのでそれをするのが良いでしょう。

私はhelmを利用しているのでemacs-helm-agを導入しました。
が、そのままでは動かなかったので少し変更を加えました。
もし動かない場合は以下を試してみてください。
zqwell/emacs-helm-ag ? GitHub

helm-ag の導入手順

git からソースを入手
$ cd ~/.emacs.d/public_repos/
$ git clone git://github.com/zqwell/emacs-helm-ag.git
設定
(add-to-list 'load-path (expand-file-name "~/.emacs.d/public_repos/emacs-helm-ag"))
(when (require 'helm-ag nil t)
  (setq helm-ag-base-command "ag --nocolor --nogroup --ignore-case --line-numbers")
  ;; (setq helm-ag-command-option "--all-text")
  )
使い方

参考URL