On Mon, 22 Dec 2008, Ian Campbell wrote:

> Ferenc seems to be using the xvda1=img1,xvda2=img2 scheme of Xen disks
> (this is what xentools gets you) rather than the whole disk with
> partition scheme.
> 
> In the xvda1/xvda2 scheme /sys/block contains:
>         # ls /sys/block/
>         ram0  ram1  ram10  ram11  ram12  ram13 ram14  ram15  ram2  ram3
>         ram4 ram5  ram6  ram7  ram8 ram9  xvda1  xvda2
> 
> In the whole disk scheme it contains xvda as you would expect:
>         # ls /sys/block/
>         loop0  loop1  loop2  loop3  loop4  loop5  loop6  loop7 ram0
>         ram1  ram10  ram11  ram12  ram13 ram14  ram15  ram2  ram3  ram4
>         ram5  ram6  ram7  ram8 ram9  xvda

thanks for the analysis and the explanation.
 
> I've attached a patch which takes care of this difference. However the
> modules still aren't loaded.

hmm what?
which modules are not loaded?
 
> Note that the -xen type images seem to have the block driver builtin
> (and therefore work fine) while the -686-bigmem ones have it modular
> (xen-blkfront.ko) and break with MODULES=dep.

argh,
the syswalking doesn't add that one?
could you post output with MODULES=dep for the modular case of
sh -x mkinitramfs -o /tmp/foo
 
> I've attached ls -lRt of my /sys running -686-bigmem
> and /sys/devices/vbd-51712/modalias contains "xen:vbd" which is present
> as an alias on the xen-blkfront.ko module. Any other info required
> please ask.
 

thanks for the patch bellow i'll apply it asap,
as it is an improvement anyway

> --- /usr/share/initramfs-tools/hook-functions.orig    2008-12-17 
> 21:48:06.000000000 +0000
> +++ /usr/share/initramfs-tools/hook-functions 2008-12-17 21:53:02.000000000 
> +0000
> @@ -269,6 +269,14 @@
>               root=${root#/dev/}
>               block=$(awk "/^${root}/{print substr(\$5, 1, 3); exit}" \
>                       /proc/mdstat)
> +     # Xen virtual device /dev/xvdX
> +     elif [ "${root#/dev/xvd}" != "${root}" ]; then
> +             block=${root#/dev/}
> +             # Xen has a mode where only the individual partitions are 
> registered with the kernel
> +             # as well as the usual full disk with partition table scheme.
> +             if [ ! -e /sys/block/${block} ] ; then
> +                     block=${block%[0-9]*}
> +             fi
>       # classical root device
>       else
>               block=${root#/dev/}

-- 
maks



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to