Subject: bug#20746: problem with non-LBA fat16

From: Phil Susi <[email-masked]>
Date: Tue, 09 Jun 2015 14:21:07 -0400

On 6/5/2015 1:36 PM, George Hicken wrote:
> Requested output prior to partitioning
>
> Error: /dev/sdb: unrecognised disk label
> Error: /dev/sdb: unrecognised disk label
> Error: /dev/sdb: unrecognised disk label
> Model: VMware Virtual disk (scsi)
> Disk /dev/sdb: 8590MB
> Sector size (logical/physical): 512B/512B
> Partition Table: unknown
> Disk Flags:
> Model: VMware Virtual disk (scsi)
> Disk /dev/sdb: 16777216s
> Sector size (logical/physical): 512B/512B
> Partition Table: unknown
> Disk Flags:
> Model: VMware Virtual disk (scsi)
> Disk /dev/sdb: 1044,85,0
> Sector size (logical/physical): 512B/512B
> BIOS cylinder,head,sector geometry: 1044,255,63.  Each cylinder is 8225kB.
> Partition Table: unknown
> Disk Flags:

What are the exact commands that lead to this?  What does parted 
/dev/sdb print show?  What does fdisk show?

> Using the parted supplied with tinycorelinux 6.x (reports as 3.1) to create

Please try again with 3.2.

> an MBT, create a primary fat16 parition with non-lba addressing
>     /usr/local/sbin/parted -a cylinder -s /dev/sdb --  mklabel msdos mkpart
> primary fat16 1cyl 40MiB

Do you mean to say that this is the command that produced the above output?

> This produces a partition of type 0xe, but otherwise it's what we want -
> interestingly parted print command doesn't detail the parition type, it's
> all blank. Using "set 1 lba off" then does something entirely unexpected.
> Using fdisk to inspect the partition table the type has switched to 0x83.
>
> I took a quick look at the code and 0x83 appears to be the default fstype
> if none is set. Why this happens when setting lba off on a fat16 partition
> I have no idea.

This is because as you noted, 0x83 is the default type.  Since you did 
not actually format a fat16 filesystem within the partition, parted 
can't detect any filesystem there and so does not know that it should 
use the type code for fat16.