# xen [RISOLTO]

## makoomba

scusate, ma qualcuno si è cimentato nell'installazione di xen, magari seguendo il wiki ?

no perchè a me non funziona proprio una mazza...

quando vado a configurare il kernel per il dom0, mi mancano tutti i drivers relativi a schede di rete, chipset, etc,etc...

praticamente, non posso aggiungere il supporto all'hardware perchè, di fatto, sono scomparse tutte le voci nel menu   :Shocked: 

siete riusciti a compilare un kernel funzionante ?

----------

## makoomba

certo che quando posto io un problema, fate sempre a gare per dare una mano eeh ??

cmq, pare che make oldconfig, al kernel xen, non ci piace manco per niente.

in definitiva, risultava disabilitato il supporto al bus pci e quindi non vedevo 3/4 delle opzioni.

ora ricompilo e NON vi faccio sapere se funziona.   :Razz: 

edit:

vabbè, ve lo dico va

```
Linux user3 2.6.12.6.5-xen #2 SMP Sat Nov 26 16:42:19 CET 2005 i686 AMD Athlon(tm) XP 2400+ AuthenticAMD GNU/Linux
```

----------

## comio

 *makoomba wrote:*   

> certo che quando posto io un problema, fate sempre a gare per dare una mano eeh ??
> 
> cmq, pare che make oldconfig, al kernel xen, non ci piace manco per niente.
> 
> in definitiva, risultava disabilitato il supporto al bus pci e quindi non vedevo 3/4 delle opzioni.
> ...

 

sono un po' tutti ai vari linuxday/gentoo day  :Smile: 

poi, quando sono argomenti "esotici" ci sono poche risposte per motivi ovvi. 

ciao!

----------

## .:chrome:.

 *makoomba wrote:*   

> certo che quando posto io un problema, fate sempre a gare per dare una mano eeh ??

 

è colpa tua. fai domande troppo difficili  :Wink: 

se chiedessi come bambiare PS1 avresti un sacco di risposte, ma XEN è un po' complesso

non ti piace UML? se vuoi facciamo una chiacchierata su quello  :Wink: 

----------

## makoomba

uml volevo provarlo ma xen mi attirava di più e oggi l'ho installato per vedere come va.

dopo vari santi chiamati in causa, sono riuscito a bootare nel mio nuovo dom0...

... solo per scoprire che l'howto E' SBAGLIATO e mo sto ricompilando le glibc e mi parte un'ora...

/me che gli girano le palle leggendo

```
  ***************************************************************

  ***************************************************************

  ** WARNING: Currently emulating unsupported memory accesses  **

  **          in /lib/tls libraries. The emulation is very     **

  **          slow. To ensure full performance you should      **

  **          execute the following as root:                   **

  **          mv /lib/tls /lib/tls.disabled                    **

  ** Offending process: init (pid=1)                           **

  ***************************************************************

  ***************************************************************
```

----------

## makoomba

```
user3 xen # xm list

Name                              ID Mem(MiB) VCPUs State  Time(s)

Domain-0                           0      128     1 r-----   458.8

ttylinux                           1       64     1 -b----     0.7
```

