https://naba-san.hatenablog.com/


Ubuntu 10.04 で yaffs2 をマウントする (Ubuntu 10.04 カーネル再構築)

マウントしようとしたら『未知のファイルシステムです』という悲しいメッセージ‥
正直 yaffs2 の操作に何が必要なのかよく分かってない。本当にこの手順で良かったのか?

やること

次の手順を踏むと良いらしい。

Linux kernel の入手

# aptitude install kernel-package libncurses5-dev libqt3-mt-dev linux-source-2.6.32
# cd /usr/src
# tar xvjf linux-source-2.6.32.tar.bz2
# cd linux-source-2.6.32
# cp /boot/config-2.6.32-XX-generic .config *1
# make oldconfig

yaffs2 のソースコード入手&パッチ当て

# cd
# git clone git://www.aleph1.co.uk/yaffs2
# cd yaffs2
# make
# ./patch-ker.sh c m /usr/src/linux-source-2.6.32

カーネルの設定変更とコンパイル

# cd /usr/src/linux-source-2.6.32
# make menuconfig

Check: File systems > Miscellaneous file systems > yaffs2

# export CONCURRENCY_LEVEL=6 *2
# make-kpkg –initrd –revision=20120618 kernel_image kernel_headers
real 66m32.055s
user 158m44.450s
sys 24m52.390s

仮想マシンだと時間かかるなぁ‥メモリ足りないのかも。

カーネルのインストール

# dpkg -i linux-image-2.6.32.59+drm33.24 linux-headers-2.6.32.59+drm33.24 *3
# cd /boot
# mkinitramfs -o initrd.img-2.6.32.59+drm33.24 2.6.32.59+drm33.24 *4
# update-grub
# shutdown -r now

initrd.img の生成に失敗している等の理由で、再起動後にカーネルパニックが起きる事がある。
Grub の読み込み中に Shift キーを長押しし続けて起動メニューを表示させ、旧バージョンのカーネルで立ち上げて対処する。

モジュールの読み込みとイメージのマウント

# cd yaffs2
# make mi
# modprobe yaffs2multi
# mkdir /mnt/yaffs2
# mount -o loop -t yaffs2 ./yaffs2.img /mnt/yaffs2

配布物

使い方

1. linux-headers と linux-image をダウンロードし、適当な場所へ保存
2. 『カーネルのインストール
3. yaffs2 をダウンロードし、適当な場所へ保存、展開
4. 『モジュールの読み込みとイメージのマウント

*1:現在実行中のカーネルから設定を拾ってくる

*2:make実行時のスレッド数を指定

*3:生成されたパッケージ

*4:バージョン表記2箇所はパッケージ名に合わせて変更すること