From: Florian Fainelli <f.fainelli@gmail.com>
To: linux-mtd@lists.infradead.org
Cc: "Hauke Mehrtens" <hauke@hauke-m.de>,
"Rafał Miłecki" <zajec5@gmail.com>,
"David Woodhouse" <David.Woodhouse@intel.com>,
"Artem Bityutskiy" <dedekind1@gmail.com>
Subject: Re: [PATCH V2] mtd: bcm47xxpart: detect block aligned Squashfs partition
Date: Fri, 13 Sep 2013 22:24:51 +0100 [thread overview]
Message-ID: <2030071.nWr24CInOj@lenovo> (raw)
In-Reply-To: <1379103930-3987-1-git-send-email-zajec5@gmail.com>
Le vendredi 13 septembre 2013 22:25:30 Rafał Miłecki a écrit :
> Most of the bcm47xx devices use TRX format for storing kernel and some
> partition like Squashfs or JFFS2. This is pretty flexible solution, CFE
> (the bootloader) just writes (and later boots) TRX at some hardcoded
> place and paritions can vary in the size.
>
> However some devices don't use TRX format. Very recently we have
> discovered ZTE H218N that has kernel and rootfs partitions at some
> "random" places.
>
> This patch allows Linux find a rootfs partition after installing custom
> image with a CFE bootloader.
>
This looks much better, thanks! Couple of nitpicks below.
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
> ---
> drivers/mtd/bcm47xxpart.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> 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.
>
> struct trx_header {
> uint32_t magic;
> @@ -167,6 +168,13 @@ static int bcm47xxpart_parse(struct mtd_info *master,
> offset = rounddown(offset + trx->length, blocksize);
> continue;
> }
> +
> + /* Squashfs on devices not using TRX */
> + if (buf[0x000 / 4] == SQSH_MAGIC) {
In theory le32_to_cpu() should be used to mimic what init/do_mounts_rd.c does
but we do not support big-endian BCM47xx devices yet so this probably does not
matter much.
--
Florian
next prev parent reply other threads:[~2013-09-13 21:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-13 16:38 [PATCH] mtd: bcm47xxpart: detect Squashfs partition Rafał Miłecki
2013-09-13 18:45 ` Florian Fainelli
2013-09-13 18:56 ` Brian Norris
2013-09-13 20:02 ` Rafał Miłecki
2013-09-14 18:19 ` Brian Norris
2013-09-13 20:25 ` [PATCH V2] mtd: bcm47xxpart: detect block aligned " Rafał Miłecki
2013-09-13 21:24 ` Florian Fainelli [this message]
2013-09-14 7:04 ` Rafał Miłecki
2013-09-16 9:31 ` Florian Fainelli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2030071.nWr24CInOj@lenovo \
--to=f.fainelli@gmail.com \
--cc=David.Woodhouse@intel.com \
--cc=dedekind1@gmail.com \
--cc=hauke@hauke-m.de \
--cc=linux-mtd@lists.infradead.org \
--cc=zajec5@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox