2004-01-05 10:06:49

by Xavier Bestel

[permalink] [raw]
Subject: 2.6.0 under vmware ?

Hi,

I have problems running 2.6.0 under vmware (4.02 and 4.05). I did a
basic debian/sid install, then installed various 2.6.0 kernel images
(with or without initrd, from debian (-test9 and -test11) or self-made
(stock 2.6.0).
They all make /sbin/init (from sysvinit 2.85) segfault at a particular
address (I haven't yet recompiled it with -g to see where, but a
dissassembly shows it's a "ret").
I try booting to /bin/sh from the initrd, and there I can play with the
shell, mount the alternate root, play with commands there, and then exec
/sbin/init, but it segfaults at the same point.

Has anyone managed to make a basic debian with 2.6 work under vmware ?
Has anyone managed to make another distro with 2.6 work under vmware ?

Thanks, and happy new year to everyone,

Xav


2004-01-05 11:21:34

by Ernst Herzberg

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

On Montag, 5. Januar 2004 11:06, Xavier Bestel wrote:
> Hi,
>
> I have problems running 2.6.0 under vmware (4.02 and 4.05). I did a
> basic debian/sid install, then installed various 2.6.0 kernel images
> (with or without initrd, from debian (-test9 and -test11) or self-made
> (stock 2.6.0).
> They all make /sbin/init (from sysvinit 2.85) segfault at a particular
> address (I haven't yet recompiled it with -g to see where, but a
> dissassembly shows it's a "ret").
> I try booting to /bin/sh from the initrd, and there I can play with the
> shell, mount the alternate root, play with commands there, and then exec
> /sbin/init, but it segfaults at the same point.
>
> Has anyone managed to make a basic debian with 2.6 work under vmware ?
> Has anyone managed to make another distro with 2.6 work under vmware ?

Same problem here. Tried gentoo with 2.6.0 and 2.6.1-rc1: /sbin/init will
segfault. Testet vmware on a Dual PIII 2.4.23-pre3 and a Athlon XP with
2.6.1-rc1.

Earny


2004-01-05 11:35:20

by Alexander Hoogerhuis

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

Ernst Herzberg <[email protected]> writes:

> On Montag, 5. Januar 2004 11:06, Xavier Bestel wrote:
> > Hi,
> >
> > I have problems running 2.6.0 under vmware (4.02 and 4.05). I did a
> > basic debian/sid install, then installed various 2.6.0 kernel images
> > (with or without initrd, from debian (-test9 and -test11) or self-made
> > (stock 2.6.0).
> > They all make /sbin/init (from sysvinit 2.85) segfault at a particular
> > address (I haven't yet recompiled it with -g to see where, but a
> > dissassembly shows it's a "ret").
> > I try booting to /bin/sh from the initrd, and there I can play with the
> > shell, mount the alternate root, play with commands there, and then exec
> > /sbin/init, but it segfaults at the same point.
> >
> > Has anyone managed to make a basic debian with 2.6 work under vmware ?
> > Has anyone managed to make another distro with 2.6 work under vmware ?
>
> Same problem here. Tried gentoo with 2.6.0 and 2.6.1-rc1: /sbin/init will
> segfault. Testet vmware on a Dual PIII 2.4.23-pre3 and a Athlon XP with
> 2.6.1-rc1.
>

Ack that, P4 with 2.6.0-mmX and 2.6.1-rc1-mmX :)

> Earny
>

--
Alexander Hoogerhuis | [email protected]
CCNP - CCDP - MCNE - CCSE | +47 908 21 485
"You have zero privacy anyway. Get over it." --Scott McNealy

2004-01-05 14:20:42

by Ville Herva

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

On Mon, Jan 05, 2004 at 11:06:43AM +0100, you [Xavier Bestel] wrote:
> Hi,
>
> Has anyone managed to make another distro with 2.6 work under vmware ?

2.6.1rc1 works great for me under vmware 4.05 (6030), but that's with an
ancient glibc and /sbin/init that do not know of sysenter among other
things.

There is one regression, though: 2.2.x and 2.4.x can see /dev/fd0 and
/dev/fd1 under vmware. 2.6.1rc1 only find /dev/fd0. Does anyone else see
this?

There's quite a few changes in floppy.c from 2.4 to 2.6 - I couldn't quite
spot what could be the culprit.


-- v --

[email protected]

2004-01-05 15:20:14

by Xavier Bestel

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

Le lun 05/01/2004 ? 12:15, Ville Herva a ?crit :

> I'm running 2.6.1rc1 (+kexec patch) under vmware-4.05 (build 6030) right
> now. Works just fine (even kexec).
>
> The userland as it happens is as recent as rh62, but I'm inclined to
> believe newer distros would likely work better, not worse. Perhaps there's
> something wicked with the debian init.

Finally installed the very same kernel under a fresh RH9 installation,
and it works like a charm. Thanks for the hint !

Xav

2004-01-05 17:14:55

by Petr Vandrovec

[permalink] [raw]
Subject: floppy driver and multiple floppies (was Re: 2.6.0 under vmware ?)

On Mon, Jan 05, 2004 at 04:20:32PM +0200, Ville Herva wrote:
> On Mon, Jan 05, 2004 at 11:06:43AM +0100, you [Xavier Bestel] wrote:
> > Hi,
> >
> > Has anyone managed to make another distro with 2.6 work under vmware ?
>
> 2.6.1rc1 works great for me under vmware 4.05 (6030), but that's with an
> ancient glibc and /sbin/init that do not know of sysenter among other
> things.
>
> There is one regression, though: 2.2.x and 2.4.x can see /dev/fd0 and
> /dev/fd1 under vmware. 2.6.1rc1 only find /dev/fd0. Does anyone else see
> this?

Are you sure that VMware is a culprit? I had to apply patch below to get
floppy option to work at all (otherwise buggy kernel options parser which
does not understand quotes comes in a way making it impossible to do
f.e. "floppy=1,6,cmos").

And even then configuration with more than one floppy drive is broken:
all floppies will use same queue, but it is not allowed - there is even
comment in the code saying "to be cleaned up" before add_disk() call,
and from my understanding there must be 1:1 relation between queues
and registered disks. Otherwise (at least) sysfs breaks and will
crash on floppy unload as queue is deleted twice from sysfs, and it does not
like doing such things...
Petr Vandrovec
[email protected]


diff -urdN linux/drivers/block/floppy.c linux/drivers/block/floppy.c
--- linux/drivers/block/floppy.c 2003-12-31 02:59:44.000000000 +0100
+++ linux/drivers/block/floppy.c 2003-12-31 14:14:21.000000000 +0100
@@ -150,6 +150,7 @@
/* do print messages for unexpected interrupts */
static int print_unex=1;
#include <linux/module.h>
+#include <linux/moduleparam.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/kernel.h>
@@ -4618,9 +4619,9 @@
wait_for_completion(&device_release);
}

-MODULE_PARM(floppy,"s");
-MODULE_PARM(FLOPPY_IRQ,"i");
-MODULE_PARM(FLOPPY_DMA,"i");
+module_param(floppy, charp, 0);
+module_param(FLOPPY_IRQ, int, 0);
+module_param(FLOPPY_DMA, int, 0);
MODULE_AUTHOR("Alain L. Knaff");
MODULE_SUPPORTED_DEVICE("fd");
MODULE_LICENSE("GPL");

2004-01-05 18:55:33

by Ville Herva

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

On Mon, Jan 05, 2004 at 04:20:32PM +0200, you [Ville Herva] wrote:
>
> There is one regression, though: 2.2.x and 2.4.x can see /dev/fd0 and
> /dev/fd1 under vmware. 2.6.1rc1 only find /dev/fd0. Does anyone else see
> this?

Turns out the second floppy drive was disabled from the bios.

Oddly, 2.2 and 2.4 don't care.

If I turn the second drive on from the bios, 2.6 finds it, too.


-- v --

[email protected]

2004-01-05 19:30:19

by Stephen Hemminger

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

On Mon, 5 Jan 2004 20:55:06 +0200
Ville Herva <[email protected]> wrote:

> On Mon, Jan 05, 2004 at 04:20:32PM +0200, you [Ville Herva] wrote:
> >
> > There is one regression, though: 2.2.x and 2.4.x can see /dev/fd0 and
> > /dev/fd1 under vmware. 2.6.1rc1 only find /dev/fd0. Does anyone else see
> > this?
>
> Turns out the second floppy drive was disabled from the bios.
>
> Oddly, 2.2 and 2.4 don't care.
>
> If I turn the second drive on from the bios, 2.6 finds it, too.

Probably because 2.6 uses ACPI and 2.2/2.4 were not.

2004-01-05 19:50:21

by Ville Herva

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

On Mon, Jan 05, 2004 at 11:30:03AM -0800, you [Stephen Hemminger] wrote:
> >
> > Turns out the second floppy drive was disabled from the bios.
> >
> > Oddly, 2.2 and 2.4 don't care.
> >
> > If I turn the second drive on from the bios, 2.6 finds it, too.
>
> Probably because 2.6 uses ACPI and 2.2/2.4 were not.

Sounds reasonable.

However, booting with "acpi=off" doesn't dig up /dev/fd1. Perhaps ACPI
should be compiled out for good, but this really isn't a large problem for
me as long as the drive works when enabled in BIOS.


-- v --

[email protected]

2004-01-06 05:45:56

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: 2.6.0 under vmware ?

On Mon, 5 Jan 2004, Alexander Hoogerhuis wrote:

> Ernst Herzberg <[email protected]> writes:
>
> > On Montag, 5. Januar 2004 11:06, Xavier Bestel wrote:
> > > Hi,
> > >
> > > I have problems running 2.6.0 under vmware (4.02 and 4.05). I did a
> > > basic debian/sid install, then installed various 2.6.0 kernel images
> > > (with or without initrd, from debian (-test9 and -test11) or self-made
> > > (stock 2.6.0).
> > > They all make /sbin/init (from sysvinit 2.85) segfault at a particular
> > > address (I haven't yet recompiled it with -g to see where, but a
> > > dissassembly shows it's a "ret").
> > > I try booting to /bin/sh from the initrd, and there I can play with the
> > > shell, mount the alternate root, play with commands there, and then exec
> > > /sbin/init, but it segfaults at the same point.
> > >
> > > Has anyone managed to make a basic debian with 2.6 work under vmware ?
> > > Has anyone managed to make another distro with 2.6 work under vmware ?
> >
> > Same problem here. Tried gentoo with 2.6.0 and 2.6.1-rc1: /sbin/init will
> > segfault. Testet vmware on a Dual PIII 2.4.23-pre3 and a Athlon XP with
> > 2.6.1-rc1.
> >
>
> Ack that, P4 with 2.6.0-mmX and 2.6.1-rc1-mmX :)

Does the following make a difference for you? Please note that
an updated VMWare 4 doesn't have this problem.

Index: linux-2.5.69-mm5/Documentation/kernel-parameters.txt
===================================================================
RCS file: /build/cvsroot/linux-2.5.69/Documentation/kernel-parameters.txt,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 kernel-parameters.txt
--- linux-2.5.69-mm5/Documentation/kernel-parameters.txt 6 May 2003 12:21:18 -0000 1.1.1.1
+++ linux-2.5.69-mm5/Documentation/kernel-parameters.txt 15 May 2003 15:14:23 -0000
@@ -1063,6 +1063,10 @@ running once the system is up.

sym53c8xx= [HW,SCSI]
See Documentation/scsi/ncr53c8xx.txt.
+
+ nosysenter [IA-32]
+ Disable SYSENTER for syscalls, does not clear the SEP
+ capabilities bit.

t128= [HW,SCSI]
See header of drivers/scsi/t128.c.
Index: linux-2.5.69-mm5/arch/i386/kernel/sysenter.c
===================================================================
RCS file: /build/cvsroot/linux-2.5.69/arch/i386/kernel/sysenter.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 sysenter.c
--- linux-2.5.69-mm5/arch/i386/kernel/sysenter.c 6 May 2003 12:20:51 -0000 1.1.1.1
+++ linux-2.5.69-mm5/arch/i386/kernel/sysenter.c 15 May 2003 07:46:05 -0000
@@ -20,6 +20,7 @@
#include <asm/unistd.h>

extern asmlinkage void sysenter_entry(void);
+static int nosysenter __initdata;

/*
* Create a per-cpu fake "SEP thread" stack, so that we can
@@ -51,6 +52,13 @@ void enable_sep_cpu(void *info)
put_cpu();
}

+static int __init do_nosysenter(char *s)
+{
+ nosysenter = 1;
+ return 1;
+}
+__setup("nosysenter", do_nosysenter);
+
/*
* These symbols are defined by vsyscall.o to mark the bounds
* of the ELF DSO images included therein.
@@ -64,7 +72,7 @@ static int __init sysenter_setup(void)

__set_fixmap(FIX_VSYSCALL, __pa(page), PAGE_READONLY);

- if (!boot_cpu_has(X86_FEATURE_SEP)) {
+ if (nosysenter || !boot_cpu_has(X86_FEATURE_SEP)) {
memcpy((void *) page,
&vsyscall_int80_start,
&vsyscall_int80_end - &vsyscall_int80_start);

2004-01-07 03:40:45

by Rusty Russell

[permalink] [raw]
Subject: Re: floppy driver and multiple floppies (was Re: 2.6.0 under vmware ?)

In message <[email protected]> you write:
> -MODULE_PARM(floppy,"s");
> -MODULE_PARM(FLOPPY_IRQ,"i");
> -MODULE_PARM(FLOPPY_DMA,"i");
> +module_param(floppy, charp, 0);
> +module_param(FLOPPY_IRQ, int, 0);
> +module_param(FLOPPY_DMA, int, 0);

You really don't want these to be visible through sysfs? I'd expect
0444 rather than 0 as the last arg...

Also it'd be nice to do furthur cleanups and get rid of the #ifdef
MODULE altogether...

Cheers,
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.