Bug#560348: xen: racy temporary files for kernel and initrd
On Wed, 2010-08-11 at 00:05 +0200, Paul Menzel wrote:
> Am Dienstag, den 10.08.2010, 15:10 +0100 schrieb Ian Campbell:
> > On Tue, 2010-08-10 at 15:40 +0200, Paul Menzel wrote:
> > > Am Montag, den 21.12.2009, 09:19 +0000 schrieb Ian Campbell:
> > > > On Fri, 2009-12-11 at 11:30 +0100, Ferenc Wagner wrote:
> > > > >
> > > > > The guest is the Debian Installer daily image, you surely know it much
> > > > > better than I do. :) The host is a Lenny system with the Etch kernel:
> > >
> > > I am using Lenny with a standard Lenny kernel.
> > >
> > > $ uname -a
> > > Linux hostname 2.6.26-2-xen-amd64 #1 SMP Wed Mar 10 00:29:48 UTC 2010 x86_64 GNU/Linux
> > >
> > > > I think the issue is with the host's Xen utilities rather than the
> > > > Debian Installer image which makes it tricky to fix in Lenny. I believe
> > > > it works with the Xen utilities in Squeeze.
> > >
> > > Should this bug be reassigned then?
> > >
> > > > For Lenny you could workaround by downloading the kernel and ramdisk
> > > > locally and use the install-kernel= and install-ramdisk= options to
> > > > xm-debian.cfg, or if you have a local mirror you could just use
> > > > install-installer=.
> > >
> > > Unfortunately that work-around does not work for me.
> > >
> > > $ ls -l /tmp/{vmlinuz,initrd.gz}
> > > -rw-r--r-- 1 user user 17859729 2010-08-10 10:05 /tmp/initrd.gz
> > > -rw-r--r-- 1 user user 2351776 2010-08-10 10:05 /tmp/vmlinuz
> > > $ sudo xm create /tmp/xm-debian.cfg install=true install-mirror=ftp://ftp.de.debian.org/debian install-installer=http://people.debian.org/~joeyh/d-i/images/daily/ install-suite=squeeze install-kernel=/tmp/vmlinuz install-ramdisk=/tmp/initrd.gz
> > > Using config file "/tmp/xm-debian.cfg".
> > > Install Mirror: ftp://ftp.de.debian.org/debian
> > > Install Suite: squeeze
> > > Installer: http://people.debian.org/~joeyh/d-i/images/daily/
> > >
> > > WARNING: Installer kernel and ramdisk are not authenticated.
> > >
> > > Fetching /tmp/vmlinuz
> > > Fetching /tmp/initrd.gz
> > > command line is "debian-installer/exit/always_halt=true -- quiet console=hvc0"
> > > Error: Kernel image does not exist: /tmp/vmlinuz
> > >
> > > Do you have any ideas?
> >
> > It's not clear looking back over the bug that anyone ever actually tried
> > the workaround, rather than hypothesising it. Unfortunately I don't have
> > a suitable Lenny system to hand.
> >
> > You could try "install-kernel=file:///...."
>
> That did not work either.
>
> […]
> Fetching file:///tmp/vmlinuz
> Fetching file:///tmp/initrd.gz
> command line is "debian-installer/exit/always_halt=true -- quiet
> console=hvc0"
> Error: Kernel image does not exist: /tmp/vmlinuz
Hmm, I suspect the workaround never worked then (it was only a theory).
> > Alternatively you can always use your own configuration file (like you
> > would for a non-Debian domain) [...]
>
> Thank you for your suggestion. Unfortunately I get the following error
> message.
>
> $ sudo xm create /tmp/squeeze.cfg
> Using config file "/tmp/squeeze.cfg".
> Error: Boot loader didn't return any data!
> $ ls -l /usr/bin/pygrub
> lrwxrwxrwx 1 root root 29 2010-06-15 10:51 /usr/bin/pygrub -> /usr/lib/xen-3.2-1/bin/pygrub
> $ dpkg -S /usr/lib/xen-3.2-1/bin/pygrub
> xen-utils-3.2-1: /usr/lib/xen-3.2-1/bin/pygrub
> $ dpkg -l xen-utils-3.2-1
> ii xen-utils-3.2- 3.2.1-2 XEN administrative tools
>
> But reading [1] and your comment before I commented the bootloader line
> too.
That was the right thing to do for the install phase.
> $ grep vmlinuz /tmp/squeeze.cfg
> kernel = "/tmp/vmlinuz"
> $ sudo xm create /tmp/squeeze.cfg
> Using config file "/tmp/squeeze.cfg".
> Error: Kernel image does not exist: /tmp/vmlinuz
>
> Do you have any idea? This is with the daily Debian Installer files from
> [2].
Hrm. I assume /tmp/vmlinuz exists and is readable by the relevant user
etc. Do the logs in /var/log/xen tell you anything?
BTW, it jut occurred to me that if you install a Squeeze VM onto a Lenny
host that you will find pygrub doesn't work because the version in Lenny
didn't yet understand the grub2 cfg file format. I think d-i still
allows you to select grub1 if you use expert mode, and it looks like you
might be able to add "grub-installer/grub2_instead_of_grub_legacy=false"
to your command line or "d-i grub-installer/grub2_instead_of_grub_legacy
boolean false" to your preseed if you have one.
Ian.
--
Ian Campbell
He's like a function -- he returns a value, in the form of his opinion.
It's up to you to cast it into a void or not.
-- Phil Lapsley
Reply to: