2008.07.19
miniSDにLinuxパーティションを作成する手順メモ

------------------------------------------------------------------------

loopbackでrootfsをmountする方がずっと簡単で便利。
ただし手順が面倒な代わりに、Linuxパーティションを作成すると若干高速になる。

関連情報：
	PCはminiSDのパーティション1番しか認識しないようだ(・ω・)
	
	USBメモリを使用せずminiSDだけでも、パーティション作成と
	rootfsコピーは可能。ただし手順が増える。(・ω・)
	

------------------------------------------------------------------------

rootfsファイル準備
	PCでUSBメモリに以下のファイルをコピーする
		debian_arm_etch_rootfs.img
		modules.tgz
		その他キーマップ等必要なファイル
	
W-ZERO3本体に新しいminiSD(ここでは例として2GB)を挿す
	
zImage-standaloneカーネルを起動
	LinuxLoaderのパラメータは下記
		ImageFile = \My Documents\zImage
		CommandLine = fbcon=rotate:3
		MachineTypeも正しく設定すれば、keymapを自動読み込みする

パーティション作成
	rootでログイン
	fdisk /dev/mmnblk0
		詳しい使い方は m [enter]でヘルプが出るので参照すること
	
	既存パーティションを確認
		p [enter]
	
	既存パーティション削除
		d [enter]
			パーティションを番号で指定
	
	既存パーティションが無くなったことを確認
		p [enter]
		
	新規パーティション作成
		n [enter]
			p (primary)
			パーティション1番
			開始シリンダはデフォルト
			容量+200M
			WMとのファイル受け渡し用にする
			
		n [enter]
			p (primary)
			パーティション2番
			開始シリンダはデフォルト
			容量+1700M
			Linuxのrootfsにする
			
		n [enter]
			p (primary)
			パーティション3番
			開始シリンダ・最終シリンダ共デフォルト
			Linuxのswapにする
	
	パーティションID修正
		t [enter]
			パーティション1番を6(FAT16)にする
		t [enter]
			パーティション3番を82(Linux swap)にする
	
	作成したパーティションを確認
		p [enter]
			パーティション1番がFAT16
			パーティション2番がLinux
			パーティション3番がLinux swap
	
	DOS互換フラグ設定
		c [enter]
			何だか分からないけどDOS Compatibility flag is setにしておく？
			(cを指示する毎にsetとnot setを繰り返す)
			
	パーティション情報を書き込み終了
		w [enter]
			
	パーティションをフォーマット
		mkfs.ext3 /dev/mmcblk0p2
		mkswap /dev/mmcblk0p3
	
	miniSDをmount
		mkdir /newroot
		mount /dev/mmcblk0p2 /newroot
	
	USBメモリからdebian_arm_etch_rootfs.imgをmount
		USBメモリを挿す(自動で/dev/sdaとして認識されるはず)
		mkdir /fat /tmproot
		mount /dev/sda1 /fat
		mount -o loop /fat/debian_arm_etch_rootfs.img /tmproot
	
	rootfs展開、モジュール展開
		tar c -C /tmproot . | tar x -C /newroot
		tar xzf /fat/modules.tgz -C /newroot
	
	後片付け
		umount /newroot
		umount /tmproot
		losetup
			使用中のloopbackデバイスを確認
		losetup -d /dev/loop0
			loopbackデバイスを破棄(ここでは/dev/loop0と仮定)
			これをやらないと/fatをumountできない
		umount /fat
		USBメモリを抜く
	
再起動
	reboot

Linuxを起動
	LinuxLoaderのパラメータは下記
		ImageFile = \My Documents\zImage
		CommandLine = fbcon=rotate:3 root=/dev/mmcblk0p2
	
	好きなように遊ぶ(・ω・)
	
	/etc/fstabを修正しておくとよい
		/dev/mmcblk0p1を/以外(例：/wm)に変更、オプションnoauto付ける？
		/dev/mmcblk0p2を/にする
		/dev/mmcblk0p3をswapにする(fstabに書いておくと自動認識するはず)
		修正後は再起動


# 2008.12.03。
#   28行目ファイル名変更: "zImage-standalone" → "zImage"
#   123行目誤記修正: "ROOT=" → "root="

--
zaki <http://llwm.xii.jp/wiki/wiki.cgi>
