All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
@ 2012-04-20 19:50 Tom Warren
  2012-04-20 20:24 ` Allen Martin
  2012-04-20 21:40 ` Stephen Warren
  0 siblings, 2 replies; 10+ messages in thread
From: Tom Warren @ 2012-04-20 19:50 UTC (permalink / raw)
  To: u-boot

This set of boot cmds from Stephen Warren provides a simple
default for booting a linux kernel and DT from mmc (eMMC or
SD-Card, in that order). Tested on Seaboard w/an SD card.

Signed-off-by: Tom Warren <twarren@nvidia.com>
---
 include/configs/tegra2-common.h |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
index 068ce88..b8c08ef 100644
--- a/include/configs/tegra2-common.h
+++ b/include/configs/tegra2-common.h
@@ -140,9 +140,15 @@
 					"stderr=serial\0"
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
-	"console=ttyS0,115200n8\0" \
-	"mem=" TEGRA2_SYSMEM "\0" \
-	"smpflag=smp\0" \
+	"bootdelay=2\0" \
+	"bootcmd=run mmc1_boot ; run mmc0_boot\0" \
+	"mmc0_boot=setenv devnum 0; run mmc_boot;\0" \
+	"mmc1_boot=setenv devnum 1; run mmc_boot;\0" \
+	"mmc_boot=setenv devtype mmc;mmc dev ${devnum};run scr_boot;\0" \
+	"scriptaddr=0x400000\0" \
+	"script=/boot.scr.uimg\0" \
+	"scr_boot=ext2load ${devtype} ${devnum}:1 ${scriptaddr} ${script};" \
+		"source ${scriptaddr};\0" \
 	TEGRA2_DEVICE_SETTINGS
 
 #define CONFIG_LOADADDR		0x408000	/* def. location for kernel */
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-20 19:50 [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env Tom Warren
@ 2012-04-20 20:24 ` Allen Martin
  2012-04-20 20:46   ` Tom Rini
  2012-04-20 21:40 ` Stephen Warren
  1 sibling, 1 reply; 10+ messages in thread
From: Allen Martin @ 2012-04-20 20:24 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 20, 2012 at 12:50:58PM -0700, Tom Warren wrote:
> This set of boot cmds from Stephen Warren provides a simple
> default for booting a linux kernel and DT from mmc (eMMC or
> SD-Card, in that order). Tested on Seaboard w/an SD card.
> 
> Signed-off-by: Tom Warren <twarren@nvidia.com>
> ---
>
> ...
>
> +	"scr_boot=ext2load ${devtype} ${devnum}:1 ${scriptaddr} ${script};" \
> +		"source ${scriptaddr};\0" \

Should this be fatload?  From what I've seen most other boards load
boot.scr from a FAT fs.

-Allen
nvpublic

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-20 20:24 ` Allen Martin
@ 2012-04-20 20:46   ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2012-04-20 20:46 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 20, 2012 at 01:24:54PM -0700, Allen Martin wrote:
> On Fri, Apr 20, 2012 at 12:50:58PM -0700, Tom Warren wrote:
> > This set of boot cmds from Stephen Warren provides a simple
> > default for booting a linux kernel and DT from mmc (eMMC or
> > SD-Card, in that order). Tested on Seaboard w/an SD card.
> > 
> > Signed-off-by: Tom Warren <twarren@nvidia.com>
> > ---
> >
> > ...
> >
> > +	"scr_boot=ext2load ${devtype} ${devnum}:1 ${scriptaddr} ${script};" \
> > +		"source ${scriptaddr};\0" \
> 
> Should this be fatload?  From what I've seen most other boards load
> boot.scr from a FAT fs.

All depends on the distro, etc.  Angstrom for example loads from ext*
since then the kernel is provided by the distro and under package
control.

-- 
Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-20 19:50 [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env Tom Warren
  2012-04-20 20:24 ` Allen Martin
@ 2012-04-20 21:40 ` Stephen Warren
  2012-04-23 16:22   ` Tom Warren
  1 sibling, 1 reply; 10+ messages in thread
From: Stephen Warren @ 2012-04-20 21:40 UTC (permalink / raw)
  To: u-boot

On 04/20/2012 01:50 PM, Tom Warren wrote:
> This set of boot cmds from Stephen Warren provides a simple
> default for booting a linux kernel and DT from mmc (eMMC or
> SD-Card, in that order). Tested on Seaboard w/an SD card.
...
> diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
...
>  #define CONFIG_EXTRA_ENV_SETTINGS \
...
> +	"script=/boot.scr.uimg\0" \

It might be best to make that just /boot.scr. The reason being that I
looked at the Ubuntu Precise images for OMAP, and they don't have
".uimg" in the filename, even though they're uImage files. It's probably
best to be consistent with the Ubuntu images given the only other
precedent is what I do locally, which can easily be adjusted.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-20 21:40 ` Stephen Warren
@ 2012-04-23 16:22   ` Tom Warren
  2012-04-23 16:36     ` Stephen Warren
  2012-04-23 17:14     ` Tom Rini
  0 siblings, 2 replies; 10+ messages in thread
From: Tom Warren @ 2012-04-23 16:22 UTC (permalink / raw)
  To: u-boot

Stephen,

On Fri, Apr 20, 2012 at 2:40 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> On 04/20/2012 01:50 PM, Tom Warren wrote:
>> This set of boot cmds from Stephen Warren provides a simple
>> default for booting a linux kernel and DT from mmc (eMMC or
>> SD-Card, in that order). Tested on Seaboard w/an SD card.
> ...
>> diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
> ...
>> ?#define CONFIG_EXTRA_ENV_SETTINGS \
> ...
>> + ? ? "script=/boot.scr.uimg\0" \
>
> It might be best to make that just /boot.scr. The reason being that I
> looked at the Ubuntu Precise images for OMAP, and they don't have
> ".uimg" in the filename, even though they're uImage files. It's probably
> best to be consistent with the Ubuntu images given the only other
> precedent is what I do locally, which can easily be adjusted.

I'll change it to /boot.scr, but do we have any stats on other/more
distros and what they use?

As to using fat instead of ext2, this is just an example, and would be
(should be) customized for each vendor/distro.
I could also add a USB boot example.

Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-23 16:22   ` Tom Warren
@ 2012-04-23 16:36     ` Stephen Warren
  2012-04-23 17:17       ` Tom Rini
  2012-04-23 17:14     ` Tom Rini
  1 sibling, 1 reply; 10+ messages in thread
From: Stephen Warren @ 2012-04-23 16:36 UTC (permalink / raw)
  To: u-boot

On 04/23/2012 10:22 AM, Tom Warren wrote:
> Stephen,
> 
> On Fri, Apr 20, 2012 at 2:40 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 04/20/2012 01:50 PM, Tom Warren wrote:
>>> This set of boot cmds from Stephen Warren provides a simple
>>> default for booting a linux kernel and DT from mmc (eMMC or
>>> SD-Card, in that order). Tested on Seaboard w/an SD card.
>> ...
>>> diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
>> ...
>>>  #define CONFIG_EXTRA_ENV_SETTINGS \
>> ...
>>> +     "script=/boot.scr.uimg\0" \
>>
>> It might be best to make that just /boot.scr. The reason being that I
>> looked at the Ubuntu Precise images for OMAP, and they don't have
>> ".uimg" in the filename, even though they're uImage files. It's probably
>> best to be consistent with the Ubuntu images given the only other
>> precedent is what I do locally, which can easily be adjusted.
> 
> I'll change it to /boot.scr, but do we have any stats on other/more
> distros and what they use?

I don't believe any other distros are creating packages/images for Tegra
yet.

> As to using fat instead of ext2, this is just an example, and would be
> (should be) customized for each vendor/distro.
> I could also add a USB boot example.

Really, we should be defining the boot architecture for Tegra, and
distros following suite. So, I think we should just say:

* Partition 1 of the media is /boot.
* Partition 1 should be ext2 or compatible.
* boot.scr should exist there and be a uImage script file.

Distros certainly can't customize the U-Boot environment for themselves,
since there's no generally applicable way of doing so. That's exactly
why I pushed to load a boot.scr rather than having U-Boot load the
kernel directly (and define the command-line), to give distros the
ability to customize boot.scr; generating files in a filesystem is much
easier for distros.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-23 16:22   ` Tom Warren
  2012-04-23 16:36     ` Stephen Warren
@ 2012-04-23 17:14     ` Tom Rini
  2012-04-23 17:39       ` Stephen Warren
  1 sibling, 1 reply; 10+ messages in thread
From: Tom Rini @ 2012-04-23 17:14 UTC (permalink / raw)
  To: u-boot

On Mon, Apr 23, 2012 at 09:22:22AM -0700, Tom Warren wrote:
> Stephen,
> 
> On Fri, Apr 20, 2012 at 2:40 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> > On 04/20/2012 01:50 PM, Tom Warren wrote:
> >> This set of boot cmds from Stephen Warren provides a simple
> >> default for booting a linux kernel and DT from mmc (eMMC or
> >> SD-Card, in that order). Tested on Seaboard w/an SD card.
> > ...
> >> diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
> > ...
> >> ?#define CONFIG_EXTRA_ENV_SETTINGS \
> > ...
> >> + ? ? "script=/boot.scr.uimg\0" \
> >
> > It might be best to make that just /boot.scr. The reason being that I
> > looked at the Ubuntu Precise images for OMAP, and they don't have
> > ".uimg" in the filename, even though they're uImage files. It's probably
> > best to be consistent with the Ubuntu images given the only other
> > precedent is what I do locally, which can easily be adjusted.
> 
> I'll change it to /boot.scr, but do we have any stats on other/more
> distros and what they use?

Can I suggest that instead of using boot.scr files we just use a text
file that can be imported to the environment and a command run?  The
omap3_beagle example (uEnv.txt + uenvcmd) is something I plan to
propogate to more TI boards and I think it'd be good if we picked it up
on other SoCs.  Or came up with a better plan for everyone :)  The main
benefit of uEnv.txt over boot.scr is that it's now plain text, rather
than text that needs to be mkimage'd at each change.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120423/1741a6db/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-23 16:36     ` Stephen Warren
@ 2012-04-23 17:17       ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2012-04-23 17:17 UTC (permalink / raw)
  To: u-boot

On Mon, Apr 23, 2012 at 10:36:37AM -0600, Stephen Warren wrote:
> On 04/23/2012 10:22 AM, Tom Warren wrote:
[snip]
> Distros certainly can't customize the U-Boot environment for themselves,
> since there's no generally applicable way of doing so. That's exactly

That is (very recently) no longer true!  We've had for a while now the
ability to append to the environment from a file and much more recently
the ability for the whole environment to be a plain text file read from
FAT (and written back to).  And to repeat what I just now said in
another email, I'd really like it if we can come up with something
that's common across multiple SoCs.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120423/0d099bf4/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-23 17:14     ` Tom Rini
@ 2012-04-23 17:39       ` Stephen Warren
  2012-04-23 17:47         ` Tom Rini
  0 siblings, 1 reply; 10+ messages in thread
From: Stephen Warren @ 2012-04-23 17:39 UTC (permalink / raw)
  To: u-boot

On 04/23/2012 11:14 AM, Tom Rini wrote:
> On Mon, Apr 23, 2012 at 09:22:22AM -0700, Tom Warren wrote:
>> Stephen,
>>
>> On Fri, Apr 20, 2012 at 2:40 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>>> On 04/20/2012 01:50 PM, Tom Warren wrote:
>>>> This set of boot cmds from Stephen Warren provides a simple
>>>> default for booting a linux kernel and DT from mmc (eMMC or
>>>> SD-Card, in that order). Tested on Seaboard w/an SD card.
>>> ...
>>>> diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h
>>> ...
>>>> ?#define CONFIG_EXTRA_ENV_SETTINGS \
>>> ...
>>>> + ? ? "script=/boot.scr.uimg\0" \
>>>
>>> It might be best to make that just /boot.scr. The reason being that I
>>> looked at the Ubuntu Precise images for OMAP, and they don't have
>>> ".uimg" in the filename, even though they're uImage files. It's probably
>>> best to be consistent with the Ubuntu images given the only other
>>> precedent is what I do locally, which can easily be adjusted.
>>
>> I'll change it to /boot.scr, but do we have any stats on other/more
>> distros and what they use?
> 
> Can I suggest that instead of using boot.scr files we just use a text
> file that can be imported to the environment and a command run?

That sounds like a great idea; it avoids a mkimage call and generally
simplifies things. Looking at the code, it's just a list of name=value,
one per line.

TomW, I'd suggest looking at ./include/configs/omap3_beagle.h. In
particular:

a) The load from MMC is only attempted if "mmc rescan" succeeds, rather
than just blasting through the script with lots of failures. The hush
shell might be needed for this; is it enabled on Tegra?

b) See the macros loadbootenv/importbootenv which are the replacement
for boot.scr.

