[U-Boot-Users] FAT mbr on MMC or SD cards
Joey Oravec
joravec at drewtech.com
Mon Jun 18 15:51:56 CEST 2007
"Heiko Schocher" <hs at denx.de> wrote in message
news:1182164674.15090.54.camel at Apollo...
> I am not sure if we can use EB:xx:90 or E9:xx:xx (Am I right, this is
> the "Jump instruction to boot code" on a PBR?) for deciding between
> a MBR and a VBR, because the First 446 Bytes from a MBR are only
> "Bootcode", whatever this means, and maybe there is a MBR with
> EB:xx:90 or E9:xx:xx in the First 3 Bytes ...
Correct, the Microsoft document says the beginning of a VBR will always be
"a 3-byte intel x86 unconditional branch (jump) instruction that jumps to
the start of the operating system bootstrap code". It says either form is
acceptable but 0xEB is used more frequently.
None of the common MBRs start with a jump
(http://mirror.href.com/thestarman/asm/mbr/), so it seems like a pretty
decent heuristic.
Linux-2.6.20 in fs/partitions/msdos.c has a function msdos_partition() that
checks for the 0xAA55 signature and a 0x80 active or 0x00 inactive boot
indicator for each partition in the table. I'm not sure if that technique is
any better or worse.
-joey
More information about the U-Boot
mailing list