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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.