tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: msdosfs oddity?



> I do a lot of hobby stuff with RPi Pico, so Iâ??m pretty familiar with its i$

I was hoping someone would be in that situation and willing to explain!

> The file system on the Pico (and all of the RP2040 devices) is completely vi$

I suspected as much when I found that overwriting the beginning of the
device didn't affect what I read from those same blocks.

>> Of course, it works fine on Linux.  I'm so sick of "just use Linux
>> and it all works" instead of actually bloody _documenting_ things.
> It works fine on macOS, too :-)

Yeah. :-/

> Anyway, figure out where itâ??s returning the EINVAL?

When I use the partition identified as MSDOS by fdisk and disklabel,
/dev/sd0e, it's the test for 0x55 0xaa in the last two blocsk:

> bootsig0 0 bootsig1 0
> msdosfs_mountfs 22

When I use the raw-disk partition, /dev/sd0d (the host was i386 for
these tests), it's the sanity tests

> bytespersec 0 secperclust 0 secpertrack 0
> msdosfs_mountfs 22

My next attempt was to dike out the 0x55 0xaa test.  When I did that,
msdosfs mounted it just fine.  But then, when I copied the file to the
device, it reset itself, making the umass disappear from USB.  When I
then tried to unmount the filesystem, the system crashed ungracefully.

I then guessed what you said above, that it wasn't actually caring
about the filesystem overhead writes, just the data content (since UF2
blocks are very self-descriptive) and tried lseeking to 1M into the
device (to avoid attempting to write over what NetBSD thinks is the
disklabel) and dropping the UF2 file there.  That worked fine; the last
write errored, but it worked without panicking the host.

So now I just need to try to dig up enough hardware documentation to
write my own code for it, probably including writing an ARM assembler.
(I think I have a DNARD somewhere, but I suspect I will find writing my
own assembler easier than bludgeoning the NetBSD/arm toolchain into
generating what the Pico wants.)

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index