[PATCH V2] mtd: bcm47xxpart: detect block aligned Squashfs partition
Rafał Miłecki
zajec5 at gmail.com
Sat Sep 14 03:04:35 EDT 2013
2013/9/13 Florian Fainelli <f.fainelli at gmail.com>:
> Le vendredi 13 septembre 2013 22:25:30 Rafał Miłecki a écrit :
>> diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
>> index 9279a91..61213f9 100644
>> --- a/drivers/mtd/bcm47xxpart.c
>> +++ b/drivers/mtd/bcm47xxpart.c
>> @@ -32,6 +32,7 @@
>> #define ML_MAGIC1 0x39685a42
>> #define ML_MAGIC2 0x26594131
>> #define TRX_MAGIC 0x30524448
>> +#define SQSH_MAGIC 0x71736873 /* shsq */
>
> You could include uapi/linux/magic.h and use the SQUASHFS_MAGIC constant
> directly, sorry for not noticing earlier.
OK, I need help with that crazy endianness here... When I look at
flash dump in hexdump (or Okteta for gui) I see:
37:0000 | 73 68 73 71 BB 03 00 00 00 00 00 00 88 1B 00 40 | shsq»..........@
bcm47xx is LE, so reading first 4 bytes results in: 0x71'73'68'73 ([3]
+ [2] + [1] + [0]). That is what I used for my SQSH_MAGIC.
However SQUASHFS_MAGIC is 0x73717368. So I need to read [2] + [3] +
[0] + [1]... Any help how to achieve that?
--
Rafał
More information about the linux-mtd
mailing list