Friday, 4 March 2011

OpenBSD: Formatting Disks

This note shows how to identify and format a disk using OpenBSD.

Tools

fdisk - partition table editor
disklabel - BSD partition editor
newfs - formatter

Steps

1. Identify name of new disk, for example, insert a USB stick, then type 'dmesg'
scsibus0 at umass0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: SCSI2 0/direct removable
sd0: 1000MB, 512 bytes/sec, 2048000 sec total
2. Allocate the whole disk to BSD

This is done so that if it is used in another operating system, it will be pre-allocated. This is done using fdisk. You can select 'help' at any time. You may wish to remove existing partitions, such as ones associated with Windows / Fat32 etc - if so, simply change the partition type to 0 using the edit command.
# fdisk -e sd0
fdisk: 1> edit 3
Partition id ('0' to disable) [0 - FF]: [0] (? for help) A6
Do you wish to edit in CHS mode? [n]
offset: [0]
size: [0] *
fdisk:*1> w
Writing MBR at offset 0.
fdisk: 1> q

# fdisk sd0
Disk: sd0 geometry: 127/255/63 [2048000 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: A6 0 0 1 - 127 122 59 [ 0: 2048000 ] OpenBSD

3. Create a whole partition on the disk with disklabel (the * means whole disk):
# disklabel -E sd0
> a
partition: [a]
offset: [0]
size: [2048000] *
FS type: [4.2BSD]
> w
> x
4. Format the disk:
# newfs sd0a
/dev/rsd0a: 1000.0MB in 2048000 sectors of 512 bytes
5 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each super-block backups (for fsck -b #) at:
32, 414688, 829344, 1244000, 1658656,
5. Add an entry in the fstab file
/dev/sd0a /mnt/usb ffs rw,nodev,nosuid 1 2
6. Mount the disk

This will be done automatically on boot, however the first time, the following commands should be used.
# mkdir /mnt/usb
# mount /mnt/usb

No comments:

Post a comment