TomR, is there a reason OMAP3 uses FAT for /boot rather than ext2?
Perhaps it's due to the need to load intermediate boot loaders from the
filesystem, and that code needs FAT? On Tegra, we jump straight to
U-Boot from the boot ROM without the need for intermediate filesystem
access, and could make /boot ext2 - do you see any reason not to do this?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env
  2012-04-23 17:39       ` Stephen Warren
@ 2012-04-23 17:47         ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2012-04-23 17:47 UTC (permalink / raw)
  To: u-boot

On Mon, Apr 23, 2012 at 11:39:30AM -0600, Stephen Warren wrote:

[snip]
> TomR, is there a reason OMAP3 uses FAT for /boot rather than ext2?
> Perhaps it's due to the need to load intermediate boot loaders from the
> filesystem, and that code needs FAT? On Tegra, we jump straight to
> U-Boot from the boot ROM without the need for intermediate filesystem
> access, and could make /boot ext2 - do you see any reason not to do this?

Correct.  Our ROMs will read FAT looking for 'MLO' (which is u-boot-spl
these days) and that loads U-Boot.  It can also raw read the card.  The
other reason for having the first partition be FAT by default is ease of
replacement since everything can read/write FAT but ext2/3/4 is limited
(largely/easily...) to Linux.  Distro do change this behavior and
Angstrom for example changes to ext2load (or ext4load) from /boot.

And I don't think omap3_beagle is perfect just yet.  I really want to
switch to the whole env being a file on the SD card, but I can't easily
do that until we can tell at run time if we're on beagleboard classic or
xM (which we can now) and then change where the environment is (we can't
do that yet, but perhaps soon).

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120423/16690186/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-04-23 17:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-20 19:50 [U-Boot] [PATCH] arm: Tegra2: Add a useful default boot env Tom Warren
2012-04-20 20:24 ` Allen Martin
2012-04-20 20:46   ` Tom Rini
2012-04-20 21:40 ` Stephen Warren
2012-04-23 16:22   ` Tom Warren
2012-04-23 16:36     ` Stephen Warren
2012-04-23 17:17       ` Tom Rini
2012-04-23 17:14     ` Tom Rini
2012-04-23 17:39       ` Stephen Warren
2012-04-23 17:47         ` Tom Rini

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.