# [RISOLTO] XEN: problemi quando parte X

## fbcyborg

Salve a tutti, 

ho installato XEN su una partizione separata del mio hard disk e funziona bene fino a quando non tento di far partire KDE o comunque fino a quando non lancio startx.

Quello che accade è che facendo startx, ottengo the blank screen of death.

Non c'è modo di fare nulla se non un reboot forzato tramite la sequenza di alt+stamp+...

Se provo ad accedere via ssh funziona, ma se tento di stoppare xdm, non ci riesce.

So che forse sono poche informazioni ma più di questo non mi viene in mente altro, non so proprio cosa fare.

Qualcuno sa come potrei iniziare a capire dove sia il problema?

Ho una nvidia, ma so già che non posso usare i drivers nvidia, quindi niente accelerazione 3d, ma almeno mi piacerebbe poter capire perché non va.

EDIT: sono riuscito ad ottenere qualcosa di significativo dal /var/log/messages al momento dello startx:

```
Aug  3 11:38:34 XEN ------------[ cut here ]------------

Aug  3 11:38:34 XEN Kernel BUG at ffffffff802741e4 [verbose debug info unavailable]

Aug  3 11:38:34 XEN invalid opcode: 0000 [1] SMP

Aug  3 11:38:34 XEN CPU 0

Aug  3 11:38:34 XEN Modules linked in: snd_seq snd_pcm_oss snd_mixer_oss ehci_hcd pcspkr 3c59x

Aug  3 11:38:34 XEN Pid: 2504, comm: X Not tainted 2.6.21-xen #6

Aug  3 11:38:34 XEN RIP: e030:[<ffffffff802741e4>]  [<ffffffff802741e4>]

Aug  3 11:38:34 XEN RSP: e02b:ffff8800edcf3e88  EFLAGS: 00010202

Aug  3 11:38:34 XEN RAX: 00000000000f36df RBX: 00002b3542600000 RCX: 00000003ffffffff

Aug  3 11:38:34 XEN RDX: ffff880000000000 RSI: 00000000ecef0000 RDI: ffff8800edf8fcb8

Aug  3 11:38:34 XEN RBP: 00002b354327c000 R08: 80003ffffffff027 R09: 0000000000000000

Aug  3 11:38:34 XEN R10: 00003ffffffff0a0 R11: 00002b354247c000 R12: 00002b354247c000

Aug  3 11:38:34 XEN R13: 00002b354327c000 R14: ffff8800ece4cf00 R15: ffff8800ecef03e0

Aug  3 11:38:34 XEN FS:  00002b353f3bd7b0(0000) GS:ffffffff807cc000(0000) knlGS:0000000000000000

Aug  3 11:38:34 XEN CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b

Aug  3 11:38:34 XEN CR2: 0000000000000000 CR3: 00000000ede04000 CR4: 0000000000002620

Aug  3 11:38:34 XEN Process X (pid: 2504, threadinfo ffff8800edcf2000, task ffff8800f2920760)

Aug  3 11:38:34 XEN Stack:  ffff8800f0584d80 00000000000f9000 0000000000000000 000000000000005a

Aug  3 11:38:34 XEN 0000000000000003 00002b354327c000 00000000000840bb 0000000000000000

Aug  3 11:38:34 XEN 0000000000000e00 00000000000840b8 ffff8800edf8fc40 ffff8800f05646a8

Aug  3 11:38:34 XEN Call Trace:

Aug  3 11:38:34 XEN [<ffffffff80285cb3>]

Aug  3 11:38:34 XEN [<ffffffff8020a1d6>]

Aug  3 11:38:34 XEN [<ffffffff8020a150>]

Aug  3 11:38:34 XEN

Aug  3 11:38:34 XEN

Aug  3 11:38:34 XEN Code: 0f 0b 66 2e 0f 1f 84 00 00 00 00 00 eb fe 48 b8 ff 0f 00 00

Aug  3 11:38:34 XEN RIP  [<ffffffff802741e4>]

Aug  3 11:38:34 XEN RSP <ffff8800edcf3e88>
```

Sembra una cosa seria!   :Evil or Very Mad: 

----------

## Apetrini

Allora...

Dici che non stai usando i driver nvidia, quandi hai esplicitamente detto a xorg.conf di usare vesa? Fallo, perche il riconoscimento automatico di Xorg potrebbe caricarsi il driver nvidia al volo(se presente nel sistema ovviamente).

Hai il seguente driver ? 

```
x11-drivers/xf86-video-vesa
```

.

Prova a esplicitare l'uso di vesa come driver  e per sicurezza dai un 

```
eselect opengl set xorg-x11
```

.