```
root@tiny ~ # dmesg 

Linux version 2.6.12.6.5-xen (root@user3) (gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #1 SMP Sat Nov 26 19:37:10 CET 2005

BIOS-provided physical RAM map:

 Xen: 0000000000000000 - 0000000004000000 (usable)

0MB HIGHMEM available.

72MB LOWMEM available.

On node 0 totalpages: 18432

  DMA zone: 18432 pages, LIFO batch:7

  Normal zone: 0 pages, LIFO batch:1

  HighMem zone: 0 pages, LIFO batch:1

IRQ lockup detection disabled

Built 1 zonelists

Kernel command line:  ip=10.0.0.55:1.2.3.4::::eth0:off root=/dev/sda1 ro

Initializing CPU#0

PID hash table entries: 512 (order: 9, 8192 bytes)

Xen reported: 1994.316 MHz processor.

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

vmalloc area: c5000000-fb7fe000, maxmem 34000000

Memory: 61636k/73728k available (1789k kernel code, 3736k reserved, 491k data, 136k init, 0k highmem)

Checking if this processor honours the WP bit even in supervisor mode... Ok.

Calibrating delay loop... 3984.58 BogoMIPS (lpj=19922944)

Mount-cache hash table entries: 512

CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000

CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000

CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)

CPU: L2 Cache: 256K (64 bytes/line)

CPU: After all inits, caps: 0383c3f1 c1c3fbff 00000000 00000020 00000000 00000000 00000000

Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done.

Checking 'hlt' instruction... disabled

Brought up 1 CPUs

CPU0 attaching sched-domain:

 domain 0: span 01

  groups: 01

NET: Registered protocol family 16

Brought up 1 CPUs

xen_mem: Initialising balloon driver.

Grant table initialized

Initializing Cryptographic API

io scheduler noop registered

io scheduler anticipatory registered

io scheduler deadline registered

io scheduler cfq registered

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

Xen virtual console successfully installed as tty1

Event-channel device installed.

Registering block device major 8

netfront: Initialising virtual ethernet driver.

NET: Registered protocol family 2

IP: routing cache hash table of 256 buckets, 4Kbytes

TCP established hash table entries: 4096 (order: 4, 65536 bytes)

TCP bind hash table entries: 4096 (order: 3, 49152 bytes)

TCP: Hash tables configured (established 4096 bind 4096)

NET: Registered protocol family 1

NET: Registered protocol family 17

IP-Config: Guessing netmask 255.0.0.0

IP-Config: Complete:

      device=eth0, addr=10.0.0.55, mask=255.0.0.0, gw=255.255.255.255,

     host=10.0.0.55, domain=, nis-domain=(none),

     bootserver=1.2.3.4, rootserver=1.2.3.4, rootpath=

EXT3-fs: mounted filesystem with ordered data mode.

VFS: Mounted root (ext3 filesystem) readonly.

Freeing unused kernel memory: 136k freed

kjournald starting.  Commit interval 5 seconds

EXT3 FS on sda1, internal journal

root@tiny ~ #  
```

ora vi saluto e vado a giocare.

----------

## cloc3

 *makoomba wrote:*   

> scusate, ma qualcuno si è cimentato nell'installazione di xen, magari seguendo il wiki ?
> 
> no perchè a me non funziona proprio una mazza...
> 
> 

 

Riesumo il thread di makoomba perché mi ritrovo esattamente nella stessa situazione.

O meglio, ero riuscito un venti giorni fa a far partire un Xen, poi ho mollato perché non avevo tempo di seguirlo e  adesso sono inspiegabilmente al palo.

Dove mi pianto è quando lancio genkernel.

A parte che non può compilare bzImage (questo è scontato), ma poi mi dà:

```

...

COMMAND: make -j2 CC="gcc" LD="ld" AS="as" bzImage

make: Nothing to be done for `bzImage'.

* Gentoo Linux Genkernel; Version 3.3.11d

* Running with options: --lvm2 --dmraid --no-gensplash --no-menuconfig --no-clean --no-mrproper all

* ERROR: Could not copy the kernel binary to /boot!

* -- End log... --

...

