色々インストールすると、結構すぐに一杯になってしまいます。
Internal Memory Cardは2GBもあるのに…と悔しがっていたら、KimitakeさんがInternal Memory Cardをルートファイルシステムにする方法を教えてくださいました。(感謝!)
以下の3つのサイトを参考にしつつ、実際に試してみます。
Boot from MMC for N800 - Kimitake's blog
http://kimitakeblog.net/item/500
Booting from a flash card - maemo.org wiki
http://wiki.maemo.org/Booting_from_a_flash_card
Partitioning a flash card - maemo.org wiki
http://wiki.maemo.org/Partitioning_a_flash_card
この先の手順で使用するいくつかのパッケージはデフォルトで設定されているリポジトリには入っていないものがあります。なので以下のリポジトリをパッケージマネージャから追加しておいてください。
Catalogue name : Maemo Chinook
Web address : http://repository.maemo.org/
Distribution : chinook
Components : free non-free
Web address : http://repository.maemo.org/
Distribution : chinook
Components : free non-free
ついでにmaemo ExtrasもDisabledのチェックを外しておきましょう。
ここから先、全ての作業はrootで実施してください。
rootの取得はopensshをインストールするのが一番簡単だと思います。
(作業もみんなリモートから出来ますし)
まずはパーティショニングのためにe2fsprogsをインストールします。
apt-get install e2fsprogs
パーティショニングの対象となるInternal Memory Cardをumountします。中身はきれいさっぱり消してしまうので、必要なファイルがあれば別の場所にコピーしておくのをお忘れなく。
umount /dev/mmcblk0p1
ではパーティションを切りましょう。
sfdisk /dev/mmcblk0
するとディスクの現状態が表示され、最後に
/dev/mmcblk0p1 :
と表示されていると思います。これが第1パーティションの設定プロンプトになります。第1パーティションは512MBのVFATにしたいので、以下のとおり入力します。
太字の部分が入力した内容です。/dev/mmcblk0p1 :1,16384,6
/dev/mmcblk0p1 1 16384 16384 524288 6 FAT16
同様に第2パーティションも設定します。こちらは残り(約1.5GB)のext2です。
第3、第4パーティションは設定しないので何も入力せずにEnterを押してください。私の環境だと何故か第3パーティションが出来てしまうんですが、気にしないことにしています。/dev/mmcblk0p2 :16385,,
/dev/mmcblk0p2 16385 61439 45055 1441760 83 Linux
最後にディスクに書いていいか聞かれますので、yを入力します。
Do you want to write this to disk? [ynq] y
これでパーティショニングは完了したので、一度再起動します。
reboot
第1パーティションは自動でマウントされている(はず)ので、umountします。
umount /dev/mmcblk0p1
先ほど作成したパーティションをフォーマットします。
mkdosfs /dev/mmcblk0p1
mke2fs /dev/mmcblk0p2
mke2fs /dev/mmcblk0p2
続いてbootmenuをインストールします。
まずはインストールで必要になるwgetとtarをインストールしましょう。(tarは標準で入っているbusyboxのものだとうまく行かないのでこちらのバイナリを使用します)
apt-get -y --force-yes install wget
mkdir -p /home/user/bin
cd /home/user/bin
wget http://www.nmacleod.com/nokia/bin/tar
chmod +x tar
mkdir -p /home/user/bin
cd /home/user/bin
wget http://www.nmacleod.com/nokia/bin/tar
chmod +x tar
bootmenuをダウンロードし、ファイルを展開します。
cd /home/user/bin
wget http://fanoush.wz.cz/maemo/initfs_flasher.tgz
tar zxvf initfs_flasher.tgz
cd /home/user/bin/initfs_flasher/
wget http://fanoush.wz.cz/maemo/initfs_flasher.tgz
tar zxvf initfs_flasher.tgz
cd /home/user/bin/initfs_flasher/
bootmenuをカスタマイズするために、設定ファイルを記述します。
cp bootmenu.conf.n8x0.example bootmenu.conf
vi bootmenu.conf
vi bootmenu.conf
内容はこんな感じにしました。
(先々を考えてExternal memory cardからもboot出来るようにしてます)
# bootmenu customisation file
# timeout for automatic selection when no key is pressed
MENU_TIMEOUT=3
# menu items
MENU_MIN=1 # first item index
#no need to redefine
#MENU_1_NAME="Internal flash"
#MENU_1_ID="flash"
MENU_2_NAME="Internal MMC card, partition 2, ext2"
MENU_2_ID="mmc2"
MENU_2_DEVICE="${INT_CARD}p2"
MENU_2_MODULES="mbcache ext2"
MENU_2_FSTYPE="ext2"
MENU_2_FSOPTIONS="noatime"
[ -d "/sys/block/${INT_CARD}/${MENU_2_DEVICE}" ] || MENU_2_NAME="(${MENU_2_NAME}) N/A"
MENU_3_NAME="External MMC card, partition 2, ext3"
MENU_3_ID="mmc1"
MENU_3_DEVICE="${EXT_CARD}p2"
MENU_3_MODULES="mbcache jbd ext3"
MENU_3_FSTYPE="ext3"
MENU_3_FSOPTIONS="noatime" #",data=writeback"
[ -d "/sys/block/${EXT_CARD}/${MENU_4_DEVICE}" ] || MENU_4_NAME="(${MENU_4_NAME}) N/A"
MENU_4_NAME="Power off (when not on charger)"
MENU_4_ID="off"
#last item index, change if you add/remove items
MENU_MAX=4
# timeout for automatic selection when no key is pressed
MENU_TIMEOUT=3
# menu items
MENU_MIN=1 # first item index
#no need to redefine
#MENU_1_NAME="Internal flash"
#MENU_1_ID="flash"
MENU_2_NAME="Internal MMC card, partition 2, ext2"
MENU_2_ID="mmc2"
MENU_2_DEVICE="${INT_CARD}p2"
MENU_2_MODULES="mbcache ext2"
MENU_2_FSTYPE="ext2"
MENU_2_FSOPTIONS="noatime"
[ -d "/sys/block/${INT_CARD}/${MENU_2_DEVICE}" ] || MENU_2_NAME="(${MENU_2_NAME}) N/A"
MENU_3_NAME="External MMC card, partition 2, ext3"
MENU_3_ID="mmc1"
MENU_3_DEVICE="${EXT_CARD}p2"
MENU_3_MODULES="mbcache jbd ext3"
MENU_3_FSTYPE="ext3"
MENU_3_FSOPTIONS="noatime" #",data=writeback"
[ -d "/sys/block/${EXT_CARD}/${MENU_4_DEVICE}" ] || MENU_4_NAME="(${MENU_4_NAME}) N/A"
MENU_4_NAME="Power off (when not on charger)"
MENU_4_ID="off"
#last item index, change if you add/remove items
MENU_MAX=4
initfsを作成します。
./initfs_flash
途中で色々聞かれますが、全部yesと答えてしまってOKです。
作成にはそこそこ時間がかかります。のんびり待ちましょう。
最後にrebootを求められるので、素直に従いましょう。
再起動したら、デフォルトのブートデバイスを設定します。
chroot /mnt/initfs cal-tool --set-root-device ask:mmc2
内蔵メモリにある現在のシステムを全てInternal memory cardにコピーします。
mkdir /mnt/mmc2
mkdir /mnt/internal
mount /dev/mmcblk0p2 /mnt/mmc2
mount -t jffs2 /dev/mtdblock4 /mnt/internal
/home/user/bin/tar cf - -C /mnt/internal . | /home/user/bin/tar xvf - -C /mnt/mmc2
mkdir /mnt/internal
mount /dev/mmcblk0p2 /mnt/mmc2
mount -t jffs2 /dev/mtdblock4 /mnt/internal
/home/user/bin/tar cf - -C /mnt/internal . | /home/user/bin/tar xvf - -C /mnt/mmc2
コピーが終わったらumountして再起動しましょう。
umount /mnt/mmc2
umount /mnt/internal
rmdir /mnt/mmc2 /mnt/internal
reboot
umount /mnt/internal
rmdir /mnt/mmc2 /mnt/internal
reboot
うまく行っていれば再起動後にbootmenuが出てくるはずです。
Internal MMC card, partition 2, ext2を選択してEnterを押してください。
(押さなくても3秒でタイムアウトして起動してくるはずですが)
さて、ルートファイルシステムが大きくなったか確認してみましょう。
こんな感じに表示されればOKです。(他にもいろいろ出ますが)df -h
/dev/mmcblk1p2 1.4G 245.6M 1.0G 19% /
ちょっと気になる事が1つ。内蔵→Internal Memory Cardとシステムを移動すると、ディスクの使用量が倍くらいに跳ね上がってしまうんです。これってファイルシステムのブロックサイズの問題とか、そういう理由なんですかね?まぁそれを補って余りあるくらいパーティションサイズは大きくなるのでいいんですけど。
上記の作業中、もし運悪くN810が起動しなくなってしまった場合(私も一度なりました)は、慌てず騒がず本体の初期化をしましょう。初期化用のツール(本来の用途はSoftware Updater)は以下で提供されています。
Nokia USA - Software update - Nokia N810 support
http://www.nokiausa.com/A4686323
ツールをダウンロードしてインストールしたら、
1.N810の電源を切る(切れなければ電池抜く)
2.十分に充電したらACアダプタを外す
3.Software Update Wizardを導入したPCにUSBケーブルで接続する
4.Swapキー(左側の四角が2つ重なったアイコンのヤツ)を押しながら電源ON
5.PC側でSoftware Update Wizardを起動する
6.指示に従ってアップデート開始
とすれば元に戻ります。Don't panic!
ちなみに戻しの手順はいつもこちらのページを参考にさせていただいております。(感謝!)
サルにもわかるN810(OSアップデート) - 一口! - Yahoo!ブログ
http://blogs.yahoo.co.jp/hinoe_uma66/12835323.html
Enjoy! ;-)
しかし、トラバいただいたYahoo!ブログはだいぶ前から競馬予想専門にしており、週1ぐらいの更新しかしていません。
N810を含めたデジモノネタは、はてなの
「丙午1966」
に移動しておりますので、ぜひそちらもよろしくお願いします。
でも最近はN810ネタはさっぱりですが、、、(^^);
コメントありがとうございます!
引っ越しされたのは存じ上げていたのですが、このページには何度も救われているため、覚え書き代わりにトラックバックさせていただきました。
ちなみにあの記事の最初のコメントを書いたのは私です。ホントその節はお世話になりました。(笑)
でも無事拡張できてよかったですね。これでアプリ入れ放題。
お役に立てたようで何よりです。
私は最近全然電源すら入れてあげてない状態です…。
ちゃんと活用してあげないとなぁ。