Potrebbe essere anche qualche piccola rogna con hal, prova a stopparlo per vedere se migliora la situazione. Ovviamente cosi ti scordi il riconoscimento automatico dei device di input, ma tu prova intanto per vedere se funziona.

Sia ben chiaro che far girare kde sulla macchina con Xen non è il massimo. C'è un motivo particolare per cui vuoi fare cio?

P.s. senza che lanci kde ogni volta, mentre fai le prove lancia startx liscio che è piu minimale e limita le possibilità di errore altrove.

----------

## fbcyborg

Innanzitutto grazie per la risposta!!!  :Smile: 

 *Apetrini wrote:*   

> Allora...
> 
> Dici che non stai usando i driver nvidia, quandi hai esplicitamente detto a xorg.conf di usare vesa? 

 Sì, questo lo faccio già. *Apetrini wrote:*   

> Fallo, perche il riconoscimento automatico di Xorg potrebbe caricarsi il driver nvidia al volo(se presente nel sistema ovviamente).

 Non c'è rischio perché nvidia non è presente. *Apetrini wrote:*   

> 
> 
> Hai il seguente driver ? 
> 
> ```
> ...

 Sì, la versione 2.2.0. *Apetrini wrote:*   

> 
> 
> Prova a esplicitare l'uso di vesa come driver  e per sicurezza dai un 
> 
> ```
> ...

 Ok, faccio solo la seconda cosa... (Ora in effetti credo che una causa di questo problema stava nel fatto che era settato nvidia!!!) ma andiamo avanti... 

Niente.. purtroppo, faccio startx e ancora schermo nero   :Evil or Very Mad:   *Apetrini wrote:*   

> 
> 
> Potrebbe essere anche qualche piccola rogna con hal, prova a stopparlo per vedere se migliora la situazione. Ovviamente cosi ti scordi il riconoscimento automatico dei device di input, ma tu prova intanto per vedere se funziona.

 Niente, stoppando hald non migliora nulla. Stesso risultato. Ho provato a toglierlo anche dal runlevel di default e riavviare senza hal, ma niente. *Apetrini wrote:*   

> 
> 
> Sia ben chiaro che far girare kde sulla macchina con Xen non è il massimo. C'è un motivo particolare per cui vuoi fare cio?

 Sì, mi piace KDE. Inoltre vorrei poter avviare sistemi operativi in modalità grafica. Un mio amico c'è riuscito a far funzionare KDE, ma ora non lo sento da un po' e non posso chiederglielo. Fra l'altro KDE girava, e anche bene. *Apetrini wrote:*   

> 
> 
> P.s. senza che lanci kde ogni volta, mentre fai le prove lancia startx liscio che è piu minimale e limita le possibilità di errore altrove.

 

Io ho sempre lanciato startx, e solo ora sono riuscito a recuperare qualche riga di errore che stampa prima del blank screen:

```
XEN ~ # startx

hostname: Unknown host

xauth:  creating new authority file /root/.serverauth.2498

X.Org X Server 1.5.3

Release Date: 5 November 2008

X Protocol Version 11, Revision 0

Build Operating System: Linux 2.6.29-gentoo-r1 x86_64

Current Operating System: Linux XEN 2.6.21-xen #6 SMP Mon Jul 20 16:27:54 CEST 2009 x86_64

Build Date: 28 April 2009  08:48:00PM

        Before reporting problems, check http://wiki.x.org

        to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,

        (++) from command line, (!!) notice, (II) informational,

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Fri Aug 28 12:58:31 2009

(==) Using config file: "/etc/X11/xorg.conf"

(EE) Failed to load module "freetype" (module does not exist, 0)

error setting MTRR (base = 0xf9000000, size = 0x00e00000, type = 1) Invalid argument (22)

```

E questo grazie ad un collegamento via ssh... 

Però mi sembra strano che possa essere colpa di freetype, tutto ciò.

infatti:

```
/usr/lib64/libfreetype.so

/usr/lib64/libfreetype.so.6

/usr/lib64/libfreetype.a

/usr/lib64/libfreetype.la

/usr/lib64/libfreetype.so.6.3.19

/usr/lib32/libfreetype.so

/usr/lib32/libfreetype.so.6

/usr/lib32/libfreetype.so.6.3.18
```

Quindi libfreetype è presente eccome!

Di conseguenza credo che non c'entri nulla con il problema in questione.. Intanto lo rimuovo dal xrog.conf qualora sia presente.

Grazie ancora.

----------

## Apetrini

 *fbcyborg wrote:*   

