From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/4] config_distro_bootcmd: Scan all partitions for boot files
Date: Tue, 06 Jan 2015 17:43:19 -0700 [thread overview]
Message-ID: <54AC8127.2090404@wwwdotorg.org> (raw)
In-Reply-To: <1420564024.15910.172.camel@collabora.co.uk>
(CCing Dennis so he can comment from a distro perspective re: partition
table bootable flags v.s. scanning all partitions)
On 01/06/2015 10:07 AM, Sjoerd Simons wrote:
> On Mon, 2015-01-05 at 13:24 -0700, Stephen Warren wrote:
>> On 01/05/2015 10:13 AM, Sjoerd Simons wrote:
>>> Not all devices use the convention that the boot scripts are on the
>>> first partition. For example on chromebooks it seems common for the
>>> first two partitions to be ChromeOS kernel partitions.
>>>
>>> So instead of just the first partition scan all partitions on a device
>>> with a filesystem u-boot can recognize.
>>
>> I had planned (but obviously never got around to...) enhancing the
>> scripts to look up the (set of?) bootable partition(s) on the disk and
>> to attempt to load the boot files from there. Bootable would be defined
>> as the MBR bootable flag, or GPT legacy bootable attribute.
>>
>> That would allow the code to zero in on the one specific partition that
>> it was supposed to look at, rather than searching all partitions.
>>
>> Do you have any thoughts re: which option is better?
>
> I did wonder about this as well. I do personally consider the bootable
> flag as a rather obsolete/legacy thing (GPT even specifies it as a
> legacy flag), so i was wary about using it.. Also i've been bitten a few
> times on systems that did rely on the bootable flag (what, what, why
> does it not boot, oooooohhhh), which was another reason for heading this
> route.
>
> This way does no extra work if the first partition is the partition with
> the boot partition when compared to only checking partitions with the
> bootable flag as both would need to list existing partitions.
>
> If the first few partitions have no filesystems, the extra work compared
> to the bootable-flag approach would just be probing the filesystem type,
> which tends to be relatively simple, so i don't see a big issue there
> (it's more work to scan for a missing boot file).
>
> If your first few partitions are ones without the bootfiles, some more
> effort is wasted as it will be probing those for viable boot files..
> However, in my experience, partition layouts with the bootfiles not on
> the first filesystem partitions is rather uncommmon. So again, i didn't
> feel that that was problematic. If you have an odd parition layout, your
> boot time will be ever so slightly longer :)
>
> The only "issue" in my mind is when multiple partitions, for whatever
> reason, have bootfiles. In which case the first one will get picked with
> this approach, while with the partition-boot-flag approach you'd have a
> way to specify, no really just look at that one.. However, i suspect the
> likelihood of forgetting to set the boot flag is higher (been there,
> done that) then accidentally leaving boot files on partitions before the
> intended boot partition (which also requires on uncommon layout), so
> even then i suspect this approach is more friendly/less error-prone.
>
>> This patch looks fine assuming this option (rather than bootable flag)
>> is selected.
>
> Well my thoughts on the matter are above, If folks feel strongly about
> this approach being the wrong way I'd love to hear their arguments :).
One issue with this approach is that there's no way for the user to
short-circuit the scanning. If I put a ChromiumOS install on an SD card
and leave it plugged into a system that's going to end up booting from
eMMC since that's where the boot files are, there are lots of partitions
to scan on that SD card, which will be a bit annoying.
next prev parent reply other threads:[~2015-01-07 0:43 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-05 17:13 [U-Boot] [PATCH 0/4] Let the distro boot command scan all partitions Sjoerd Simons
2015-01-05 17:13 ` [U-Boot] [PATCH 1/4] fs: Add command to retrieve the filesystem type Sjoerd Simons
2015-01-05 20:18 ` Stephen Warren
2015-01-06 16:40 ` Sjoerd Simons
2015-01-06 17:05 ` Stephen Warren
2015-02-02 18:57 ` [U-Boot] [U-Boot, " Tom Rini
2015-01-05 17:13 ` [U-Boot] [PATCH 2/4] part: let list put the list in an environment variable Sjoerd Simons
2015-01-05 20:21 ` Stephen Warren
2015-02-02 18:57 ` [U-Boot] [U-Boot, " Tom Rini
2015-01-05 17:13 ` [U-Boot] [PATCH 3/4] config_distro_bootcmd: Scan all partitions for boot files Sjoerd Simons
2015-01-05 20:24 ` Stephen Warren
2015-01-06 17:07 ` Sjoerd Simons
2015-01-07 0:43 ` Stephen Warren [this message]
2015-01-07 10:10 ` Sjoerd Simons
2015-01-07 10:22 ` Ian Campbell
2015-01-07 11:01 ` Sjoerd Simons
2015-01-07 11:17 ` Ian Campbell
2015-01-07 11:46 ` Sjoerd Simons
2015-01-07 12:47 ` Ian Campbell
2015-01-10 18:34 ` Dennis Gilmore
2015-01-07 20:22 ` Stephen Warren
2015-01-08 9:24 ` Sjoerd Simons
2015-01-07 20:19 ` Stephen Warren
2015-01-10 18:27 ` Dennis Gilmore
2015-01-12 17:42 ` Stephen Warren
2015-01-12 18:44 ` Dennis Gilmore
2015-01-13 8:40 ` Sjoerd Simons
2015-01-13 20:52 ` Stephen Warren
2015-02-02 18:57 ` [U-Boot] [U-Boot, " Tom Rini
2015-01-05 17:13 ` [U-Boot] [PATCH 4/4] distro_distro_bootcmd: use CONFIG_BOOTCOMMAND instead of setting bootcmd= Sjoerd Simons
2015-01-05 20:31 ` Stephen Warren
2015-01-06 16:26 ` Sjoerd Simons
2015-02-02 18:57 ` [U-Boot] [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=54AC8127.2090404@wwwdotorg.org \
--to=swarren@wwwdotorg.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 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.