Network Users' Group ``wheel'' / Dai ISHIJIMA's Page / SL Zaurus関連 /
Zaurus with *BSD / パーティションの作成

初版: 2005-01-26
最終更新日: 2005-02-01


OpenBSD/zaurus用パーティションの作成


●工場出荷時パーティション

工場出荷時(初期化後)のディスク容量とパーティションは おおむね以下のようになっています。 (実際には、初期化したりターミナルその他をインストールしているので、 工場出荷時のものとは若干異なります。)
	# df
	Filesystem           1k-blocks      Used Available Use% Mounted on
	rootfs                    5120      5120         0 100% /
	/dev/root                 5120      5120         0 100% /
	/dev/mtdblock3            4096      2476      1620  60% /home
	/dev/ram1                   44        29        15  66% /dev
	none                      1024        44       980   4% /dev/shm
	/dev/hda1                99521     50360     44022  53% /hdd1
	/dev/hda2               398282      9307    368412   2% /hdd2
	/dev/hda3              3478852       192   3478660   0% /hdd3
	# fdisk /dev/hda
	
	The number of cylinders for this disk is set to 7936.
	There is nothing wrong with that, but this is larger than 1024,
	and could in certain setups cause problems with:
	1) software that runs at boot time (e.g., old versions of LILO)
	2) booting and partitioning software from other OSs
	   (e.g., DOS FDISK, OS/2 FDISK)
	
	Command (m for help): p
	
	Disk /dev/hda: 4095 MB, 4095737856 bytes
	16 heads, 63 sectors/track, 7936 cylinders
	Units = cylinders of 1008 * 512 = 516096 bytes
	
	   Device Boot    Start       End    Blocks   Id  System
	/dev/hda1             1       204    102784+  83  Linux
	/dev/hda2           205      1020    411264   83  Linux
	/dev/hda3          1021      7936   3485664    c  Win95 FAT32 (LBA)
	/dev/hda4             1         1         0    0  Empty
	Partition 4 does not end on cylinder boundary.
	
	Command (m for help): 
OpenBSD/zaurusをインストールするには、 /dev/hda3を小さくして、 空いた部分をOpenBSD用として/dev/hda4に割り当てるのがいいでしょう。 ここで、fdiskの「d」コマンドで/dev/hda3を解放して、 あらためて「n」コマンドで/dev/hda3を(小さい容量で)割り当てようとしても なぜかうまくいきません。
	Command (m for help): d
	Partition number (1-4): 3

	Command (m for help): n
	Command action
	   e   extended
	   p   primary partition (1-4)
	p
	Selected partition 4
	First cylinder (1021-7936, default 1021): 
このあたりのことは、「SL-C3000でスワップ領域を確保する方法」 などを解説しているページでも書かれています。 これは、「fdisk 2.11g-5」を使えば解決するらしいので、 それをインストールしましょう。

「fdisk 2.11g-5」は、 りなざうテクノウ (http://www.areanine.gr.jp/~nyano/) の SLザウルス用ソフト&データ (http://www.areanine.gr.jp/~nyano/download.html#fdisk) からダウンロードするといいでしょう。


●作業の前にバックアップ

今回は、/dev/hda3(/hdd3)を消してしまうので、
	# cd /hdd3
	# tar cf - . | gzip > /mnt/card/hdd3.tgz
としました。 お使いの環境にあわせて、 バックアップをとってから作業するといいでしょう。


●パーティション変更

まず、
	# umount /hdd3
で/dev/hda3をアンマウントします。 次に、インストールしたfdisk(/usr/sbin/fdisk)を使い、 「d」サブコマンドで/dev/hda3を解放します。
	# /usr/sbin/fdisk /dev/hda

	The number of cylinders for this disk is set to 7936.
	There is nothing wrong with that, but this is larger than 1024,
	and could in certain setups cause problems with:
	1) software that runs at boot time (e.g., old versions of LILO)
	2) booting and partitioning software from other OSs
	   (e.g., DOS FDISK, OS/2 FDISK)

	Command (m for help): p

	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       204    102784+  83  Linux
	/dev/hda2           205      1020    411264   83  Linux
	/dev/hda3          1021      7936   3485664    c  Win95 FAT32 (LBA)

	Command (m for help): d
	Partition number (1-4): 3
ここで「p」サブコマンドで確認すると、
	Command (m for help): p

	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       204    102784+  83  Linux
	/dev/hda2           205      1020    411264   83  Linux
のようになります。

次に「n」サブコマンドでパーティションを割り当てます。 ここでは、 1021シリンダから4000シリンダまでを/dev/hda3、 残りを/dev/hda4としています。 みなさんが割り当てる際は、どういう使い方をするか (FAT領域に必要な容量はどれくらいか) を考えて、ご自分の用途にあった割り当てにしてください。

	Command (m for help): n
	Command action
	   e   extended
	   p   primary partition (1-4)
	p
	Partition number (1-4): 3
	First cylinder (1021-7936, default 1021): 
	Using default value 1021
	Last cylinder or +size or +sizeM or +sizeK (1021-7936, default 7936): 4000
	Command (m for help): n  
	Command action
	   e   extended
	   p   primary partition (1-4)
	p
	Partition number (1-4): 4
	First cylinder (4001-7936, default 4001): 
	Using default value 4001
	Last cylinder or +size or +sizeM or +sizeK (4001-7936, default 7936): 
	Using default value 7936
割り当て直後は、
	Command (m for help): p

	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       204    102784+  83  Linux
	/dev/hda2           205      1020    411264   83  Linux
	/dev/hda3          1021      4000   1501920   83  Linux
	/dev/hda4          4001      7936   1983744   83  Linux
のように、Linuxパーティションになっています。 次に、「t」サブコマンドで、 /dev/hda3をFAT(0x0C)、/dev/hda4をOpenBSD(0xA6)とします。
	Command (m for help): t
	Partition number (1-4): 3
	Hex code (type L to list codes): c
	Changed system type of partition 3 to c (Win95 FAT32 (LBA))
	Command (m for help): t  
	Partition number (1-4): 4
	Hex code (type L to list codes): a6
	Changed system type of partition 4 to a6 (OpenBSD)
最後に「p」サブコマンドで確認してから、 「w」サブコマンドで書き込みます。
	Command (m for help): p

	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       204    102784+  83  Linux
	/dev/hda2           205      1020    411264   83  Linux
	/dev/hda3          1021      4000   1501920    c  Win95 FAT32 (LBA)
	/dev/hda4          4001      7936   1983744   a6  OpenBSD

	Command (m for help): w
	The partition table has been altered!

	Calling ioctl() to re-read partition table.
	Re-read table failed with error 16: Device or resource busy.
	Reboot your system to ensure the partition table is updated.

	WARNING: If you have created or modified any DOS 6.x
	partitions, please see the fdisk manual page for additional
	information.
	Syncing disks.


●FATパーテョション初期化

fdiskが終わったら、mkfs.vfatコマンドで/dev/hda3を初期化しておきます。
	# /sbin/mkfs.vfat /dev/hda3
	mkfs.vfat 2.8 (28 Feb 2001)


●再起動してリストア

ここまでの作業が終わったところで、
	# shutdown -r now
してから、
	# cd /hdd3
	# zcat /mnt/card/hdd3.tgz | tar xvf -
でリストアしておきました。