Am Mittwoch, den 11.08.2010, 10:40 +0100 schrieb Ian Campbell:
> 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?
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:84) XendDomainInfo.create(['vm', ['name', 'host'], ['memory', 2048], ['vcpus', 1], ['on_xend_start', 'ignore'], ['on_xend_stop', 'ignore'], ['image', ['linux', ['kernel', '/tmp/vmlinuz'], ['ramdisk', '/tmp/initrd.gz'], ['args', 'debian-installer/exit/always_halt=true -- xencons=hvc console=hvc0 ro root=/dev/hda']]], ['device', ['vbd', ['uname', 'phy:/dev/xkcd/oe-build-host'], ['dev', 'xvda'], ['mode', 'w']]], ['device', ['vbd', ['uname', 'phy:/dev/xkcd/oe-build-host-swap'], ['dev', 'xvdb'], ['mode', 'w']]], ['device', ['vif']], ['device', ['vif', ['bridge', 'xenbr1']]]])
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1618) XendDomainInfo.constructDomain
[2010-08-11 10:40:38 3386] DEBUG (balloon:132) Balloon: 3669568 KiB free; need 2048; done.
[2010-08-11 10:40:38 3386] DEBUG (XendDomain:443) Adding Domain: 53
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1703) XendDomainInfo.initDomain: 53 256
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1738) _initDomain:shadow_memory=0x0, memory_static_max=0x80000000, memory_static_min=0x0.
[2010-08-11 10:40:38 3386] DEBUG (balloon:132) Balloon: 3669560 KiB free; need 2097152; done.
[2010-08-11 10:40:38 3386] ERROR (XendDomainInfo:1775) XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendDomainInfo.py", line 1755, in _initDomain
channel_details = self.image.createImage()
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/image.py", line 122, in createImage
return self.createDomain()
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/image.py", line 131, in createDomain
raise VmError('Kernel image does not exist: %s' % self.kernel)
VmError: Kernel image does not exist: /tmp/vmlinuz
[2010-08-11 10:40:38 3386] ERROR (XendDomainInfo:440) VM start failed
Traceback (most recent call last):
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendDomainInfo.py", line 420, in start
XendTask.log_progress(31, 60, self._initDomain)
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendTask.py", line 209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendDomainInfo.py", line 1778, in _initDomain
raise exn
VmError: Kernel image does not exist: /tmp/vmlinuz
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1897) XendDomainInfo.destroy: domid=53
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1914) XendDomainInfo.destroyDomain(53)
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1529) Destroying device model
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1536) Releasing devices
[2010-08-11 10:40:38 3386] ERROR (XendDomainInfo:89) Domain construction failed
Traceback (most recent call last):
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendDomainInfo.py", line 87, in create
vm.start()
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendDomainInfo.py", line 420, in start
XendTask.log_progress(31, 60, self._initDomain)
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendTask.py", line 209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib/xen-3.2-1/lib/python/xen/xend/XendDomainInfo.py", line 1778, in _initDomain
raise exn
VmError: Kernel image does not exist: /tmp/vmlinuz
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1897) XendDomainInfo.destroy: domid=None
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1914) XendDomainInfo.destroyDomain(None)
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1534) No device model
[2010-08-11 10:40:38 3386] DEBUG (XendDomainInfo:1536) Releasing devices
I took a look where `VmError` originates from. I think, it turns out to
be in `/usr/lib/xen-3.2-1/lib/python/xen/xend/image.py`.
if not os.path.isfile(self.kernel):
raise VmError('Kernel image does not exist: %s' % self.kernel)
But testing this manually works.
$ python
>>> import os
>>> os.path.isfile("/tmp/vmlinuz")
True
Then I tried it with a different Linux kernel image under `/boot/` and
this worked. So as a last attempt I copied `vmlinuz` from `/tmp/` to
`/boot/` and now it works as expected. Very strange! Do I need to file a
bug for this somewhere. Could you test that under Squeeze or Sid?
> 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.
I will test that next.
Thanks,
Paul
Attachment:
signature.asc
Description: This is a digitally signed message part