> 
> 
> Sì, mi piace KDE. Inoltre vorrei poter avviare sistemi operativi in modalità grafica. Un mio amico c'è riuscito a far funzionare KDE, ma ora non lo sento da un po' e non posso chiederglielo. Fra l'altro KDE girava, e anche bene.
> 
> 

 

Xen è fatto principalmente per avere una macchina tutta per se, per poter avviare i sistemi operativi in modalità grafica usi le interfacce remote tipo virt-manager (supporta xen, kvm, qemu).

Quello che vuoi tu è un xen che funzioni allo stesso modo di vmware-workstation, il progetto è in corso ma ci vorrà ancora parecchio.

Se proprio hai la necessità puoi provare VirtualBox (anhe se ha qualche fastidio, specie con i *BSD).

```
XEN ~ # startx

hostname: Unknown host

xauth:  creating new authority file /root/.serverauth.2498

X.Org X Server 1.5.3

Release Date: 5 November 2008

X Protocol Version 11, Revision 0

Build Operating System: Linux 2.6.29-gentoo-r1 x86_64

Current Operating System: Linux XEN 2.6.21-xen #6 SMP Mon Jul 20 16:27:54 CEST 2009 x86_64

Build Date: 28 April 2009  08:48:00PM

        Before reporting problems, check http://wiki.x.org

        to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,

        (++) from command line, (!!) notice, (II) informational,

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Fri Aug 28 12:58:31 2009

(==) Using config file: "/etc/X11/xorg.conf"

(EE) Failed to load module "freetype" (module does not exist, 0)

[b]error setting MTRR (base = 0xf9000000, size = 0x00e00000, type = 1) Invalid argument (22)[/b]

```

Il fatto che il modulo freetype non esiste non è un problema.

MTRR è il problema. Forse stai usando un kernel vecchio oppure non hai settato adeguatamente il MTRR nel kernel.

P.s. se volete avere alta affidabilità(quella vera, non quella che si fa semplicemente con heartbeat e drbd, ossia quella che da master a slave ci impiega meno di 1s per fare lo switch e i contenuti della ram riamangano intatti ) date un occhio al progetto kemari http://www.osrg.net/kemari/.

P.p.s. da un occhio anche a KVM, perché molto probabilmente sarà la soluzione futura che si mangerà tutte le altre...

----------

## fbcyborg

 *Apetrini wrote:*   

> 
> 
> Il fatto che il modulo freetype non esiste non è un problema.
> 
> MTRR è il problema. Forse stai usando un kernel vecchio oppure non hai settato adeguatamente il MTRR nel kernel.

 

OK, il fatto è che non so quale errata configurazione potrebbe aver creato problemi.

MTRR è compilato nel kernel (versione 2.6.21).

Grazie per il consiglio su VirtualBox, ma già lo uso in altri ambiti. Ora devo imparare bene XEN e farlo funzionare.

----------

## Apetrini

 *fbcyborg wrote:*   

> 
> 
> OK, il fatto è che non so quale errata configurazione potrebbe aver creato problemi.
> 
> MTRR è compilato nel kernel (versione 2.6.21).
> ...

 

Il kernel 2.6.21 è relativamente vecchio e quindi non c'è nulla da configurare per MTRR tranne abilitarlo, per cui non credo sia questo il problema.

Sto esaurendo le idee, non so prova a postare il log di Xorg(che c'è sicuramente,/var/log/Xorg...), magari ci chiarisce le idee su cosa succede allo start di X.

----------

## fbcyborg

E' proprio questo che mi fa incaxxare di XEN, i sorgenti preistorici!!!! 

Cosa ci posso fare? Comunque deve funzionare anche con il kernel 2.6.21...

Nel file /var/log/Xorg.0.log non c'è traccia di errore; sto accedendo via chroot al filesystem dove c'è XEN.... E' installato sulla stessa macchina che sto usando ora, e chiaramente devo rebootare per avviarlo.

----------

## Apetrini

 *fbcyborg wrote:*   

> E' proprio questo che mi fa incaxxare di XEN, i sorgenti preistorici!!!! 

 

Se proprio ti servono...

http://code.google.com/p/gentoo-xen-kernel/

 *fbcyborg wrote:*   

> 
> 
> Nel file /var/log/Xorg.0.log non c'è traccia di errore; sto accedendo via chroot al filesystem dove c'è XEN.... E' installato sulla stessa macchina che sto usando ora, e chiaramente devo rebootare per avviarlo.

 

In realtà basta montarlo e andare a leggere il log di Xorg. Comunque a parte gli errori, ci sono driver o librerie che non dovrebbero/dovrebbero venir caricate?

----------

## fbcyborg

 *Apetrini wrote:*   

> 
> 
> Se proprio ti servono...
> 
> http://code.google.com/p/gentoo-xen-kernel/
> ...

 Cavolo! Non credo ai miei occhi... li provo prima possibile! *Apetrini wrote:*   

> 
> 
> In realtà basta montarlo e andare a leggere il log di Xorg. Comunque a parte gli errori, ci sono driver o librerie che non dovrebbero/dovrebbero venir caricate?

 

Sì hai ragione, in realtà lo so questo, solo che ho uno script che mi fa automaticamente il mount e il chroot.

Comunque ecco il contenuto del Xorg.0.log (ultime righe):

```
       [...] 

        LinNumberOfImagePages: 1

        LinRedMaskSize: 8

        LinRedFieldPosition: 16

        LinGreenMaskSize: 8

        LinGreenFieldPosition: 8

        LinBlueMaskSize: 8

        LinBlueFieldPosition: 0

        LinRsvdMaskSize: 8

        LinRsvdFieldPosition: 24

        MaxPixelClock: 229500000

(II) VESA(0): Total Memory: 224 64KB banks (14336kB)

(II) VESA(0): My Monitor: Using hsync range of 30.00-81.00 kHz

(II) VESA(0): My Monitor: Using vrefresh range of 56.00-75.00 Hz

(II) VESA(0): My Monitor: Using maximum pixel clock of 150.00 MHz

(II) VESA(0): Not using built-in mode "1280x800" (no mode of this name)

(II) VESA(0): Not using built-in mode "1280x720" (no mode of this name)

(II) VESA(0): Not using built-in mode "640x400" (no mode of this name)

(II) VESA(0): Not using built-in mode "320x400" (no mode of this name)

(II) VESA(0): Not using built-in mode "320x240" (no mode of this name)

(II) VESA(0): Not using built-in mode "320x200" (no mode of this name)

(--) VESA(0): Virtual size is 1680x1050 (pitch 1680)

(**) VESA(0): *Built-in mode "1680x1050"

(**) VESA(0): *Built-in mode "1280x1024"

(**) VESA(0): *Built-in mode "1024x768"

(**) VESA(0): *Built-in mode "800x600"

(**) VESA(0): *Built-in mode "640x480"

(**) VESA(0): Display dimensions: (470, 300) mm

(**) VESA(0): DPI set to (90, 88)

(**) VESA(0): Using "Shadow Framebuffer"

(II) Loading sub module "shadow"

(II) LoadModule: "shadow"

(II) Loading /usr/lib64/xorg/modules//libshadow.so

(II) Module shadow: vendor="X.Org Foundation"

        compiled for 1.5.3, module version = 1.1.0

        ABI class: X.Org ANSI C Emulation, version 0.4

(II) Loading sub module "fb"

(II) LoadModule: "fb"

(II) Loading /usr/lib64/xorg/modules//libfb.so

(II) Module fb: vendor="X.Org Foundation"

        compiled for 1.5.3, module version = 1.0.0

        ABI class: X.Org ANSI C Emulation, version 0.4

(==) Depth 24 pixmap format is 32 bpp

(II) do I need RAC?  No, I don't.

(II) resource ranges after preInit:

        [0] -1  0       0xffffffff - 0xffffffff (0x1) MX[B]

        [1] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]

        [2] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]

        [3] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]

        [4] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]

        [5] -1  0       0x00000000 - 0x00000000 (0x1) IX[B]

(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Reloading /usr/lib64/xorg/modules//libint10.so

(II) VESA(0): initializing int10

(II) VESA(0): Primary V_BIOS segment is: 0xc000

(II) VESA(0): VESA BIOS detected

(II) VESA(0): VESA VBE Version 3.0

(II) VESA(0): VESA VBE Total Mem: 14336 kB

(II) VESA(0): VESA VBE OEM: NVIDIA

(II) VESA(0): VESA VBE OEM Software Rev: 98.148

(II) VESA(0): VESA VBE OEM Vendor: NVIDIA Corporation

(II) VESA(0): VESA VBE OEM Product: BIOS-P/N@N4273:0

(II) VESA(0): VESA VBE OEM Product Rev: Chip Rev
```

Non c'è traccia dell'errore che ho riportato qualche post fa.  :Sad: 

----------

## fbcyborg

Con il kernel xen 2.6.29-r4, KDE è partito senza fiatare!!!!  :Smile: 

----------

## Apetrini

Sarà stato un bug del kernel. Con molta probabilità scatenato da xorg troppo recente o driver vesa troppo recenti per il kernel vetusto 2.6.21.

----------

## fbcyborg

Eh sì, a questo punto credo anche io che sia per quel motivo.

Menomale che sono saltati fuori dei sorgenti più recenti!

Grazie

----------

