qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel][PATCH v2] hw/i386/pc: reject to boot a w


From: li guang
Subject: Re: [Qemu-trivial] [Qemu-devel][PATCH v2] hw/i386/pc: reject to boot a wrong header magic kernel
Date: Mon, 08 Apr 2013 08:13:05 +0800

在 2013-04-05五的 14:59 +0200,Stefan Hajnoczi写道:
> On Mon, Apr 01, 2013 at 09:21:57AM +0800, liguang wrote:
> > if head magic is missing or wrong unexpectedly, we'd
> > better to reject booting.
> > e.g.
> > I make a mistake to boot a vmlinuz for MIPS(which
> > I think it's for x86) like this:
> > qemu-system-x86_64 -kernel vmlinuz -initrd demord
> > then qemu report:
> > "qemu: linux kernel too old to load a ram disk"
> > that's misleading.
> > 
> > Signed-off-by: liguang <address@hidden>
> > ---
> >  hw/i386/pc.c |    3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> > 
> > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > index b1e06fa..bfbb5fe 100644
> > --- a/hw/i386/pc.c
> > +++ b/hw/i386/pc.c
> > @@ -683,6 +683,9 @@ static void load_linux(void *fw_cfg,
> >          if (load_multiboot(fw_cfg, f, kernel_filename, initrd_filename,
> >                             kernel_cmdline, kernel_size, header)) {
> >              return;
> > +        } else {
> > +            fprintf(stderr, "not a valid multiboot image!\n");
> > +            exit(1);
> >          }
> >          protocol = 0;
> 
> The point of protocol = 0 is to support old Linux kernels.  If we exit
> when probing load_multiboot() fails then QEMU will no longer load old
> Linux kernels!
> 
> I suggest just:
> fprintf(stderr, "warning: not a valid multiboot or modern kernel image\n");
> 
> Stefan

OK, Thanks!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]