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

Bug#560348: xen: racy temporary files for kernel and initrd



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:///...."

Alternatively you can always use your own configuration file (like you
would for a non-Debian domain) with none of this "clever" stuff in it,
i.e. just set kernel= and ramdisk= to static paths to run the installer
and then change it to use bootloader=pygrub afterwards. e.g. I often use
as a template:

        #  -*- mode: python; -*-
        
        bootloader = "/usr/bin/pygrub"
        
        vcpus = 2
        
        memory = 128
        
        name = "d32-1"
        vif = [ 'mac=00:16:3E:74:34:76' ]
        disk = ['phy:/dev/VG/debian-x86_32-1,xvda,w']
        
        hostname = "debian-1"
        
        tsc_mode=2
        extra = "xencons=hvc console=hvc0 ro root=/dev/xvda1" #
        
        # Install...
        #extra = "debian-installer/exit/always_halt=true -- " + extra
        #kernel = "/scratch/lenny/i386/vmlinuz"
        #ramdisk = "/scratch/lenny/i386/initrd.gz"

and uncomment the 3 lines at the end to do installs then recomment them
afterwards.

TBH I've come to the realisation that the xm-debian.cfg stuff was too
clever for its own good. With hindsight better solutions would have been
install-debian.sh, something compatible with the Xen bootloader option
or even just properly documenting the settings to be used in the
configuration file.

The complex python code in configuration files functionality of Xen is
likely to go away in a future upstream release so I really need to
revisit this and implement one of the other options, fortunately it
isn't necessary for Squeeze.

Ian.
-- 
Ian Campbell

God is real, unless declared integer.




Reply to: