Archives pour la catégorie «Documentation»

Xen dom0 on Debian Squeeze with CentOS domU

Update : With Cen­tOS 5.6, you need upda­ted rinse package. You can  pick up ver­sion >= 1.8.1 from Debian Tes­ting repo­si­tory. Other­wise, you can add libu­ser, passwd and python-libs to /etc/rinse/centos-5.packages inside dom0 and run “cp /etc/modprobe.d/modprobe.conf.dist /etc/modprobe.conf” inside domU, just before the mki­ni­trd step.

Here are some hints for set­ting up Xen dom0 (ser­ver) on Debian Squeeze and run­ning Cen­tOS domU (guest in Xen ter­mi­no­logy) on it. This pro­ce­dure makes use of rinse tool, a deboots­trap equi­va­lent for CentOS.

First, fol­low this Debian wiki page for basic setup of the ser­ver. Debian recomm­mends to set up a net­work bridge by fol­lo­wing the ins­truc­tions in the man­page for bridge-utils-interfaces(5) ins­tead of uncommenting

(network-script network-bridge)

in /etc/xen/xend-config.sxp.
You are now ready to create the image:

xen-create-image --hostname hostname.yourdomain --ip 192.168.0.1 --scsi --vcpus 2 --pygrub\
 --install-method=rinse --dist centos-5

You can now mount the xen domU par­ti­tion, I will assume you use LVM for domU:

mount /dev/vg_xen/hostname.yourdomain-disk /mnt

We also need those pseudo file systems:

mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys

Then, chroot into it:

chroot /mnt
touch /etc/mtab
touch /etc/fstab

Ins­tall Cen­tOS Xen kernel:

yum install kernel-xen

Rebuild ini­trd with requi­red Xen dri­ver (block and net­work device)

mkinitrd --with=xenblk --with=xennet --preload=xenblk --preload=xennet\
 -f /boot/initrd-2.6.18-194.26.1.el5xen.img 2.6.18-194.26.1.el5xen

Create /boot/grub/menu.lst:

# WARNING : Don't forget to update this when you upgrade kernel !
# You can also exclude kernel-xen from updates by putting
# exclude=kernel-xen in in [main] in yum.conf

default=0
timeout=5
title CentOS (2.6.18-194.26.1.el5xen)
kernel        /boot/vmlinuz-2.6.18-194.26.1.el5xen
initrd        /boot/initrd-2.6.18-194.26.1.el5xen.img

Open the ini­t­tab file and add the fol­lo­wing line to it

co:2345:respawn:/sbin/mingetty console

and com­ment the fol­lo­wing lines as shown below.

#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

If that does not work, try repla­cing tty with console to the line spe­ci­fying getty or min­getty like given below.

5:2345:respawn:/sbin/mingetty console

Set cor­rect timezone:

ln -sf /usr/share/zoneinfo/Europe/Brussels /etc/localtime

Ins­tall root bash config files:

cp -p /etc/skel/.* /root

Exit chroot:

<Ctrl-D>

Unmount domU file systems:

umount /mnt/proc
umount /mnt/sys
umount /mnt

Boot the domU with “-c” option to open console:

xm create -c /etc/xen/hostname.yourdomain.cfg

You can exit console with “Ctrl + ]”.
You can enter console again with

xm console hostname.yourdomain

Ins­tall impor­tant mis­sing packages:

yum install bind-utils file glibc man man-pages iptables mailx mc openssh-clients tcpdump telnet\
    traceroute sysklogd zip unzip wget vixie-cron xauth

Enable and start syslog:

chkconfig syslog on
/etc/init.d/syslog start

Enable and start crond:

chkconfig crond on
/etc/init.d/crond start

You can ins­tall option­nal package groups as needed:

yum grouplist
yum groupinstall "Development Libraries" "Development Tools" "X Software Development"\
    "Legacy Software Development"

To list Xen dom:

xm list

To stop domU:

xm destroy hostname.yourdomain

Synchronisation de l’horloge via NTP

Ces ins­truc­tions, valables pour Sola­ris 10, devraient égale­ment l’être pour Open­So­la­ris. Les remarques concer­nant l’usage de ntp et ntp­date sont égale­ment valables pour Linux.

