初期化&ext3化

しくじりました。
feedを設定したのをいいことにSL-C3100に適当に放り込みまくったら起動しなくなりました。
1分程度お待ちください…のままだんまり。

とりあえずD+B押しながらリセットかけてメンテナンスカーネルで起動すればどうにかできるのではとやってみてもどうにもできず。

仕方ないのでtarで/dev/mtdblock3を/hdd3にごっそりバックアップしてリカバリすることに。
一応念のためマニュアルに目を通すと、データ領域も問答無用でごっそり削除されるってあります…orz

となると何かしらのメディアにバックアップしなければなりません。ネットワーク経由でバックアップするにもメンテナンスカーネルではUSBネットワークも無線LANも使用不能の様子。
SDカードはマウント可能。というか通常カーネルと同じように自動マウントされてます。

SDカードへバックアップできると言うことでファイルの洗い出し。HDDの中身は大半が実質プリインストールのものなのでほとんど削除して構わないのですが、手っ取り早く復旧するためになるべくそのままコピーで済ませたいのです。

手持ちのカードが実質760MBの1G*1なのでそれに収まるようにと削っていくと、辞書データとモバイルマップNAVIの地図を削った状態でまるごとバックアップ完了。

念のためSDカードのバックアップデータを母艦にコピーして内容を確認した後、メンテナンスメニューからフォーマットを実行。

無事Qtopiaが起動するようになりました。ひとまずqpe-embeddedkonsole-jaやらcoreutilsやらインストール。

ここでバックアップから復旧するわけですが、その前にせっかくだからと前々から温めていた/hdd3のext3化を敢行。加えて/dev/hda4に128MBほどのスワップパーティションも切ってみました。

/root/etc/rc.d/rc.rosysfileも修正していざ再起動。

HDD3 error!orz
思い出してみると、rc.rosysfileを編集する際に、何を血迷ったか/dev/hda3のファイルシステムとしてjffs2を指示していました。メンテナンスカーネルでmtdblock3をマウントするのに何度もjffs2使ってたので間違えてしまったようです。

とりあえずメンテナンスカーネルで起動。viが使えることがわかったので/dev/mtdblock2をマウントしてviで/root/etc/rc.d/rc.rosysfileを開こうとするとフリーズ。

どうしようかという前にHDD3 error!と出てるところでC-c押したらなんか先進んでしまいました(汗)
途中NetFront3.1はSL-C3100以外では使えません云々なんて言うメッセージが出たもののそのままQtopia起動。
/hdd3にマウントされていない以外は問題なさそうなのでそのままrc.rofilesysを修正。
ついでになんとなくtmpfsを2MBに拡張。vfat→ext3に書き換える部分はフォーマット時のmke2fsと起動時のmountで2箇所かと思ったらまったく同じものがいくつも…。

保存して再起動かけると無事ext3としてマウントされた状態で起動しました。

とりあえず今はDocuments以下をtarアーカイブから復旧して今は辞書やら地図やら復旧中。
環境や設定ファイル等についてはmtdblock3のバックアップから戻すこともできないのでとりあえず展開してちびちび戻していきます。

最後に何となくrc.rofilesysの差分とパーティションテーブル載っけてみます。

#fdisk /dev/hda
Disk /dev/hda: 16 heads, 63 sectors, 7936 cylinders
Units = cylinders of 1008 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 20 10048+ 83 Linux
/dev/hda2 21 40 10080 83 Linux
/dev/hda3 41 7688 3854592 83 Linux
/dev/hda4 7689 7936 124992 82 Linux swap

#diff /root/etc/rc.d/rc.rofilessy /root/etc/rc.d/rc.rofilesys.bak
61c61< mount -t tmpfs -o size=2m none /dev/shm

    • -

> mount -t tmpfs -o size=1m none /dev/shm
84c84< mke2fs $MKE2FSOPT /dev/${IDE1}3 2> /dev/null > /dev/null

    • -

> mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
105c105< mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd3

    • -

> mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
158c158< mount -t tmpfs -o size=2m none /dev/shm

    • -

> mount -t tmpfs -o size=1m none /dev/shm
203c203< mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd3

    • -

> mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
230c230< mount -t tmpfs -o size=2m none /dev/shm

    • -

> mount -t tmpfs -o size=1m none /dev/shm
265c265< mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd3

    • -

> mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3

*1:SL-C750時代にext2とvfatでパーティション切ったきりそのまま