Create partitions
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x817cb84a.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): DOS Compatibility flag is not set

Command (m for help): Changing display/entry units to sectors

Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First sector (64-102399, default 64): Using default value 64
Last sector, +sectors or +size{K,M,G} (64-102399, default 102399):
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First sector (20544-102399, default 20544): Using default value 20544
Last sector, +sectors or +size{K,M,G} (20544-102399, default 102399):
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First sector (41024-102399, default 41024): Using default value 41024
Last sector, +sectors or +size{K,M,G} (41024-102399, default 102399):
Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Selected partition 4
First sector (61504-102399, default 61504): Using default value 61504
Last sector, +sectors or +size{K,M,G} (61504-102399, default 102399): Using default value 102399

Command (m for help): First sector (61568-102399, default 61568): Using default value 61568
Last sector, +sectors or +size{K,M,G} (61568-102399, default 102399):
Command (m for help): First sector (71872-102399, default 71872): Using default value 71872
Last sector, +sectors or +size{K,M,G} (71872-102399, default 102399):
Command (m for help): First sector (82176-102399, default 82176): Using default value 82176
Last sector, +sectors or +size{K,M,G} (82176-102399, default 102399): Using default value 102399

Command (m for help):
Disk /dev/sdb: 52 MB, 52428800 bytes
32 heads, 32 sectors/track, 100 cylinders, total 102400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 32768 bytes
Disk identifier: 0x817cb84a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              64       20543       10240   83  Linux
/dev/sdb2           20544       41023       10240   83  Linux
/dev/sdb3           41024       61503       10240   83  Linux
/dev/sdb4           61504      102399       20448    5  Extended
/dev/sdb5           61568       71807        5120   83  Linux
/dev/sdb6           71872       82111        5120   83  Linux
/dev/sdb7           82176      102399       10112   83  Linux

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

Calling ioctl() to re-read partition table.
Syncing disks.
Alignment offsets:
0
0
0
0
0
0
0
