Found a curious thing while dealing with one usb-flash memories (mass storage device).

One of my new usb-flashes was not recognized (“unknown partition”) by st-linux (arch sh4, ker.2.6 on stx7100 board)

I looked in sources and found that problem is in the code that was “introduced” here as patch: http://kernel.org/pub/linux/kernel/p...checking.patch

There, code reads (first) p->boot_ind == 0x20 instead of 0x80 (as all others usb-memories I tried including usb-hdd’s)

While WXP works correctly with it !

I did format (FAT) usb-flash in WXP, and after, discovered that first p->boot_ind became 0x6F, second p->boot_ind - 0x69 and so on … When I remove MSBit checking, then linux discovers four devices sda1-sda3 and shows traces(smth. crash) after a while. Thats because this field is not zero - normal usb mass storage devices had (0x80,0,0,0)

I did format (FAT32) usb-flash in WXP – same values, nothing changed.

Again, in WXP PCs it works fine.

How could you interpret that? Where I can find any info on partition->boot_ind field? All I found that MSBit stands for active partition. What else?

Thanks in advance!