From: Eric Nelson <eric.nelson@boundarydevices.com>
To: Otavio Salvador <otavio@ossystems.com.br>
Cc: "meta-freescale@yoctoproject.org"
<meta-freescale@yoctoproject.org>,
Troy <troy.kisky@boundarydevices.com>
Subject: Re: Kernel 3.10.31 and SD card numbering and boot scripts
Date: Fri, 10 Oct 2014 07:04:49 -0700 [thread overview]
Message-ID: <5437E781.4030704@boundarydevices.com> (raw)
In-Reply-To: <CAP9ODKp3H5=wCPcqtzrsdprH+P088HjzTQyoP6WdqHiYzxVT8g@mail.gmail.com>
Hi Otavio,
On 10/10/2014 05:23 AM, Otavio Salvador wrote:
> On Thu, Oct 9, 2014 at 10:45 PM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
>> Thanks for the feedback Otavio,
>>
>> On 10/09/2014 06:18 PM, Otavio Salvador wrote:
>>> On Thu, Oct 9, 2014 at 9:00 PM, Eric Nelson
>>> <eric.nelson@boundarydevices.com> wrote:
>>>> The 3.10.31 kernel contains a nifty bit of code from Sascha Hauer
>>>> that addresses the question of SD card numbering (device naming)
>>>> quite well:
>>>>
>>>> http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/drivers/mmc/card/block.c?h=imx_3.10.31_1.1.0_beta&id=5f9447e5d97060207c4742d5a06e5548de45972d
>>>> https://www.mail-archive.com/linux-mmc@vger.kernel.org/msg26472.html
>>>>
>>>> Unfortunately, it also changes the requirements for the kernel
>>>> command-line and breaks our boot scripts.
>>>
>>> Yes.
>>>
>>>> This is probably a good time to ask a related question about
>>>> where we're keeping boot scripts.
>>>>
>>>> We have been compiling boot scripts out of our U-Boot tree
>>>> from a Yocto-specific "6x_bootscript-yocto.txt" that implements
>>>> the conventions of the Freescale Community BSP (kernel in
>>>> the root of partition 1 and rootfs in partition 2).
>>>>
>>>> Since boot scripts have dependencies on a lot of things, it's
>>>> not clear to me that they belong in the U-Boot source treet
>>>> and that a Yocto-specific boot script really belongs directly
>>>> in the Yocto tree somewhere.
>>>>
>>>> Since a Yocto build knows about the PREFERRED_VERSION of the
>>>> kernel, it would be straightforward to have multiple versions
>>>> of a boot script.
>>>>
>>>> Otherwise, we'd need to place a couple of versions in the
>>>> U-Boot tree:
>>>> 6x_bootscript-yocto.txt
>>>> 6x_bootscript-yocto-after-3.10.17.txt
>>>> and we'd also need some logic in u-boot-script-boundary.bb
>>>> to choose between them.
>>>>
>>>> Before crafting a patch to do this, I'd like to get some feedback.
>>>
>>> It is harder than it seems to be. The providing system does not track
>>> versions so you'd need to do some "uglyness" to make this work.
>>>
>>
>> I haven't tried, but it seems generally useful to allow
>> conditionals based on kernel versions in Yocto/OE and I'm
>> surprised that there isn't a stock way of doing this.
>
> It would be indeed however there are some complexities as package feed
> upgrade path and other details which makes this very complex.
>
> As I said, I think this is technically possible to be done but will
> require some 'hacks'.
>
>>> Personally I think it is easier to address this on the bootscript
>>> itself using the setexpr command in U-Boot and with the REGEX config
>>> enabled. So you could try to match the kernel version on it somehow.
>>>
>>> Not sure if we have a command to 'ask' for the kernel version loaded though...
>>>
>>
>> Not currently.
>>
>> Using a root=PARTUUID=blah would also be nice and might allow the same
>> command-line on multiple kernel versions.
>>
>> Unfortunately, this doesn't seem to work:
>> https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.31_1.1.0_beta/init/do_mounts.c#L213
>
> The problem with the UUID is because we need to inject it during
> rootfs generation and it'd not be in the initial environment, so an
> 'env default -f -a' would make the system not bootable. In your case,
> as you use the script in a partition it is more doable but it'd not be
> an generic solution.
>
If the kernel could accept a PARTUUID parameter, the boot script
could potentially produce it, but that doesn't seem to be an
immediate option.
Regards,
Eric
prev parent reply other threads:[~2014-10-10 14:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-10 0:00 Kernel 3.10.31 and SD card numbering and boot scripts Eric Nelson
2014-10-10 1:18 ` Otavio Salvador
2014-10-10 1:45 ` Eric Nelson
2014-10-10 12:23 ` Otavio Salvador
2014-10-10 14:04 ` Eric Nelson [this message]
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=5437E781.4030704@boundarydevices.com \
--to=eric.nelson@boundarydevices.com \
--cc=meta-freescale@yoctoproject.org \
--cc=otavio@ossystems.com.br \
--cc=troy.kisky@boundarydevices.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.