```

Non capisco proprio quale sia la causa.

Sarà antipatia reciproca.

Se posso, proferisco fare tutto a mano, con le vecchie initrd, perché mi ci trovo meglio.

Per Xen, però, temo di non saper come fare, proprio perché bisogna usare vmlinuz e non bzImage e non saprei bene come comportarmi.

Qualcuno ha un consiglio?

----------

## X-Drum

 *k.gothmog wrote:*   

> 
> 
> non ti piace UML? se vuoi facciamo una chiacchierata su quello 

 

ahhhhhhrg vade retroooooooooooooooooo

----------

## makoomba

@cloc3

vmlinuz lo usi come useresti bzImage: lo copi in boot e modifichi il bootloader.

compilato manualmente il kernel, puoi usare genkernel per generare l'initramfs, con un'accortezza:

il kernel xen non legge direttamente l'initramfs prodotta da genkernel, devi prima scompattarla e ricomprimerla con gzip.

ps

ancora mi ricordo le bestemmie in aramaico prima di scoprirlo...

----------

## fat_penguin

Ho fatto ultimamente parecchie prove con XEN. Tutto liscio!

Se vuoi un consiglio, io ho fatto cosi è tutto è andato bene, segui la guida ufficiale senza seguire wiki o la gentoo-way ....

Io ho scaricato il tar.gz è ho fatto a "mano".

Manuale:

http://www.cl.cam.ac.uk/Research/SRG/netos/xen/readmes/user/user.html

Sorgenti 3.0.2:

http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-3.0-testing-src.tgz

byebye

fat_penguin

----------

## cloc3

Stavolta ne esco pazzo.

Devo installare Xen su una partizione con raid software ed lvm2.

Genkernel fallisce sistematicamente la compilazione su udev.

Allora ho provato a generare delle initrd con l'opzione --no-udev, ma cileccavano, dichiarando di non vedere alcun dispositivo raid.

Poi ho provato ad usare immagini initrd mie, che funzionano brillantemente con i kernel normali.

Invece xen dice di non trovare il file di init (stesse impostazioni di grub). Ho usato versioni compattate in cento modi diversi, oppure del tutto non compresse, sia di tipo initramfs, sia di tipo disco-virtuale.

Sono veramente alla frutta. Qualcuno avrebbe qualche idea per muovere le cose?

----------

## makoomba

unmergi genkernel e rimuovi manualmente *tutti* i files rimasti (/etc/genkernel.conf, /usr/share/genkernel, etc)

reinstallalo e prova a rigenerare la sola initramfs (ricordandoti di decomprimerla/ricomprimerla).

----------

## cloc3

Svelato l'arcano.

Prima di esporre, una parentesi pietosa su genkernel:

```

s939 ~ # cat /var/log/genkernel.log

...

* udev: >> Compiling...

COMMAND: make j1  EXTRAS="extras/scsi_id extras/volume_id extras/ata_id extras/run_directory extras/usb_id extras/floppy extras/cdrom_id extras/firmware" USE_KLIBC=true KLCC=/var/tmp/genkernel/2188.18598.15744.15382/klibc-build/bin/klcc USE_LOG=false DEBUG=false udevdir=/dev all

* Gentoo Linux Genkernel; Version 3.3.11d

* Running with options: --no-install --no-clean --lvm2 --dmraid initrd

* ERROR: Failed to compile the "EXTRAS="extras/scsi_id extras/volume_id extras/ata_id extras/run_directory extras/usb_id extras/floppy extras/cdrom_id extras/firmware" USE_KLIBC=true KLCC=/var/tmp/genkernel/2188.18598.15744.15382/klibc-build/bin/klcc USE_LOG=false DEBUG=false udevdir=/dev all" target...

* -- Grepping log... --

* -- End log... --

...

```

emerso definitivamente ... con l'opzione -C.

Ma adesso perché la mia initramfs self made non funziona?

In realtà, per Xen, servono alcune regole aggiuntive che il kernel tradizionale non richiede:

1. L'initramfs deve essere costruito a cipolla.

2. Il primo strato deve essere sufficientemente leggero - in pratica, solo il baselayout.

3. Il primo strato deve contenere il file di init.

Non ha rilievo, invece, la modalità di compressione dell'immagine stessa.

A me pareva logicamente più corretto scrivere il file di init nell'ultimo strato, dopo aver popolato l'initero initrd. Ma se Xen non vuole, cosa posso farci?

uffa. Ho appena fiito di scrivere un howto e già lo dovrò modificare   :Twisted Evil:  .

----------

