pdaXromメモ1
以下の方法では、swapの作成・swap有効化は大丈夫ですが、FAT領域のフォーマットがうまくいかないようです。原因はわかりませんが、現在調査中です。実際に試そうと思われる方はご注意願います。
ところが、SDカードにswapファイルを作成したりアプリをインストールする場合はext3ですね。
欲張ってこれらを同時にするため、SDカードに2つのパーティションを作りそれぞれFAT・ext3でフォーマットし、ext3領域にswapファイルを作成することにしました。
・・・しかし、久しくLinuxなど触ってなくてすっかりコマンド忘れてました。 OTL
このままだとまた忘れそうなのでココにメモしておきます。
1.まずC860にSDを挿して好みのターミナルから以下のコマンドを実行し、パーティションを作ります。
umount /mnt/card
fdisk /dev/mmcd/disc0/disc
n (新しい区画を作成)
p (区画テーブルの表示)
1 (1つ目のパーティション)
default (defaultを選択する)
+300M (区画の先頭から300MBの大きさにする)
n (新しい区画を作成)
p (区画テーブルの表示)
2 (1つ目のパーティション)
default (defaultを選択する)
default (defaultを選択する。つまりSD全容量から300MBを引いた残り全部)
w (テーブルを書き込んで終了)
2.フォーマット(300MBの方をFATにしました)
mkfs.msdos /dev/mmcd/disc0/part1
mkfs.ext3 /dev/mmcd/disc0/part2
3.マウントポイントは、元から作成されている/mnt/cardの方にFATでフォーマットした/dev/mmcd/disc0/part1をマウントします。ext3でフォーマットした/dev/mmcd/disc0/part2の方は新たにマウントポイントを作成します。
mkdir /mnt/ext3
4.ext3でフォーマットした/dev/mmcd/disc0/part2にスワップファイルを作成します(32MBのスワップファイルにしました)
まずmountします
mount /dev/mmcd/disc0/part2 /mnt/ext3
んでスワップファイル.swapを作成
dd if=/dev/zero of=/mnt/ext3/.swap bs=512 count=65536
mkswap /mnt/ext3/.swap
これであとは
mount /dev/mmcd/disc0/part1 /mnt/card
swapon /mnt/ext3/.swap
とすれば、FATもext3もマウントされswapが有効な状態になります。
5.SDカードを挿したとき自動でマウントしてswapを有効にする設定
手動でやる場合は、
mount /dev/mmcd/disc0/part1 /mnt/card
mount /dev/mmcd/disc0/part2 /mnt/ext3
swapon /mnt/ext3/.swap
とコマンドを打ち込めばいいのですが、ものぐさなのでSDを挿入したら自動でこのコマンドを実行するように設定しておきます。
まず、Leafpadなどのエディタで/etc/sdcontrolを開きます。
そして、insertの最後の部分に・・・具体的には以下の部分にコマンドを記述します(記述する部分は赤で表示)
case "$ACTION" in
'insert')
MOUNT_RES='mount | gep $DEVICE
(中略)
fi
mount /dev/mmcd/disc0/part2 /mnt/ext3
swapon /mnt/ext3/.swap
;;
'eject')
記述したら保存してLeafpadを終了します。これでSDを挿入したら自動的にfatとext3のパーティション両方をマウントしswaponにしてくれます。
6.SDを取り外すときは・・・
手動でやるなら
swapoff /mnt/ext3/.swap
umount /mnt/ext3
umount /mnt/card
でSDを取り外せる状態になります。
面倒なので自動化しようかとも考えたのですけど、データ交換以外での抜き差しはないことと自動化した際にトラブルがあると面倒なので、swapoffするためのアイコンとumountするアイコンをデスクトップに作りました。
(Swapだけoffにする状態が必要になるかもしれませんし)
Leafpadなどのエディタで/usr/share/applications/にある既存の.desktopファイルどれでも適当に開いて下記のように編集し、sd_swapoff.desktopなどのわかりやすいファイル名にして保存します。
[Desktop Entry]
Name=sd_swapoff
Comment=sd_swapoff
Exec=swapoff /mnt/ext3/.swap
Terminal=0
Type=Application
Icon=cards.png
Categories=Application;SystemSettings
StartupNotify=True
SingleInstance=False
さらに同様にして
Exec=umount /mnt/ext3
としたものをsd_umount.desktopなどとして保存します。
以上の作業で、デスクトップにsd_swapoff.desktopとsd_umount.desktopのアイコンが出現します。あとはswapだけ解除したいならsd_swapoffのアイコンをタップすればいいし、SDを取り出すときはsd_swapoffとsd_umountのアイコンをタップした後にタスクバーのCF/SD Monitorアイコンをタップすれば終了。安全で簡単です。


Comments