From: Gleb Natapov <gleb@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: Benjamin Herrenschmidt <benh@au1.ibm.com>,
"qemu-ppc@nongnu.org List" <qemu-ppc@nongnu.org>,
Avik Sil <aviksil@linux.vnet.ibm.com>,
Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>,
qemu-devel qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [Qemu-ppc] Qemu boot device precedence over nvram boot-device setting
Date: Thu, 27 Sep 2012 11:51:36 +0200 [thread overview]
Message-ID: <20120927095136.GI23096@redhat.com> (raw)
In-Reply-To: <EE98D6B2-7446-429E-93FE-EDD73DE8FDBC@suse.de>
On Thu, Sep 27, 2012 at 11:33:31AM +0200, Alexander Graf wrote:
>
> On 27.09.2012, at 11:29, Benjamin Herrenschmidt wrote:
>
> > On Thu, 2012-09-27 at 14:51 +0530, Avik Sil wrote:
> >> Hi,
> >>
> >> We would like to get a method to boot from devices provided in -boot
> >> arguments in qemu when the 'boot-device' is set in nvram for pseries
> >> machine. I mean the boot device specified in -boot should get a
> >> precedence over the 'boot-device' specified in nvram.
> >>
> >> At the same time, when -boot is not provided, i.e., the default boot
> >> order "cad" is present, the device specified in nvram 'boot-device'
> >> should get precedence if it is set.
> >>
> >> What should be the elegant way to implement this requirement?
> >> Suggestions welcome.
> >
> > Actually I think it's a more open question. We have essentially two
> > things at play here:
> >
> > - With the new nvram model, the firmware can store a boot device
> > reference in it, which is standard OF practice, and in fact the various
> > distro installers are going to do just that
> >
> > - Qemu has its own boot order thingy via -boot, which we loosely
> > translate as c = first bootable disk we find (actually first disk we
> > find, we should probably make the algorithm a bit smarter), d = first
> > cdrom we find, n = network , ... We pass that selection (boot list) down
> > to SLOF via a device-tree property.
> >
> > The question is thus what precedence should we give them. I was
> > initially thinking that an explicit qemu boot list should override the
> > firmware nvram setting but I'm now not that sure anymore.
> >
> > The -boot list is at best a "blurry" indication of what type of device
> > the user wants ... The firmware setting in nvram is precise.
>
> IIRC gleb had implemented a specific boot order thing. Gleb, mind to enlighten us? :)
>
Yes, forget about -boot. It is deprecated :) You should use bootindex
(device property) to set boot priority. It constructs OF device path
and passes it to firmware. There is nothing "blurry" about OF device
path. The problem is that it works reasonably well with legacy BIOS
since it is enough to specify device to boot from, but with EFI (OF is
the same I guess) it is not enough to point to a device to boot from,
but you also need to specify a file you want to boot and this is where
bootindex approach fails. If EFI would specify default file to boot from
firmware could have used it, but EFI specifies it only for removable media
(what media is not removable this days, especially with virtualization?).
We can add qemu parameter to specify file to boot, but how users should
know the name of the file?
> > However if we make the nvram override qemu, then it's trickier to
> > force-boot from, let's say, a rescue CD. The user would have to stop the
> > SLOF boot process by pressing a key then manually type something like
> > "boot cdrom".
> >
> > Maybe the right approach is "in between", and is that the primary driver
> > is the -boot argument. For each entry in the boot list, if it's "c", use
> > the configured boot-device or fallback to the automatic guess SLOF tries
> > to do today in absence of a boot-device. If it's "d" or "n" force it
> > respectively to cdrom or network...
> >
> > I think there is no perfect solution here. What do you guys think is the
> > less user unfriendly ?
>
> I think the command line should override anything user specified. So basically:
>
> * user defined -boot option (or bootindex magic from Gleb)
> * nvram
> * fallback to default
>
> > Eventually we should try to implement some sort of interactive boot
> > device selection in SLOF, such as SMS does on pseries, but that will
> > take a bit of time.
>
> That would be en par with the bootmenu on x86 :). Please check out how x86 models these things. It could sure be interesting for pseries.
>
>
> Alex
--
Gleb.
next prev parent reply other threads:[~2012-09-27 9:51 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <50641A82.4030708@linux.vnet.ibm.com>
[not found] ` <1348738150.24701.21.camel@pasglop>
2012-09-27 9:33 ` [Qemu-devel] [Qemu-ppc] Qemu boot device precedence over nvram boot-device setting Alexander Graf
2012-09-27 9:35 ` Benjamin Herrenschmidt
2012-09-27 9:39 ` Alexander Graf
2012-09-27 9:51 ` Gleb Natapov [this message]
2012-09-27 10:05 ` Nikunj A Dadhania
2012-09-27 10:13 ` Gleb Natapov
2012-09-27 10:34 ` Nikunj A Dadhania
2012-09-27 10:38 ` Gleb Natapov
2012-09-27 10:21 ` Benjamin Herrenschmidt
2012-09-27 10:35 ` Gleb Natapov
2012-09-28 6:12 ` Jordan Justen
2012-10-04 10:55 ` Avik Sil
2012-10-04 11:22 ` Gleb Natapov
2012-10-04 11:29 ` Avik Sil
2012-10-04 11:30 ` Alexander Graf
2012-10-04 12:18 ` Avik Sil
2012-10-04 12:21 ` Alexander Graf
2012-10-04 12:35 ` Avik Sil
2012-10-04 12:37 ` Alexander Graf
2012-10-04 12:38 ` Gleb Natapov
2012-10-05 4:45 ` Nikunj A Dadhania
2012-10-04 11:32 ` Gleb Natapov
2012-10-04 11:59 ` Avik Sil
2012-10-05 0:34 ` David Gibson
2012-10-05 0:43 ` Alexander Graf
2012-10-05 0:48 ` David Gibson
2012-10-05 9:12 ` Benjamin Herrenschmidt
2012-10-05 10:32 ` Alexander Graf
2012-10-05 5:30 ` Nikunj A Dadhania
2012-10-05 5:44 ` Avik Sil
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=20120927095136.GI23096@redhat.com \
--to=gleb@redhat.com \
--cc=agraf@suse.de \
--cc=aviksil@linux.vnet.ibm.com \
--cc=benh@au1.ibm.com \
--cc=nikunj@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/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;
as well as URLs for NNTP newsgroup(s).