parallels on ubuntu, parallels-config failure

yulian

Bit poster
Hi All,

i will test Parallels Workstation on my Ubuntu 7.10
I download the Trial as .deb and installed it.
Then i run parallels-config but the following error comes:

[: 141: ==: unexpected operator
Compiling Parallels Workstation 2.2 drivers...
Drivers have been compiled successfully.
/usr/bin/parallels-config: 175: pushd: not found
/usr/bin/parallels-config: 186: popd: not found
Installing drivers...
Starting drivers...
/usr/lib/parallels/autostart/drivers_start: 19: Syntax error: "(" unexpected
Parallels Workstation drivers were successfully configured
and compiled but cannot be started (insmod command failed).
Run 'dmesg' command for more information.
exit: 3: Illegal number: -1

dmesg shows the following:

[17179575.996000] NFORCE2: IDE controller at PCI slot 0000:00:09.0
[17179575.996000] NFORCE2: chipset revision 162
[17179575.996000] NFORCE2: not 100% native mode: will probe irqs later
[17179575.996000] NFORCE2: BIOS didn't set cable bits correctly. Enabling workaround.
[17179575.996000] NFORCE2: 0000:00:09.0 (rev a2) UDMA133 controller
[17179575.996000] ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
[17179575.996000] ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
[17179575.996000] Probing IDE interface ide0...
[17179576.292000] hda: WDC WD2000JB-00REA0, ATA DISK drive
[17179576.576000] hdb: WDC WD400JB-00ENA0, ATA DISK drive
[17179576.636000] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[17179576.656000] Probing IDE interface ide1...
[17179577.396000] hdc: HL-DT-ST DVD-RW GWA-4160B, ATAPI CD/DVD-ROM drive
[17179577.736000] ide1 at 0x170-0x177,0x376 on irq 15
[17179577.748000] hda: max request size: 512KiB
[17179577.756000] hda: 390721968 sectors (200049 MB) w/8192KiB Cache, CHS=24321/255/63, UDMA(100)
[17179577.760000] hda: cache flushes supported
[17179577.760000] hda: hda1
[17179577.764000] hdb: max request size: 128KiB
[17179577.764000] hdb: 78165360 sectors (40020 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
[17179577.764000] hdb: cache flushes not supported
[17179577.764000] hdb: hdb1 hdb2 < hdb5 >
[17179577.804000] hdc: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
[17179577.804000] Uniform CD-ROM driver Revision: 3.20
[17179578.168000] usbcore: registered new driver usbfs
[17179578.168000] usbcore: registered new driver hub
[17179578.168000] ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
[17179578.196000] ACPI: PCI Interrupt Link [APCF] enabled at IRQ 22
[17179578.196000] ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [APCF] -> GSI 22 (level, high) -> IRQ 177
[17179578.196000] PCI: Setting latency timer of device 0000:00:02.0 to 64
[17179578.196000] ohci_hcd 0000:00:02.0: OHCI Host Controller
[17179578.196000] ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
[17179578.196000] ohci_hcd 0000:00:02.0: irq 177, io mem 0xe8001000
[17179578.256000] usb usb1: configuration #1 chosen from 1 choice
[17179578.256000] hub 1-0:1.0: USB hub found
[17179578.256000] hub 1-0:1.0: 3 ports detected
[17179578.364000] ACPI: PCI Interrupt Link [APCG] enabled at IRQ 21
[17179578.364000] ACPI: PCI Interrupt 0000:00:02.1 -> Link [APCG] -> GSI 21 (level, high) -> IRQ 185
[17179578.364000] PCI: Setting latency timer of device 0000:00:02.1 to 64
[17179578.364000] ohci_hcd 0000:00:02.1: OHCI Host Controller
[17179578.364000] ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2
[17179578.364000] ohci_hcd 0000:00:02.1: irq 185, io mem 0xe8002000
[17179578.424000] usb usb2: configuration #1 chosen from 1 choice
[17179578.424000] hub 2-0:1.0: USB hub found
[17179578.424000] hub 2-0:1.0: 3 ports detected
[17179578.532000] ACPI: PCI Interrupt Link [APCL] enabled at IRQ 20
[17179578.532000] ACPI: PCI Interrupt 0000:00:02.2[C] -> Link [APCL] -> GSI 20 (level, high) -> IRQ 193
[17179578.532000] PCI: Setting latency timer of device 0000:00:02.2 to 64
[17179578.532000] ehci_hcd 0000:00:02.2: EHCI Host Controller
[17179578.532000] ehci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 3
[17179578.532000] ehci_hcd 0000:00:02.2: debug port 1
[17179578.532000] PCI: cache line size of 64 is not supported by device 0000:00:02.2
[17179578.532000] ehci_hcd 0000:00:02.2: irq 193, io mem 0xe8003000
[17179578.532000] ehci_hcd 0000:00:02.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[17179578.532000] usb usb3: configuration #1 chosen from 1 choice
[17179578.532000] hub 3-0:1.0: USB hub found
[17179578.532000] hub 3-0:1.0: 6 ports detected
[17179578.704000] Attempting manual resume
[17179578.736000] kjournald starting. Commit interval 5 seconds
[17179578.736000] EXT3-fs: mounted filesystem with ordered data mode.
[17179588.748000] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[17179588.756000] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[17179588.772000] Linux agpgart interface v0.101 (c) Dave Jones
[17179588.776000] agpgart: Detected NVIDIA nForce2 chipset
[17179588.780000] agpgart: AGP aperture is 64M @ 0xe0000000
[17179588.912000] input: PC Speaker as /class/input/input1
[17179589.004000] parport: PnPBIOS parport detected.
[17179589.004000] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[17179589.116000] i2c_adapter i2c-0: nForce2 SMBus adapter at 0x5000
[17179589.116000] i2c_adapter i2c-1: nForce2 SMBus adapter at 0x5040
[17179589.212000] ath_hal: module license 'Proprietary' taints kernel.
[17179589.216000] ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
[17179589.280000] ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 22
[17179589.280000] ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [APCJ] -> GSI 22 (level, high) -> IRQ 177
[17179589.280000] PCI: Setting latency timer of device 0000:00:06.0 to 64
[17179589.312000] wlan: 0.8.4.2 (0.9.2.1)
[17179589.320000] ath_rate_sample: 1.2 (0.9.2.1)
[17179589.324000] ath_pci: 0.9.4.5 (0.9.2.1)
[17179589.348000] Floppy drive(s): fd0 is 1.44M
[17179589.372000] FDC 0 is a post-1991 82077
[17179589.588000] input: ImExPS/2 Logitech MX Mouse as /class/input/input2
[17179589.604000] intel8x0_measure_ac97_clock: measured 58362 usecs
[17179589.604000] intel8x0: clocking to 47481
[17179589.608000] ACPI: PCI Interrupt Link [APC4] enabled at IRQ 19
[17179589.608000] ACPI: PCI Interrupt 0000:01:09.0[A] -> Link [APC4] -> GSI 19 (level, high) -> IRQ 201
[17179589.888000] ts: Compaq touchscreen protocol output
[17179589.964000] wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
[17179589.964000] wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
[17179589.964000] wifi0: H/W encryption support: WEP AES AES_CCM TKIP
[17179589.964000] wifi0: mac 5.6 phy 4.1 radio 1.7
[17179589.964000] wifi0: Use hw queue 1 for WME_AC_BE traffic
[17179589.964000] wifi0: Use hw queue 0 for WME_AC_BK traffic
[17179589.964000] wifi0: Use hw queue 2 for WME_AC_VI traffic
[17179589.964000] wifi0: Use hw queue 3 for WME_AC_VO traffic
[17179589.964000] wifi0: Use hw queue 8 for CAB traffic
[17179589.964000] wifi0: Use hw queue 9 for beacons
[17179589.968000] wifi0: Atheros 5212: mem=0xe7000000, irq=201
[17179590.044000] ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [APC4] -> GSI 19 (level, high) -> IRQ 201
[17179590.048000] NVRM: loading NVIDIA Linux x86 Kernel Module 1.0-8776 Mon Oct 16 21:56:04 PDT 2006
[17179590.448000] lp0: using parport0 (interrupt-driven).
[17179590.480000] Adding 1614492k swap on /dev/disk/by-uuid/b7697425-e29e-4af6-b68c-39e9c5caaffc. Priority:-1 extents:1 across:1614492k
[17179590.512000] EXT3 FS on hdb1, internal journal
[17179591.936000] NET: Registered protocol family 17
[17179595.796000] NET: Registered protocol family 10
[17179595.796000] lo: Disabled Privacy Extensions
[17179595.796000] IPv6 over IPv4 tunneling driver
[17179596.208000] ACPI: Power Button (FF) [PWRF]
[17179596.208000] ACPI: Power Button (CM) [PWRB]
[17179596.312000] ibm_acpi: ec object not found
[17179596.344000] pcc_acpi: loading...
[17179599.300000] agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
[17179599.300000] agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
[17179599.300000] agpgart: Putting AGP V3 device at 0000:02:00.0 into 8x mode
[17179600.104000] apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
[17179600.104000] apm: overridden by ACPI.
[17179603.868000] Bluetooth: Core ver 2.8
[17179603.868000] NET: Registered protocol family 31
[17179603.868000] Bluetooth: HCI device and connection manager initialized
[17179603.868000] Bluetooth: HCI socket layer initialized
[17179603.908000] Bluetooth: L2CAP ver 2.8
[17179603.908000] Bluetooth: L2CAP socket layer initialized
[17179603.948000] Bluetooth: RFCOMM socket layer initialized
[17179603.948000] Bluetooth: RFCOMM TTY layer initialized
[17179603.948000] Bluetooth: RFCOMM ver 1.7
[17179606.232000] ath0: no IPv6 routers present


I'm not a linux professional so i have no idea.
I run Ubuntu 7.10 and the Ethernet connection is a Wireless WEP with a D-Link G520+ (Atheros).

Can anyone help me?

Thanks, yulian
 
Hi, I had the same problem but after looking around the forums. I found this solution
Edit, as root, the files /usr/lib/parallels/autostart/drivers_start and /usr/lib/parallels/autostart/drivers_stop changing the first line to #!/bin/bash.
Afterwards, run parallels-config again to get Parallels working. You also need to change the first line in parallels-config by the way
You can see the full thread here http://forum.parallels.com/thread4707.html. Thank David Corrales.
 
I have another problem.
This is the compilation log :

Code:
cd drivers && make clean && cd ../
make[1]: entrant dans le répertoire « /usr/lib/parallels/drivers »
cd drv_main/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_main »
rm -rf *.o *.ko .*.cmd *.mod.c .tmp_versions
cd common; rm -rf *.o .*.cmd .tmp_versions; cd ..
cd mm; rm -rf *.o .*.cmd .tmp_versions; cd ..
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_main »
cd hypervisor/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/hypervisor »
/bin/sh: [[: not found
/bin/sh: [[: not found
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/hypervisor »
cd drv_net/linux/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_net/linux »
rm -rf *.o *.ko .*.cmd *.mod.c .tmp_versions
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_net/linux »
cd drv_virtualnic/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_virtualnic »
rm -rf *.o *.ko .*.cmd *.mod.c .tmp_versions
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_virtualnic »
make[1]: quittant le répertoire « /usr/lib/parallels/drivers »
cd drivers && make all && cd ../
make[1]: entrant dans le répertoire « /usr/lib/parallels/drivers »
cd drv_main/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_main »
rm -rf *.o *.ko .*.cmd *.mod.c .tmp_versions
cd common; rm -rf *.o .*.cmd .tmp_versions; cd ..
cd mm; rm -rf *.o .*.cmd .tmp_versions; cd ..
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_main »
cd hypervisor/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/hypervisor »
/bin/sh: [[: not found
/bin/sh: [[: not found
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/hypervisor »
cd drv_net/linux/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_net/linux »
rm -rf *.o *.ko .*.cmd *.mod.c .tmp_versions
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_net/linux »
cd drv_virtualnic/ && make clean && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_virtualnic »
rm -rf *.o *.ko .*.cmd *.mod.c .tmp_versions
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_virtualnic »
cd drv_main/ && make && cd ..
make[2]: entrant dans le répertoire « /usr/lib/parallels/drivers/drv_main »
make -C /lib/modules/2.6.20-9-generic/build SUBDIRS=/usr/lib/parallels/drivers/drv_main SRCROOT=/usr/lib/parallels/drivers/drv_main modules
make[3]: entrant dans le répertoire « /usr/src/linux-headers-2.6.20-9-generic »
  CC [M]  /usr/lib/parallels/drivers/drv_main/vmmain.o
In file included from /usr/lib/parallels/drivers/drv_main/vmmain.c:29:
/usr/lib/parallels/drivers/drv_main/vmmain.h:196: error: expected specifier-qualifier-list before ‘kmem_cache’
/usr/lib/parallels/drivers/drv_main/vmmain.c: In function ‘init_module’:
/usr/lib/parallels/drivers/drv_main/vmmain.c:82: error: ‘struct <anonymous>’ has no member named ‘totalMem’
make[4]: *** [/usr/lib/parallels/drivers/drv_main/vmmain.o] Erreur 1
make[3]: *** [_module_/usr/lib/parallels/drivers/drv_main] Erreur 2
make[3]: quittant le répertoire « /usr/src/linux-headers-2.6.20-9-generic »
make[2]: *** [all] Erreur 2
make[2]: quittant le répertoire « /usr/lib/parallels/drivers/drv_main »
make[1]: *** [vmmain] Erreur 2
make[1]: quittant le répertoire « /usr/lib/parallels/drivers »
make: *** [build] Erreur 2

This is the file /usr/lib/parallels/drivers/drv_main/vmmain.h :
Code:
/
#ifndef __VMMAIN_H__
#define __VMMAIN_H__

#include <linux/slab.h>
#include "timer.h"

#include "vm_compiler.h"
#include "ioctls.h"

#include "Types.h"
#include "PMM.h"

/* proc fs */
int vmProcInit(void);
void vmProcDeinit(void);

/* device */
int vmDeviceInit(void);
void vmDeviceDeinit(void);

/* pages cache */
int vmPcacheInit(void);
void vmPcacheDeinit(void);

/* internal data */
struct module_param_t *iDataOpen(void);
void iDataClose(struct module_param_t *);
void iDataFree(struct module_param_t *);


/* monitor exported functions */
void STD_INTERCOM      *mm_mon_allocMem(long);
void STD_INTERCOM       mm_mon_freeMem(void *);
void STD_INTERCOM      *mm_mon_allocContigMem(long);
void STD_INTERCOM       mm_mon_freeContigMem(void *, long);
long STD_INTERCOM       mm_mon_representToMonMem(void *, long, void **, void **, void *);
void STD_INTERCOM       mm_mon_releaseFromMonMem(void *, void *, void *);
unsigned STD_INTERCOM   mm_mon_getPagesIndex(unsigned long *, int, void *, unsigned, void *);
#ifndef CALL_MONITOR_FROM_GATE
long STD_INTERCOM       vm_mon_redirectIRQ(unsigned int);
#endif

/* exports manager */
int vmSetExports(struct module_param_t *);

/* Status definition */
typedef long NTSTATUS;
#define STATUS_SUCCESS      ((NTSTATUS)0x00000000L)
#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)
#define NT_SUCCESS(Status)  ((NTSTATUS)((Status & 0x80000000) == 0))

/* monitor function typedef */
typedef NTSTATUS (STDCALL * monitor_funct_t)(void *, int, void *);

/* functions exported to monitor */
struct extern_funcs_t {
    /* Output debug information  */
    void  STD_INTERCOM      (*logFunction)(char *, ...);
    /* Allocation memory */
    void* STD_INTERCOM      (*allocMem)(long);
    /* Release memory */
    void  STD_INTERCOM      (*freeMem)(void *);
    /* Allocation contig memory */
    void* STD_INTERCOM      (*allocContigMem)(long);
    /* Release contig memory */
    void  STD_INTERCOM      (*freeContigMem)(void *, long);
    /* Representation neccesary Application address area to Monitor
     * Memory lock and mapping */
    long  STD_INTERCOM      (*representToMonMem)(void *, long, void **, void **, void *);
    /* Function cancels fixed memory representation to Monitor address area
     * Memory unlock and unmapping */
    void  STD_INTERCOM      (*releaseFromMonMem)(void *, void *, void *);
    /* Gather indexes of physical pages for virtual address area */
    unsigned STD_INTERCOM   (*getPagesIndex)(unsigned long *, int, void *, unsigned, void *);
#ifndef CALL_MONITOR_FROM_GATE
    /* redirect IRQ */
    long STD_INTERCOM (*redirectIRQ)(unsigned int);
#endif
};


/***************** Exports *****************/
/* exported directly from monitor */
typedef struct MON_MEM_DESC {
    unsigned int            uPages;
    struct page             **pPages;
    struct vm_area_struct   **vmas;
    unsigned int            pMonAddr;
    unsigned int            bValid;
} MON_MEM_DESC;

/* exported from Api.h */
typedef struct MEM_MAP {
    void        *m_pMemPtr;
    void        *m_pMdlPtr;
    void        *m_pMonPtr;
} MEM_MAP;

typedef struct MEMORY_INFO {
    int             m_MemType;
    unsigned int    m_dwMemSize;
    int             m_bUserMap;
    MEM_MAP         m_MemMap;
} MEMORY_INFO;

/* monbody */
#define SYS_MONBODY_MEMORY 201

/* driver info structure */
struct driver_info_to_mon_t {
    /* monitor start address */
    void *monAddr;
    /* monitor size */
    unsigned monSize;
    /* functions exported to monitor */
    struct extern_funcs_t exportedFunc;
    /* exchange buffer between monitor and driver */
    void *memBuff;
};

/***************** Exports *****************/

/* module info struct */
struct module_param_t {

    /* Pointer to the start address of Monitor region */
    void *MonAddr;

    /* Size of Monitor region */
    unsigned MonSize;

    /* driver info for monitor */
    struct driver_info_to_mon_t drvInfo;

    /* hires timer */
    struct vmTimer timer;

    /* is salt passed ? */
    int saltPassed;
    
    /* exported old stub class */
    struct {
        /* List of Monitor functions */
        monitor_funct_t MonitorFuncs[MONFUNC_COUNT];

        /* Pointer to the Monitor state */
        void *pvm;

        /* main PMM struct  */ 
        struct pmm_struct_t *PmmData;

        /* pmm share buffer saved pointer */
        void *pmmShareBuff;

        /* bma phy pages structure */
        struct bma_t *bma;

        /* IntGate monitor id */
        unsigned int MonId;
    } iData;
};

/* global structure */
struct vm_global_t {

    /* array of pages cache */
    struct farray_head *phyPagesCache;

    /* random salt */
    char *salt;
    
    struct {
        /* pmm's access mutex */
        struct semaphore pmmAccSem;
        /* list of PMM's */
        struct list_head pmmList;
        /* regions cache */
        kmem_cache *pmmRegionsSlab;
        /* total guest memory */
        unsigned long totalMem;
    } vmPmms;

    struct {
        /* max memory limit */
        long overallMemoryLimit;
        /* semaphore for working set calculations */
        struct semaphore wsSem;
        /* Workstations count */
        int wsCount;
        /* pages used by regoins descriptors */
        long regPages;
        /* pages available for vms */
        long vmsPages;
        /* used by all vms */
        long allVmsUsed;
        /* each WS */
        long eachWS;
        /* total pages allocated by all apps */
        long totalAllocated;
    } vmWset;
};

#ifdef MAIN_MODULE_FILE
 UNUSED struct vm_global_t vmGlobal;
#else
 extern struct vm_global_t vmGlobal;
#endif

#include "mm.h"

#endif /* __VMMAIN_H__ */

Can you help me please ?
 
Back
Top