On 1/29/21 11:09 PM, Andy Shevchenko wrote:
On Fri, Jan 29, 2021 at 11:39 PM Heinrich Schuchardt <xypron.g...@gmx.de> wrote:
On 1/29/21 10:05 PM, Andy Shevchenko wrote:
On Fri, Jan 29, 2021 at 9:28 PM Tom Rini <tr...@konsulko.com> wrote:
On Mon, Dec 28, 2020 at 08:27:49PM +0200, Andy Shevchenko wrote:
On Mon, Dec 28, 2020 at 06:50:39PM +0100, Pali Rohár wrote:

...

The case I got into has been achieved by very standard procedures. Hence it's
kinda default behaviour in some cases and should be handled accordingly. The
patch proposed here is to cover this in the U-Boot, because real fix has been
rejected by maintainer (probably I failed to explain that). But this is still
bug in U-Boot for such cases. And again, Linux has an offset option. I'm fine
if this can be added to the fat* commands in the U-Boot.

Sorry, what is the real fix that was rejected again?  Thanks!

I probably misspelled the state of the affairs. The direction (*) of
how to fix this had been rejected.

*) the idea is to fix fat support code to consider nested MBRs.


Hello Andy,

could you, please, provide an image created by Windows but not
recognized by U-Boot. According to the thread the first 1 MiB should be
enough to reproduce the problem. Maybe place it on gist.github.io.

This should give us the test case for correcting disk/part_dos.c.

I already shared this, it's still there [1].

[1]: https://gist.github.com/andy-shev/469aef8dfcd8f5605cb8992cf5958769



The gist contains 4 files:
image-file.gz
mac-nvme-0x2001-disk-image.bin
mmc-fat-part.gz
'Test FAT32 Image'

Which one exposes the problem?

I had no problem reading the directory of the images provided in the
gist using U-Boot:

=> host bind 0 /tmp/mmc-fat-part
=> ls host 0:0

0 file(s), 0 dir(s)

=> host bind 1 /tmp/image-file
=> ls host 0:1
            System Volume Information/
       23   New Text Document.txt
            $RECYCLE.BIN/

1 file(s), 2 dir(s)

=> host bind 2 /tmp/mac-nvme-0x2001-disk-image.bin
=> ls host 2:1
  9585536   vmlinuz.efi
  2769508   initrd
            boot/
            EFI/
       78   startup.nsh

3 file(s), 2 dir(s)

=>


$ sudo mount mmc-fat-part /mnt
$ find /mnt
/mnt
$

So Linux and U-Boot both don't see a file.

Looking at mmc-fat-part with a hexeditor shows that there is an *empty*
FAT16 partition starting at sector 0 and there once was a FAT32
partition starting at sector 2048.

If you create a new example image, please wipe the image with 0x00
beforehand. Please, provide an accompanying text describing what is in
the image.

$ fdisk image-file
Device      Boot Start     End Sectors  Size Id Type
image-file1       2048 1574912 1572865  768M  c W95 FAT32 (LBA)

$ sudo mount image-file /mnt -o offset=$((2048*512))
$ ls /mnt

It is strange that Linux can't see the files that U-Boot sees and which
seem to be present:

00510000   45 44 49 53  4F 4E 20 20  20 20 20 08  00 00 00 00  EDISON
  .....
00510010   00 00 00 00  00 00 D8 B4  2D 50 00 00  00 00 00 00
........-P......
00510020   42 20 00 49  00 6E 00 66  00 6F 00 0F  00 72 72 00  B
.I.n.f.o...rr.
00510030   6D 00 61 00  74 00 69 00  6F 00 00 00  6E 00 00 00
m.a.t.i.o...n...
00510040   01 53 00 79  00 73 00 74  00 65 00 0F  00 72 6D 00
.S.y.s.t.e...rm.
00510050   20 00 56 00  6F 00 6C 00  75 00 00 00  6D 00 65 00
.V.o.l.u...m.e.
00510060   53 59 53 54  45 4D 7E 31  20 20 20 16  00 C0 D7 B4  SYSTEM~1
  .....
00510070   2D 50 2D 50  00 00 D8 B4  2D 50 03 00  00 00 00 00
-P-P....-P......
00510080   42 6D 00 65  00 6E 00 74  00 2E 00 0F  00 9F 74 00
Bm.e.n.t......t.
00510090   78 00 74 00  00 00 FF FF  FF FF 00 00  FF FF FF FF
x.t.............
005100A0   01 4E 00 65  00 77 00 20  00 54 00 0F  00 9F 65 00  .N.e.w.
.T....e.
005100B0   78 00 74 00  20 00 44 00  6F 00 00 00  63 00 75 00  x.t.
.D.o...c.u.
005100C0   4E 45 57 54  45 58 7E 31  54 58 54 20  00 AC E4 B4
NEWTEX~1TXT ....
005100D0   2D 50 2D 50  00 00 EF B4  2D 50 08 00  17 00 00 00
-P-P....-P......
005100E0   24 52 45 43  59 43 4C 45  42 49 4E 16  00 BF E4 B4
$RECYCLEBIN.....
005100F0   2D 50 2D 50  00 00 E5 B4  2D 50 06 00  00 00 00 00
-P-P....-P.....

Best regards

Heinrich

Reply via email to