Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
MBR partition table and the "active" flag
As you know, many "evbarm" boards boot from media that has an MBR partition table with a FAT partition containing the device tree blobs and some combination of boot loader(s) and kernel(s).
For a while now I've been (slowly) working on a port to another SoC that also uses this scheme with u-boot, but I have to make one small tweak to the armv7.img that's spit out by the build system in order to make the stage-1 bootstrap (a binary supplied by the board vendor) to successfully load.
Specifically, I have to clear the ACTIVE flag on MBR partition 0. I know, it sounds really dumb, but if ACTIVE is set, the board doesn't boot (I don't even see the debug message on the serial port that the stage-1 loader spits out)... but if I modify the disk image and do nothing but set the flags field of MBR[0] to 0, then it boots. I guess the stage-0 bootstrap in ROM is just really picky (sector 0 of the boot media must contain a special signature that the stage-0 ROM looks at -- the signature stops just short of the MBR partition table).
So, my questions:
1-- Do any of the other SoCs actually care about the ACTIVE flag? If not, perhaps the right fix is to not set it when the image is built.
2-- If so, then should installboot(8) gain another directive to sanitize the MBR partition flags on a case-by-case basis?
-- thorpej
Home |
Main Index |
Thread Index |
Old Index