Raspberry PI 2 : SDカードのパーティション拡張設定とEmacsビルド

Raspberry PiはOSをインストールすると、そのSDカードの容量によらずパーティションサイズが3GB になってしまうようで、Emacsビルドなど作業領域を確保をするためには、パーティション拡張が必要です。

というか何かしようと思ったらほぼ必須な気がするので、初期設定の一環ですね。HDMIでモニタ出している人はGUIでできるのかもしれないです。

sshからパーティションの拡張を行うには、下記を参考にさせていただきました。

サイズ拡張

ほとんど参考サイトそのままでできます。

  • df -h/dev/mmcblk0p1を確認する(デバイス名はp1手前まで)
  • fdiskでパーティションを作り直す
  • resize2fsでサイズ変更

自分のメモとして書いておくと、

まず、100%近くまで使われているディスク状況を確認して、mmcblk0があることを確認。

$ df -h
Filesystem     Size Used Avail Use% Mounted on
rootfs
...
/dev/mmcblk0p1  xxx  xxx   xxx xxx% xxxxxxxx

続いてfdisk

$ sudo fdisk /dev/mmcblk0

で、以下fdisk操作:

そして、一旦再起動して

$ sudo resize2fs /dev/mmcblk0p2

これで、完了。df -hなどで既存のパーティションが拡張されているか確認します。 非常にわかりやすい記事で助かりました。

Emacsビルド

Raspberryはやはりというかなんというか、Emacsは入っていません。pythonでもNode.jsでもコード書くのにEmacsは書かせません。入れます。

こちらの記事を参考にしました。

RaspberryPi - Raspberry PiでEmacs 24.5とCaskを使う - Qiita

GNUからEmacsの最新コードをとってきてビルドすればOKです。(僕はCaskは使っていません) 端末利用なので、--without-x付きでビルドするのがポイントです。

$ sudo apt-get install build-essential automake texinfo libncurses5-dev
$ wget http://ftp.gnu.org/pub/gnu/emacs/emacs-24.5.tar.xz
$ tar -Jxvf emacs-24.5.tar.xz
$ cd emacs-24.5
$ ./configure --without-x
$ make
$ sudo make install

作業領域を確保していないと、ビルドに失敗するので、上述のパーティション操作を行ってからビルドをすれば問題ないです。

ちなみに、emacsclientをX Systemでないところで使うには、まず下記を使ってEmacsの退避と復帰を覚えます。

  • Ctrl + Z : 一旦退避
  • fg : プロセス復帰

Serverさえ起動していれば、emacsclientで既に起動しているEmacsでファイルを開けます。毎回Emacsを起動していると、人によっては時間かかるので端末上でもemacsclientがオススメです。