La syn­chro­ni­sa­tion de l’horloge de la machine est réa­li­sée grâce à NTP, le « Net­work Time Pro­to­col ». Il faut com­men­cer par créer le fichier /etc/inet/ntp.conf et spé­ci­fier une adresse IP (pas de host­name !) de ser­veur avec lequel il faut synchroniser.

server 192.168.1.1

Il reste à acti­ver le service.

# svcadm enable svc:/network/ntp

Il est vive­ment décon­seillé de syn­chro­ni­ser direc­te­ment avec la com­mande ntp­date dans un cron car :

  1. ntp­date ne syn­chro­nise pas l’horloge de la machine avec l’heure du système.
  2. On sur­charge les ser­veurs car tous les clients vont se syn­chro­ni­ser simul­ta­né­ment à cause du cron. Le dea­mon ntp syn­chro­nise quant à lui de manière aléatoire.
  3. Le dae­mon ntp uti­lise des algo­rithmes sophis­tiqués et de la sta­tis­tique afin de déter­mi­ner la dérive de l’horloge (le « drift ») et peut com­pen­ser même si le réseau tombe.
  4. Le dae­mon cor­rige de manière conti­nue, par petits incré­ments. ntp­date change l’heure de manière bru­tale et cer­tains ser­vices risquent de ne pas appré­cier (Oracle, SAP…)
  5. La vali­dité de l’heure sys­tème n’est pas garan­tie entre deux ntpdate.

Par contre, ntp­date peut être uti­lisé pour la syn­chro­ni­sai­ton ini­tiale de l’heure ainsi que lors du boot. La syn­taxe est :

# ntpdate 192.168.1.1

Note : L’activation du ser­vice ntp pro­voque auto­ma­tique­ment l’appel de cette commande.

Problème de démarrage : boot impossible

Avec cer­taines machines, le boot donne juste droit à un écran noir et/ou à un freeze lors du char­ge­ment du noyau. Voici quelques options tes­ter et à pas­ser au noyau en cas de problème.

  1. Pro­blèmes liés à l’IO-APIC
    IO-APIC est l’acronyme de “I/O Advan­ced Pro­gram­mable Inter­rupt Control­ler”, qui est un contrô­leur pro­gram­mable d’interruptions. C’est une archi­tec­ture Intel pour gérer les inter­rup­tions dans les ordi­na­teurs mul­ti­pro­ces­seurs. Il s’agit d’une des nom­breuses ten­ta­tives pour résoudre les pro­blèmes d’IRQ.

    1. noa­pic: Don’t use the IO-APIC.
    2. disa­blea­pic: Don’t use the local APIC.
    3. nola­pic: Don’t use the local APIC (alias for i386 compatibility)
  2. Pro­blèmes liés à l’ACPI
    Le terme anglais “Advan­ced Confi­gu­ra­tion and Power Inter­face” (ACPI) désigne une norme dont le but est de réduire la consom­ma­tion d’énergie d’un ordi­na­teur en met­tant hors ten­sion cer­tains éléments (tels que les lec­teurs CD-ROM, les disques durs, l’écran…)

    1. acpi=off: Don’t enable ACPI
    2. acpi=ht: Use ACPI boot table par­sing, but don’t enable ACPI interpreter.
    3. acpi=strict: Disable out of spec ACPI workarounds.
    4. acpi=noirq: Don’t route interrupts.
  3. Pro­blèmes liés au bus PCI
    Par­fois, les pro­blèmes qui semblent pro­ve­nir de l’ACPI et qui dis­pa­raissent avec “acpi=off” sur­viennent en réa­lité lors de l’énumération du bus PCI.

    1. pci=nobios: Used to set/clear the flag indi­ca­ting that the PCI pro­bing is to take place via the PCI BIOS.
    2. pci=conf1, pci=conf2: If PCI direct mode is enabled, the use of these enables either confi­gu­ra­tion Type 1 or Type 2. These impli­citly clear the PCI BIOS probe flag.
    3. pci=nommconf: Disables the MMCONFIG PCI confi­gu­ra­tion space access method.
    4. pci=noacpi: Disable the use of ACPI rou­ting infor­ma­tion during the PCI confi­gu­ra­tion stages.
    5. pci=nopeer: Disable the default peer bridge fixup.
    6. pci=nomsi: Help to detect some SATA drives.

