日記的「駄目」プログラミング Yet Another Hacking Life

ext3からext4 no journaling modeへの変換

09.07.2011 · Posted in Linux, PandaBoard, 日記

PandaBoardの公式ページで紹介されているUbuntu 11.04は「ARM/OMAP – Ubuntu Wiki」からダウンロードできる。自分は11.04のHeadless Image(モニタやキーボードを使わない前提でX.orgなどが起動しないバージョン)を使っている。

で、このイメージでインストールされるUbuntuのファイルシステムはext3である。世の中的にはフラッシュメモリ用のファイルシステムならext4がいいんじゃね?って話なので変換してみる。また、ext4でも“no journaling mode”の方が速いらしいのでそちらにもチャレンジ。

これは作業メモです。参考記事をよく読んで理解してから作業することを推奨します。

作業はすべてターゲットのPandaBoardとは別のLinuxマシンで行う(自分の場合はiMacにインストールしたVMWare fusion上のUbuntu11.04)。Ubuntu11.04の場合、必要なツールはすべてインストールされているか、パッケージマネージャでインストールできる。

参考にしたのは、以下の2つの記事

作業対象

まず、パーティション構成と/dev上の位置

/dev/sdb – SDカード

/dev/sdb1 – ブートに使うFAT32パーティション。今回は触らない

/dev/sdb2 – Ubuntuがインストールされたext3パーティション。今回の作業対象

sdbについては、SDカードスロットの数によってsdcになったりsddになったりするので、各自の環境に合わせて。

ディスクのバックアップ

以降の作業はすべてディスクをアンマウントした状態で行う。

なにはなくともバックアップ。


sudo dd if=/dev/sdb of=~/PandaUbuntu11.04.img

ちなみに、試験用に別のSDカードを買って、そっちに上記イメージをレストアして実験しようかと思ったんだけど、ディスクサイズが微妙に小さくてレストアに失敗した。表示が同じ16GBでも容量はメーカと製品によって異なると言うのはSDカードもハードディスクも同じようだ。要注意である。しかたがないので普段の作業で使っているSDカードで試した。

ext4への変換


su tune2fs -O extents,uninit_bg,dir_index /dev/sdb2

sudo fsck -pf /dev/sdb2

これでext4への変換が完了。

no journaling modeにする


sudo tune2fs -O ^has_journal /dev/sdb2

これで完了。


sudo tune2fs -l /dev/sdb2

で、featuresに

fstabの書き換え

PandaBoardで起動する時にext4としてマウントするためにfstabを書き換える。


sudo mount -t ext4 /dev/sdb2 /media

#エディタでfstabを開き、ext3となっている部分をext4に書き換える

sudo vim /media/etc/fstab

これでSDカードをPandaBoardに挿して起動すれば、ext4 no journaling modeで起動する。

まとめ

特になし。まだパフォーマンステストもしていない。

Leave a Reply