public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Jeffy Chen <jeffy.chen@rock-chips.com>
Cc: u-boot@lists.denx.de, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v4 5/6] rockchip: kylin: Enable boot with android boot image
Date: Thu, 14 Jan 2016 19:59:50 -0500	[thread overview]
Message-ID: <20160115005950.GC3359@bill-the-cat> (raw)
In-Reply-To: <569842F2.4080808@rock-chips.com>


[-- Attachment #1.1: Type: text/plain, Size: 3488 bytes --]

On Fri, Jan 15, 2016 at 08:53:06AM +0800, Jeffy Chen wrote:
> Hi Tom,
> 
> On 2016-1-15 0:22, Tom Rini wrote:
> >On Thu, Jan 14, 2016 at 10:31:34AM +0800, Jeffy Chen wrote:
> >>Hi Tom,
> >>
> >>On 2016-1-13 23:28, Tom Rini wrote:
> >>>On Wed, Jan 13, 2016 at 04:53:19PM +0800, Jeffy Chen wrote:
> >>>
> >>>>The android kernel is using appended dtb by default, and store
> >>>>ramdisk right after kernel & dtb.
> >>>>So we needs to relocate ramdisk, and use atags to pass params.
> >>>>
> >>>>Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
> >>>>Acked-by: Simon Glass <sjg@chromium.org>
> >>>>---
> >>>>
> >>>>Changes in v4: None
> >>>>Changes in v3: None
> >>>>Changes in v2: None
> >>>>
> >>>>  include/configs/kylin_rk3036.h | 23 +++++++++++++++++++++++
> >>>>  1 file changed, 23 insertions(+)
> >>>>
> >>>>diff --git a/include/configs/kylin_rk3036.h b/include/configs/kylin_rk3036.h
> >>>>index b750b26..49997ec 100644
> >>>>--- a/include/configs/kylin_rk3036.h
> >>>>+++ b/include/configs/kylin_rk3036.h
> >>>>@@ -35,6 +35,29 @@
> >>>>  #undef CONFIG_EXTRA_ENV_SETTINGS
> >>>>  #define CONFIG_EXTRA_ENV_SETTINGS \
> >>>>  	"partitions=" PARTS_DEFAULT \
> >>>>+	"mmcdev=0\0" \
> >>>>+	"mmcpart=5\0" \
> >>>>+	"loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
> >>>>+
> >>>>+#define CONFIG_ANDROID_BOOT_IMAGE
> >>>>+#define CONFIG_SYS_BOOT_RAMDISK_HIGH
> >>>This should already be set.
> >>Right, i'll remove it...
> >>>>+#define CONFIG_SYS_HUSH_PARSER
> >>>>+
> >>>>+#undef CONFIG_BOOTCOMMAND
> >>>>+#define CONFIG_BOOTCOMMAND \
> >>>>+	"mmc dev ${mmcdev}; if mmc rescan; then " \
> >>>>+		"part start mmc ${mmcdev} ${mmcpart} boot_start;" \
> >>>>+		"part size mmc ${mmcdev} ${mmcpart} boot_size;" \
> >>>>+		"mmc read ${loadaddr} ${boot_start} ${boot_size};" \
> >>>>+		"bootm start ${loadaddr}; bootm ramdisk;" \
> >>>>+		"bootm prep; bootm go;" \
> >>>>+	"fi;" \
> >>>>+
> >>>>+/* Enable atags */
> >>>>+#define CONFIG_SYS_BOOTPARAMS_LEN	(64*1024)
> >>>>+#define CONFIG_INITRD_TAG
> >>>>+#define CONFIG_SETUP_MEMORY_TAGS
> >>>>+#define CONFIG_CMDLINE_TAG
> >>>But I'm confused as to what exactly is going on here.  Appended dtb is
> >>>not the same as ATAGS.  And you shouldn't need to split up bootm like
> >>>that.  Can you please explain a bit more?  Thanks!
> >>The u-boot will pass atags to kernel, and kernel will merge those
> >>atags into the appended dtb(fdt).
> >>
> >>The default bootm flow would not pass ramdisk state, but we need it,
> >>so we should add this state into default flow, or just use split
> >>bootm cmds :)
> >That seems very strange.  Is the ramdisk concatenated with the kernel
> >and dtb as well (and that's why bootm ramdisk somehow finds it but
> >normal bootm doesn't as you aren't passing in a ramdisk address) ?
> Yes, the ramdisk concatenated with the kernel and dtb as
> well(u-boot/include/android_image.h: struct andr_img_hdr).
> 
> And the normal bootm cmd would find it by parsing andr_img_hdr struct.
> But we still need bootm ramdisk state, because it will call
> boot_ramdisk_high to relocate ramdisk area :)
> 
> I found if not relocate it to somewhere else, it would be corrupted
> after kernel's decompressing(during update fdt area).