Note : Un desk­top HP dc7700 (Intel P965) refu­sait de boo­ter sans l’option “acpi=off”. La solu­tion était d’utiliser “pci=conf1” afin de conser­ver l’ACPI. L’option “pci=nommconf” est égale­ment connue pour fonc­tion­ner dans ce cas de figure.

Heure système décalée

Symp­tômes : Après avoir véri­fié votre zone horaire avec

#cat /etc/timezone

ainsi que l’état de la variable “UTC” dans /etc/default/rcS, l’heure sys­tème est toujours décalée.

Le pro­blème peut venir des scripts d’initialisation invoquant la com­mande hwclock, ser­vant à lire et à sau­ve­gar­der l’horloge de la machine.

Méthode de test :

#hwclock --localtime

Si vous obte­nez une erreur de ce genre à la place de l’heure :

select() to /dev/rtc to wait for clock tick timed out

Rées­sayez avec :

#hwclock --directisa --localtime

Si cela fonc­tionne, il faut modi­fier les scripts d’initialisation :

   Edit the files
   /etc/init.d/hwclock.sh
   /etc/init.d/hwclockfirst.sh
   and change the line (about line #23):

   HWCLOCKPARS=

   to read:

   HWCLOCKPARS="--directisa"

Expli­ca­tion de l’option “–directisa” :

--directisa   is  meaningful  only on an ISA machine or an Alpha (which imple‐
              ments enough of ISA to be, roughly speaking, an ISA machine  for
              hwclock’s  purposes).   For  other  machines,  it has no effect.
              This option tells hwclock to use explicit  I/O  instructions  to
              access  the  Hardware  Clock.  Without this option, hwclock will
              try to use the /dev/rtc device (which it assumes to be driven by
              the rtc device driver).  If it is unable to open the device (for
              read), it will use the explicit I/O instructions anyway.

              The rtc device driver was new in Linux Release 2.

Paramètres DVB-T pour le bouquet TNT de la RTBF

Voici les para­mètres du bouquet TNT de la RTBF. A noter que depuis le lan­ce­ment offi­ciel du 30 novembre 2007, la modu­la­tion est pas­sée de QAM64 à QAM16. Les per­sonnes ayant des dif­fi­cul­tés de récep­tion liées à leur envi­ron­ne­ment se réjoui­ront de ce chan­ge­ment. En effet, QAM16 est moins sen­sible aux per­tur­ba­tions, au détri­ment d’une bande pas­sante de don­nées moins élevée (donc poten­tiel­le­ment moins de chaines sur une fréquence).

  • Fréquence : 754 ou 834 MHz (voir plus bas)
  • Bande pas­sante : 8 MHz
  • FEC : 3/4
  • Modu­la­tion : QAM16
  • Mode de trans­mis­sion : 8k
  • Inter­valle de garde : 1/4

Il est quand même curieux que la RTBF n’indique pas ces infor­ma­tions sur son site dédié à la TNT.

Voici un fichier de para­mètres qui vous per­met­tra de lan­cer un scan avec les dvb-apps, Kaf­feine ou encore VDR.

Para­mètres DVB-T pour le bouquet RTBF (Profondeville)

Il s’agit des para­mètres pour le relais de Pro­fon­de­ville (Rivière). Ce relais émet sur le canal 56 (754 MHz). Si votre relais émet sur le canal 66 (834 MHz), vous devrez modi­fier le para­mètre “754000000” en “834000000” dans le fichier.

Voici égale­ment une table des relais qui vous per­met­tra de connaitre la fréquence à uti­li­ser ainsi que de savoir com­ment orien­ter votre antenne (pola­ri­sa­tion hori­zon­tale ou verticale) :

Canal Fréquence Ville Pol. ERP(kW)
56 754 MHz Bruxelles (Tour des Finances) V 2
56 754 MHz Wavre H 5
56 754 MHz Tour­nai (Froidmont) V
56 754 MHz Ander­lues H
56 754 MHz Pro­fon­de­ville (Rivière) H
56 754 MHz Namur H
45 666 MHz Liège (Bol d’Air) H
66 834 MHz Léglise (Vles­sart) H
66 834 MHz Marche-en-Famenne H
64 818 MHz Cou­vain H
61 794 MHz Mal­medy H