So 'bootm $loadaddr' of an Android image sees, but does not relocate the
ramdisk that is included in the image, but bootm ramdisk does?  That
sounds like a bug in the regular bootm handling.

-- 
Tom

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 134 bytes --]

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

  reply	other threads:[~2016-01-15  0:59 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-13  8:53 [PATCH v4 0/6] rockchip: kylin: Boot with android boot image Jeffy Chen
     [not found] ` <1452675200-15941-1-git-send-email-jeffy.chen-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-01-13  8:53   ` [PATCH v4 1/6] common/image-fdt.c: Make boot_get_fdt() perform a check for Android images Jeffy Chen
2016-01-13 15:21     ` Tom Rini
2016-01-14  1:47       ` [U-Boot] " Jeffy Chen
2016-01-13  8:53   ` [PATCH v4 2/6] ARM: bootm: Try to use relocated ramdisk Jeffy Chen
2016-01-13 15:27     ` Tom Rini
2016-01-13  8:53   ` [PATCH v4 3/6] rockchip: rk3036: Bind GPIO banks Jeffy Chen
2016-01-13 15:28     ` Tom Rini
2016-01-13  8:53   ` [PATCH v4 4/6] rockchip: kylin: Add default gpt partition table Jeffy Chen
2016-01-13 15:28     ` Tom Rini
2016-01-13  8:53   ` [PATCH v4 5/6] rockchip: kylin: Enable boot with android boot image Jeffy Chen
2016-01-13 15:28     ` Tom Rini
2016-01-14  2:31       ` [U-Boot] " Jeffy Chen
2016-01-14 16:22         ` Tom Rini
2016-01-15  0:53           ` Jeffy Chen
2016-01-15  0:59             ` Tom Rini [this message]
2016-01-15  2:20               ` Jeffy Chen
2016-01-15 14:42                 ` Tom Rini
2016-01-15 15:42                   ` Daniel Schwierzeck
2016-01-16  1:18                     ` Simon Glass
     [not found]                       ` <CAPnjgZ1SUJDVPFVXgJjEYgom7tEdaORUAjQ8QfQ8jCpw=NtcJQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-01-22  3:13                         ` [U-Boot] " Simon Glass
2016-01-25 16:57                     ` Tom Rini
     [not found]                 ` <5698577B.8040209-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-01-25 19:07                   ` [U-Boot] " Tom Rini
2016-02-02  7:13                     ` Jeffy Chen
     [not found]                       ` <56B056FD.70006-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-02-19 20:55                         ` [U-Boot] " Simon Glass
2016-01-13  8:53   ` [PATCH v4 6/6] rockchip: kylin: Check fastboot request Jeffy Chen
     [not found]     ` <1452675200-15941-7-git-send-email-jeffy.chen-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2016-01-13 15:28       ` [U-Boot] " Tom Rini

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=20160115005950.GC3359@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=jeffy.chen@rock-chips.com \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=u-boot@lists.denx.de \
    /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