
         ooooo                     oo     o  o               oo     o
        M"   "Mo                    Mo  oM"  M                Mo  oM"
       M           oM""Mo  oM""Mo    "Mo"    Mo"""o  oM""Mo    "Mo"
       M    """M   MooooMM MooooMM   oMMo    M    "M M    M    oMMo
       "o     oM   M    o  M    o   oM  Mo   M    oM M    M   oM  Mo
        "MoooM"M   "MooM"  "MooM"  M"    "M  M"ooo"  "MooM"  M"    "M




| AVANT PROPOS
| ~~~~~~~~~~~~

La GeeXboX est une distribution Linux de type Media Center. Il s'agit d'un CD
bootable qui vous permet de regarder des films ou d'couter de la musique.
Il supporte de nombreux formats tels que avi, mpeg, divx, ogm, rm, mp3, ogg,
dvd, vcd et cdda. GeeXboX supporte aussi certains types de tlcommandes
infra-rouge et les sorties TV de certaines cartes graphiques.
Cette archive contient tous les fichiers ncessaires pour gnrer une image
iso personnalise de la GeeXboX


| PREREQUIS
| ~~~~~~~~~

Pour gnrer une iso GeeXboX vous devez possder l'un des sytmes suivants:
  - GNU/Linux avec mkisofs et mkzftree.
  - MAC OS X avec mkisofs et mkzftree.
  - Windows.

Pour construire votre propre GeeXboX, vous ncessiterez les outils
classiques :
  - un systme GNU/Linux oprationnel.
  - Le compilateur C GCC.
  - GNU make
  - La commande patch.
  - L'assembleur nasm.
  - bzip2 et gzip.
  - L'outil de tlchargement wget (non ncessaire pour le paquetage
    GeeXboX complet).
  - mkisofs et mkzftree pour construire l'image ISO.
  - mkzftree pour compresser les fichiers de l'image ISO.
  - cdrecord (pour graver l'image).

Et environ 2 Go d'espace disque disponible.


| PERSONALISATION
| ~~~~~~~~~~~~~~~

Le but du gnrateur est de personnaliser facilement sa GeeXboX.

La chose la plus interessante que vous puissiez faire et de gnrer une image
comportant une vido complte qui sera lu automatiquement au boot. Vous avez
juste  copier vos vidos (ou vos fichiers sons) et vos playlists dans le
repertoire iso.

Vous pouvez aussi ajouter des codecs propritaires comme le rv9 ou le wmv9, en
les copiant simplement dans le rpertoire iso/GEEXBOX/codecs. Ces codecs se
trouvent ici :
http://www.geexbox.org/releases/geexbox-extra-codecs-nonfree.tar.gz

Vous pouvez modifier d'autres options en ditant simplement des fichiers
textes.

* Chargement des firmwares :

    La GeeXboX supporte de nombreux pilotes de priphriques mais
    malheureusement, certains d'entre eux requierent un firmware binaire
    additionnel propritaire (i.e. non-libre et donc non-inclus dans la
    GeeXboX). Le firmware est un fichier binaire qui est envoy au
    priphrique (PCI ou USB) lorsque le pilote se charge. Pour chaque pilote,
    le firmware se doit d'tre un fichier spcifique avec un nom
    pr-dtermin.

    Si vous disposez de matriel  problme qui peut ncessiter la prsence
    d'un firmware additionnel (dans la plupart des cas, il s'agit de cartes
    WiFi ou DVB), vous devrez chercher sur Internet une page concernant le
    support de priphrique sous Linux et l'utilisation du firmware.
    La plupart du temps, vous tomberez sur un lien de tlchargement direct.
    Des fois, il vous sera ncessaire d'extraire ce firmware depuis une
    archive de pilotes pour Windows qui ont t fourni par le fabricant du
    priphrique.

    Une fois que vous disposerez du fichier de firmware pour votre carte,
    dposez le simplement dans le rpertoire /firmwares. Vous pouvez y stocker
    autant de firmwares que vous voudrez, la GeeXboX essaiera d'elle mme de
    les charger lorsqu'un pilote en aura besoin. La seule chose dont vous ayez
     vous soucier et de disposer des bons fichiers de firmwares avec les bons
    noms avant de regnrer une nouvelle ISO.

    Veuillez noter que vous pouvez galement utiliser le gnrateur d'ISO de
    la GeeXboX qui vous permettra de rcuprer les firmwares pour vous.
    Vous pouvez l'utiliser pour slectionner tous les fichiers de firmware que
    vous souhaiter et le gnrateur les tlchargera et ajoutera pour vous.
    Assurez vous juste de disposer d'une connexion  Internet lors de
    l'utilisation du gnrateur.

* MPlayer :

    C'est ici que se font la plupart des configurations et modifications.
    Les options se situent dans le fichier packages/MPlayer/mplayer.conf
    Il est possible de changer des options comme la taille des police de l'OSD
    (subfont-text-scale) et beaucoup d'autres choses telles que la langue par
    dfaut de lecture des DVD (ex: alang=fr,en). La meilleur faon de
    comprendre ces options est, pour les utilisateurs de Linux, de se rfrer
    au MAN de MPlayer (man -l build/MPlayer-*/DOCS/mplayer.1). D'autres
    informations sont aussi disponibles sur la documentation officielle
    (http://mplayerhq.hu/DOCS/).
    Il peut galement tre intressant de modifier le fichier
    packages/MPlayer/menu.conf. Vous pouvez les menus qui vous semblent
    inutiles, ou les traduire dans d'autres langues par exemple. Enfin, le
    dernier intressant est packages/MPlayer/build, qui contient la slection
    d'options de compilation de MPlayer.

* Sortie TV :

    Activer la sortie TV se fait au moyen de nombreux petits utilitaires
    ddis chacun  une marque carte graphique. Nous utilisons actuellement
    atitvout pour les cartes ATI, s3switch pour les cartes S3 et nvtv pour les
    cartes nVidia (ce qui peut aussi marcher abec les cartes i810 et 3dfx). La
    configuration de ces programmes se fait dans iso/GEEXBOX/etc/tvout.
    Vous pouvez y choisir le standard que vous utilisez (pal, secam...) et y
    modifier les options spcifiques de nvtv.

    # TV Output Standard (ntsc/pal/secam)
    TVOUT_STANDARD=pal

    Vous pouvez galement dfinir le rapport d'image de sortie (mode 4:3 ou
    16:9) via la ligne :

    TVOUT_ASPECT="4:3"

    Ce paramtre est utilis  la fois pour la sortie TV et pour l'affichage
    classique sur moniteurs CRT ou TFT. Vous pouvez galement dfinir les
    valeurs de hauteur et largeur (en pixels) pour l'affichage, ainsi que les
    frquences de rafraichissement horizontal et vertical, dans le cas o vous
    utiliseriez un cran panoramique ou encore un rtro-projecteur. Ceci peut
    etre fait en modifiant le contenu du fichier /etc/mplayer/mplayer.conf.
    Les paramtres suivants sont donns par dfaut (veuillez dcommenter les
    lignes lies  la frquence de refraichissement si vous souhaiter les
    utiliser ) :

    screenw=800
    screenh=600
    #monitor-hfreq=31.5k-50k
    #monitor-vfreq=50-90

* Lirc :

    Choisissez la tlcommande support en ditant le fichier generator.sh ou
    generator.bat (en fonction de votre OS). Faite galement attention 
    bien choisir le rcepteur infrarouge correspondant dans le mme fichier.
    Si vous dsirez modifier le mappage des touches reportez vous au fichier
    lirc/lircrc_REMOTE.

* Rseau :

    Le rseau est configurable au niveau du fichier iso/GEEXBOX/etc/network.
    Ici vous reglerez l'adresse IP de la GeeXboX (qui par dfaut cherche un
    serveur DCHP ou prend l'IP 192.168.0.54 si elle n'en trouve pas). Il est
    aussi possible de lui assigner un login est un mot de passe (par dfaut,
    la GeeXboX ne peut se connecter que sur des partages anonymes).
    Vous pouvez aussi dclarer des montages NFS dans GEEXBOX/etc/nfs.

* WiFi :

    Par defaut, le systme tente de dtecter automatiquement votre
    configuration rseau. Si vous disposez  la fois d'une carte rseau
    Ethernet classique et d'une carte WiFi, seule cette dernire sera
    configure. Vous pourrez avoir  modifier le fichier /etc/network afin
    d'y configurer vos paramtres rseaux. Dans ce dernier, 4 lignes sont
    relatives aux cartes sans-fils :

    PHY_TYPE="auto"      # Network physical type (auto|ethernet|wifi)
    WIFI_MODE="managed"  # Wifi working mode (managed|ad-hoc)
    WIFI_WEP=""          # Wifi WEP key
    WIFI_ESSID="any"     # Wifi SSID

    Vous pouvez soit conserver la dtection automatique, soit forcer
    l'activation du controleur Ethernet ou WiFi. De la mme faon, ceci vous
    permettra de choisir entre le mode managed et le mode de communication dit
    ad-hoc et de dfinir  la fois votre cl WEP et le SSID de votre rseau.

* Passerelle :

    La GeeXboX supporte l'accs  Internet. Dfinissez simplement l'adresse IP
    de la passerelle dans le fichier /etc/network

    GATEWAY=""     # Gateway IP ("" for DHCP or no internet connection)

* Configuration TV :

    La GeeXboX supporte les entres et tuners de cartes TV. Le systme essaie
    avec peine de dtecter automatiquement le type de carte et de tuners
    utiliss. Vous pouvez forcer les paramtres et ainsi viter la tentative
    de dtection automatique. Veuillez modifier le fichier /etc/tvcard
    tel qu'il suit :

    # TV CARD/TUNER Model (AUTO for autodetection or look at the following urls)
    # http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv
    # http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner
    TV_CARD=AUTO
    TV_TUNER=AUTO

    Laissez le paramtre AUTO si vous souahitez conserver la dtection
    automatique, ou remplacez le par le numro de la carte et du tuner,
    comme dcrit dans les URL prcdentes. Soyez attentifs : pour forcer les
    types de cartes et de tuners, vous devez connatre les REFERENCES EXACTES
    de votre matriel.

    Une fois cela fait, vous devriez tre en mesure d'utiliser les entres TV
    (Composite et S-VHS) de votre carte TV. De la mme manire, vous pouvez
    utiliser le tuner pour regarder la TV. Pour cela, vous devrez dfinir
    votre rgion ainsi que les frquences des chanes que vous souhaitez
    visionner. Editez simplement le fichier /etc/tvcard :

    # TV Channels
    # Syntax : CHAN="Channel Frequency:Channel Title"
    # Example :
    # CHAN="29:France 2"
    # CHAN="K08:Canal +"
    # TV Channels List
    # Available : france, europe-east, europe-west, us-bcast, us-cable
    CHANLIST=france

    Faites attention lors de l'dition des canaux TV et veillez  utiliser
    la mme syntaxe que dcrit ci-dessus et les canaux TV devraient
    apparatre dans le menu principal.

* Configuration Audio :

    La GeeXboX supporte  la fois la restitution audio via la sortie
    analogique ou numrique, en utilisant les connecteurs classiques JACK
    ou RCA SPDIF.
    Par dfaut, la sortie est gre de manire analogique. Ceci peut etre
    chang en modifiant le fichier /etc/audio :

    # Output using SPDIF (yes/no), otherwise ANALOG output
    SPDIF=no

    Souvenez vous qu'il est ncessaire de rgler la sortie en mode numrique
    (SPDIF), si vous souhaitez relier votre carte son  un amplificateur hifi
    externe pour dcoder des flux AC3/DTS (en utilisant le mode passthrough).

* Post-Processing vido :

    Le Post-Processing est un moyen logiciel pour affiner une image, en la
    rendant plus nette et plus prcise. Cela a par contre l'inconvnient de
    consommer une partie du temps processeur afin de rendre l'image plus
    belle. Via l'utilisation des filtres internes  MPlayer, la GeeXboX vous
    permet de minimiser les effets de blocs horizontaux et verticaux, les
    effets d'anneaux de dgrads et de corriger automatiquement la luminosit
    de votre film. Par dfaut, le Post-Processing est dsactiv, pour viter
    de saccader sur de petites configurations matrielles. Il vous est
    possible de l'activer trs simplement en ditant le fichier
    /etc/mplayer/mplayer.conf :

    # Set Post Processing (h deblock, v deblock, dering, auto luminance)
    # Consumes CPU power, disabled for low configs, uncomment to enable it.
    #vf=pp=hb:a/vb:a/dr:a/al:a

* DXR3/Hollywood+ cards :

    Les utilisateurs de ce type de cartes de dcompression n'ont pas besoin
    d'avoir une carte vido ou une carte son dans leur ordinateur. Parmi les
    inconvnients, on notera nanmoins que seule la sortie TV peut etre
    utilise avec ce type de carte (pas d'affichage sur moniteur).
    Vous pouvez etre amen  dfinir la norme d'image souhaite (PAL/NTSC)
    via le fichier /etc/tvout ainsi que le type de sortie audio  utiliser
    (Analogique ou SPDIF) via le fichier /etc/audio.

* Configuration de la radio :

    Si vtre carte TV dispose d'un tuner radio FM intgr, la GeeXboX vous
    permet d'couter la radio. Pour cela, il vous faudra modifier le fichier
    GEEXBOX/etc/radio pour mettre l'option RADIO  yes.

    Le fichier GEEXBOX/etc/radio contient aussi la dfinition des stations.
    Des exemples sont prsents dans le fichier. Il suffira de les d-commenter
    et de les adapter  vos stations favorites.

    Le programme d'coute de la radio ne faisant pas partie de MPlayer, il
    y a des contrle de volume spars pour la radio. Notez que le volume
    contrl est le volume principale. Il pourra donc tre ncessaire de le
    rajuster avant de lancer la TV, une vido ou de la musique.

* Partage de fichiers via UPnP :

    UPnP est l'acronyme de Universal Plug & Play et peut se dcrire comme un
    protocole rseau permettant l'auto-dcouverte de priphriques ainsi que
    des services qui leur sont associs au sein de votre rseau domestique.
    La norme UPnP A/V (pour Audio/Video) dfinit un certains nombre de
    profiles pour des priphriques permettant le partage et la lecture de
    fichiers multimdias au sein d'un rseau. Le profile UPnP Media Server
    permet regroupe tous les priphriques capables de partager des fichiers
     des priphriques de type UPnP Media Player ou UPnP Media Renderer,
    qui sont en mesure de les restituer.

    La GeeXboX embarque un logiciel de contrle UPnP (UPnP Control Point) qui
    permet l'auto-dcouverte de tous les priphriques de type Media Server de
    votre rseau local et qui s'occupe de monter leur contenu en toute
    transparence dans un point de montage ddi (/mnt/UPnP).

    De cette manire, il vous suffit de disposer d'un PC ou autre priphrique
    possdant un logiciel compatible avec le profile UPnP Media Server pour
    que son contenu soit accessible depuis la GeeXboX. Pour plus d'infos sur
    l'UPnP ainsi que l'utilsiation de quelques serveurs,
    veuillez vous rfrer  la page suivante :
    http://www.geexbox.org/wiki/index.php/Accessing_to_UPnP_Contents

* Streaming rseau :

    GeeXboX permet de rajouter les listes de streams SHOUTcast Radio et TV
    tout autant que vos propres listes de lecture. (locales et distantes.)

    L'activation de SHOUTcast se dclare dans le fichier de configuration
    "GEEXBOX/etc/network". SHOUTcast TV tant succeptible de diffuser des
    streams ncessitant une inscription particulire ainsi que des streams
     caractre pornographique, une liste noire et une liste blanche
    peuvent tre compltes afin de filtrer le contenu selon vos critres
    (par dfaut, les mots clefs dfinis pour la liste noire sont :
    "adult xxx porn ESS SWCTV SWPTV Subscription"). La liste noire et la
    liste blanche sont insensibles  la casse.

    Vous pouvez crer vos listes de lecture locales et distantes dans le
    fichier de configuration "GEEXBOX/etc/netstream" (Des exemples sont
    contenus dans ce fichier). Les listes de lecture distantes concernent
    uniquement les fichiers M3U Etendus.

    Note aux utilisateurs (Franais uniquement) :
    Il est possible de receptionner un flux "FreeboxTV" grce  ce fichier.
    Pour y parvenir, veuillez suivre la procdure suivante :
    - d-commentez l'entre EXTM3U ad-hoc.
    - utilisez une version de GeeXboX compile avec le support de la
      librairie "LIVE555".
    (ces deux conditions tant ncessaires  la visualisation du flux) 

* Cartes DVB :

    La GeeXboX supporte un grand nombre de cartes DVB (Terrestre i.e. TNT,
    Cable, ATSC et Satellite) et ce, aussi bien en PCI qu'en USB. Veuillez
    cependant noter qu'il n'est pour l'instant possible d'utiliser qu'un
    unique adaptateur DVB  la fois.

    Certains priphriques DVB (particulirement ceux en USB) peuvent
    ncessiter un firmware propritaire additionnel pour fonctionner
    correctement. Il vous sera peut tre utile de jeter un oeil au Wiki DVB de
    LinuxTV (http://linuxtv.org/wiki/index.php/Main_Page) pour vous assurer
    que votre carte ncessite un tel firmware ou non. Dans ce cas, le
    gnrateur d'ISO pourra le tlcharger pour vous.

    Certains firmwares peuvent tre rcuprs directement depuis le site Web
    de LinuxTV (http://linuxtv.org/download/firmware/), d'autres peuvent tre
    inclus dans l'archive de drivers Windows du constructeur de la carte.
    Veuillez vous rfrer  la documentation sur le chargement des firmwares
    dans la GeeXboX pour de plus amples informations.

    Pour chaque carte, la liste des chanes disponibles est disponible au sein
    du menu de MPlayer. Il n'est cependant pas possible d'auto-dcouvrir ces
    chanes automatiquement.

    De ce fait, la dclaration de chanes accessibles par DVB dans la GeeXboX
    peut tre fait de diffrentes manires :

    - utiliser une liste de chane existante : MPlayer a besoin d'un fichier
    channels.conf valide et fonctionnel pour faire fonctionner la DVB. Ce
    fichier peut tre gnr  l'aide d'utilitaire fournis par le paquetage
    dvb-apps. Utilisez simplement une distribution Linux classique o votre
    carte DVB a dj t configure, tlchargez l'archive linuxtv-dvb-apps
    depuis le site http://www.linuxtv.org/download/dvb/, compilez le tout et
    crez le fichier de configuration via l'utilitaire "scan", dans le format
    "zap" (qui est le format par dfaut).

    Par exemple, pour une carte DVB-S (Satellite) utilisant le fournisseur
    d'accs Astra-19.2E :

      wget http://www.linuxtv.org/download/dvb/linuxtv-dvb-apps-1.1.0.tar.bz2
      tar jxvf linuxtv-dvb-apps-1.1.0.tar.bz2
      cd linuxtv-dvb-apps-1.1.0/util/scan
      make
      ./scan -x 0 dvb-s/Astra-19.2E > channels.conf

    Le drapeau "-x 0" indique que le scan ne tentera pas de se connecter aux
    chanes cryptes (gnralement payantes). Veuillez tout le temps procder
    de la sorte, MPlayer ne grant de toutes faons pas les chanes
    DVB cryptes.

    Selon votre type de carte DVB, choisissez un fichier de transponders
    (fournisseur) depuis les rpertoires "dvb-s", "dvb-c", "dvb-t" ou "atsc".

    Ensuite, copiez simplement le fichier channels.conf que vous venez de
    gnrer au sein du rpertoire /etc/mplayer de l'arborescence GeeXboX
    du gnrateur and recompilez une ISO.

    - utiliser une liste de transpondeur existante : cette procdure est
    relativement similaire  la prcdente  la diffrence qu'il s'agit cette
    fois de la GeeXboX qui va s'occuper de scanner les chanes pour vous et
    ce,  chaque dmarrage. Vous n'aurez ainsi plus besoin d'une autre
    distribution Linux pour gnrer le fichier channels.conf.

    Pour ce faire, rendez-vous simplement sur :
      http://linuxtv.org/cgi-bin/viewcvs.cgi/dvb-apps/util/scan/

    Selon votre type de carte DVB (S/T/C/ATSC), slectionnez le bon rpertoire
    et choisissez le fichier de liste de frquences de transpondeurs qui
    correspond  vos besoins ou votre localisation gographique. Renommez
    ensuite simplement ce fichier en dvb.conf et copiez le dans le rpertoire
    /etc. Puis, reconstruisez une ISO via le gnrateur.

    Au dmarrage, si la GeeXboX dtecte un fichier de transpondeur valide dans
    le fichier /etc/dvb.conf, elle l'utilisera pour scanner les chanes DVB
    disponibles et gnrera le fichier /etc/mplayer/channels.conf d'elle-mme.

    ATTENTION : Le scan de chanes peut tre relativement lent selon le type
    d'metteur et le nombre de chanes  dcouvrir. Ce processus est de plus
    effectu  chaque dmarrage de la GeeXboX si vous l'utilisez en tant que
    LiveCD. Il est alors hautement recommand qu'une fois le scan effectu,
    vous copiez manuellement le fichier /etc/mplayer/channels.conf qui aura
    t gnr quelque part afin de pouvoir le r-utiliser dans le gnrateur
    d'ISO en suivant la premire mthode, ou de faire une installation sur
    disque dur.

    - utiliser l'installator : il s'agit probablement l de la mthode la plus
    simple mais recquiert une installation sur disque de la GeeXboX. Au cours
    du processus d'installation, si un priphrique compatible DVB est reconnu
    sur votre systme, le script d'installation vous demandera de lui-mme si
    vous souhaitez rechercher les chanes disponibles pour votre carte DVB.

    L'installator contient la liste complte des frquences des transpondeurs
    du site LinuxTV. De ce fait, vous n'aurez qu' slectionner votre type de
    carte ainsi que le transpondeur  utiliser et la GeeXboX s'occupera de
    scanner letout et de gnrer le fichier /etc/mplayer/channels.conf.

* Menus de Navigation DVD :

    La GeeXboX propose 2 mthodes de lecture des DVD :
     - Lecture directe du film (defaut).
     - Lecture avec support des menus de Navigation DVD (exprimental).

    La premire permet une lecture quasi-assure de la plupart des DVDs. Une
    fois insr, le disque est automatiquement dtect et MPlayer va essayer
    de lire le chapitre qu'il jugera correspondre au film. Le principal
    avantage rside dans le fait que toutes les scnes de droit d'auteur,
    publicits ou menus seront sautes pour permettre une lecture instantanne
    du film. Nanmoins, dans certaines situations (comme les DVD avec des
    menus trs sophistiqus ou encore les DVD de sries TV, contenant de
    multiples pisodes et donc chapitres), cette mthode n'est pas prcise
    et vous pourriez ne pas tre en mesure de lire votre film correctement.

    La seconde, bien qu'encore exprimentale avec MPlayer (mais qui a
    nanmoins de trs fortes chances de fonctionner), apporte le support des
    menus de navigation DVD, vous permettant donc de le lire comme vous le
    feriez avec n'importe quel lecteur DVD du commerce, avec les avantages et
    inconvnients qui en dcoulent.

    Il vous est bien entendu possible de basculer d'un mode de lecture DVD
     un autre au moyen du menu d'options de la GeeXboX, selon le DVD que vous
    tes amener  visionner.

    Il vous est galement possible de spcifier la mthode de lecture par
    dfaut au moyen du gnrateur d'ISO de la GeeXboX.


| INSTALLATION
| ~~~~~~~~~~~~

Le plus simple est de dmarrer la GeeXboX depuis le CD est de
taper "install" au prompt de dmarrage.

Rpondez ensuite  toutes les questions. Lisez les questions avec attention
et stoppez l'installation si vous ne comprenez pas ce que vous faites.


| BOOT PXE
| ~~~~~~~~

Oui, la GeeXboX est capable de booter depuis le rseau sur une machine
sans disque ! Pour obtenir cela il vous faudra :
 - un serveur DHCP
 - un serveur TFTP
 - un serveur NFS
 - une machine supportant le PXE :-)

* Depuis un poste GNU/Linux :
  -------------------------

Il faut tout d'abord configurer le server DHCP pour qu'il envoie les info de
boot PXE. Voil un exemple de configuration avec isc dhcp :

allow booting;
allow bootp;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.128 192.168.0.192;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
  next-server 192.168.0.1;
  filename "/tftpboot/GEEXBOX/boot/pxelinux.0";
}

L'option next-server est l'adresse du server TFTP.
Ensuite il faut configurer votre serveur TFTP (tel que atftpd) pour qu'il
serve le rpertoire /tftpboot et copier une arborescence GEEXBOX complte
dans ce rpertoire. Par exemple il est possible de copier le contenu d'un
CD de GeeXboX depuis un linux AVEC L'OPTION CDROM TRANSPARENT DECOMPRESSION
ACTIVE !! (pour vrifier cela, il suffit de regarder si le fichier sbin/init
de l'arborescence GeeXboX ne contient pas de caractres totalement
incohrents). Si vous avez compil la GeeXboX vous mme a partir des sources,
il est aussi possible de gnrer l'arborescence GEEXBOX avec make pxe.

Ensuite il faut diter le fichier /tftpboot/GEEXBOX/boot/pxelinux.cfg/default
pour faire correspondre le nfsroot au bon chemin NFS vers l'arborescence
GeeXboX.

Enfin il reste a configurer NFS pour qu'il exporte l'arborescence GEEXBOX
avec un fichier /etc/exports ressemblant  ceci :

/tftpboot/GEEXBOX (ro)

et un /etc/hosts.allow ressemblant  :

ALL: ALL

Ca devrait tre bon.
Reste a booter la machine PXE et a voir ce qu'il se passe.

* Depuis un poste Microsoft Windows :
  ---------------------------------

Pour dmarrer en mode PXE depuis un systme Microsoft Windows, il vous faudra
les logiciels suivants :

* Un serveur TFTP et un serveur DHCP ("tftpd32" remplira cette tche,
  il est disponible  l'adresse http://tftpd32.jounin.net/).
* Un serveur NFS (comme par exemple "Allegro NFS server", disponible 
  l'adresse http://opensource.franz.com/nfs/).
* Une machine supportant le boot en mode PXE.

Tlchargez et dcompressez (aucune installation n'est requise) le dossier
tftpd32 quelque part sur votre disque, par exemple C:\tftpd32

Copiez y une arborescence GEEXBOX complte : C:\tftpd32\GEEXBOX

Lancez tftpd32 :
- Slectionnez le dossier C:\tftpd32 pour "current directory".
- choisissez l'interface (carte rseau)  utiliser en haut dans
  "server interface". Ici dans l'exemple une carte avec l'IP 192.168.0.1
- Cliquez sur "setting" et vrifiez que "DHCP server" soit bien coche.
- Dans l'onglet "DHCP server", remplissez les champs, en suivant cet exemple :
  (se rfrer  une documentation plus approfondie sur le fonctionnement
  d'un serveur DHCP pour plus de dtails)
	* IP starting pool : 192.168.0.10
	* Size of pool  : 10
	* Boot file : ./GEEXBOX/boot/pxelinux.0
	* WINS/DNS server : 192.168.0.254
	* Default router : 192.168.0.254
	* Mask : 255.255.255.0
	* Domain name : mydomain.net
- Faites "save" pour appliquer les modifications.

La premire partie est termine, normalement en dmarrant la machine cliente
(qui doit lancer la GeeXboX), on devrait apercevoir le chargement jusqu'
l'affichage du logo. Le systme se bloquera alors, car le serveur NFS
n'a pas encore t configur.

Installez "Allegro NFS Server" et configurez le comme suit :

- Onglet Exports :
	* faites un "new name" : et nommez le "/tftpboot/GEEXBOX"
	* dans "path", juste en dessous : selectionnez le
          rpertoire "C:\tftp32\GEEXBOX"
	* dans "allowed host list", selectionnez "all".
	* "Read write" , et "read only user list", selectionnez "root"
          et "everyone" (pour avoir un log, il suffit de tout cocher
          dans le dernier onglet).

Faites "Appliquer".

N'oubliez pas de modifier le fichier
C:\tftp32\GEEXBOX\boot\pxelinux.cfg\default et d'y changer l'adresse IP
"192.168.0.2" en "192.168.0.1" (ou toute adresse que vous aurez choisie).

Il suffit maintenant de dmarrer la machine cliente pour amorer la GeeXboX
par le rseau.


| COMPILATION
| ~~~~~~~~~~~

Tout d'abord, regardez la partie de configuration ci-dessous.

Typiquement, la compilation s'effectue simplement au moyen de :
  make
Ou vous pouvez directement compiler et graver l'ISO via :
  make burn

Une fois cela fait, vous pouvez regagner de l'espace disque en effaant
l'arborescence de compilation via :
  make clean
ou en effectant un nettoyage complet, liminant mme les
sources tlcharges :

  make distclean

Il existe galement des commandes plus avances si vous dsirez effectuer
des modifications en profondeur au niveau de la GeeXboX :
  scripts/get package          # tlcharge le paquetage
  scripts/unpack package       # prpare le paquetage
  scripts/build package        # compile le paquetage
  scripts/install package      # installe le paquetage dans $INSTALL
  scripts/clean package        # nettoie l'arborescence du paquetage
  scripts/clean --full package # nettoie les sources du paquetage
  make exec                    # lance la GeeXboX dans une cellule
                               # ATTENTION: ceci est une fonction
                               # exprimentale.
                               # Utilisez l  vos propres risques.

Si vous avez effectu une version modifie de la GeeXboX, vous pouvez :
construire une archive rduite tar.bz2 via :
  make dist
ou une archive complte (avec l'intgralit des sources) au moyen de :
  make fulldist
ou construire le gnrateur d'ISO :
  make generator
ou encore l'installateur :
  make installator
ou enfin une arborescence PXE :
  make pxe


| CONFIGURATION
| ~~~~~~~~~~~~~

* Options Globales :

    C'est la premire chose dont vous aurez  vous soucier avant d'essayer de
    compiler la GeeXboX. Elles sont contenues dans le fichier config/options,
    et devraient tre suffisamment explicites.

* Linux :

    Il s'agit d'une configuration Linux classique (packages/linux/linux.conf).
    Vous pouvez diter le fichier  la main, ou via scripts/unpack linux
    suivi de make menuconfig -C build/linux-* (ou utiliser votre mthode
    prfre en lieu et place de menuconfig). Puis, vous devrez sauvegarder
    votre fichier build/linux-*/.config dans packages/linux/linux.conf.

* Lirc :

    Lirc vous permet de contrler la GeeXboX en utilisant une tlcommande.
    En premier lieu, vous aurez  choisir le fichier correspondant  votre
    tlcommande dans build/lirc-*/remotes (aprs avoir effectu
    scripts/unpack lirc) et l'ajouterez  packages/lirc/install.

    Puis, choisissez votre priphrique (par dfaut, il s'agit de /dev/ttyS0
    (COM1)) et le pilote lirc et mettez le tout dans un fichier nomm
    packages/lirc/lircd_$REMOTE.

    Vous pourrez ensuite choisir l'affectation des touches dans le fichier
    packages/lirc/lircrc_$REMOTE. Pour chaque affectation, vous aurez  chosir
    un bouton (choisissez leurs noms dans le fichier de dfinitions de la
    tlcommande) et associez lui une action. L'action sera une de celle
    disponible dans MPlayer (vous pouvez trouver une liste dans le fichier
    html build/MPlayer-*/DOCS/documentation.html#commands).


| MODIFICATION
| ~~~~~~~~~~~~

La premire chose dont vous aurez vous soucier concerne le script
d'initialisation. En fait, ils sont 2. Le premier est dans
packages/initrd/linuxrc mais vous ne devriez pas avoir besoin de le modifier.
Le second est config/init et c'est dans ce dernier que vous aurez de
probables modifications  effectuer.

Puis, vous pourrez tre intresss par l'ajout de nouveaux paquetages. Un
paquetage n'est implement qu'un ensemble de scripts qui se doivent de suivre
certaines rgles. Tous les scripts se doivent d'tre placs dans un
rpertoire dont le nom concide avec celui du programme que vous dsirez
ajouter, lui-mme dans le rpertoire packages.

Voici une liste de scripts que vous aurez  crer :
 - url : simple liste d'URLS o sont disponibles les sources.
 - unpack : que faire aprs avoir dcompresser les sources. Par exemples, vous
            pouvez modifier les fichiers de configuration. Ceci ne concerne
            pas l'application de patchs.
 - need_build : appel lorsque le paquetage a dj t compil, afin de
                s'assurer qu'il n'aura plus besoin d'tre recompil.
                Il devrait supprimer le fichier .stamps/"package name"/build
                si le paquetage ncessite d'tre reconstruit.
 - build : l'ensemble des tapes ncessaires pour compiler le programme.
 - install : l'ensemble des tapes ncessaires  l'installation du programme.
             Le prfixe d'installation devrait tre $INSTALL.

De plus, le rpertoire dcrivant un paquetage peut contenir de nombreux
sous-rpertoires additionnels :
 - config : c'est l que sont situs tous les fichiers de configuration. Ces
            derniers peuvent tre, soit utiliss par le script build pour
            compiler le paquetage, soit par le script install pour tre copis
            dans le rpertoire /etc de destination.
 - scripts : ce sous-rpertoire peut contenir des scripts d'initialisation li
             au paquetage courant et qui seront installs par le script
             install
 - patches : ce sous-rpertoire peut contenir des patchs destins  tre
             appliqus aux sources du paquetage, au moment du script unpack.
 - sources : si des fichiers sont prsents dans ce sous-rpertoire, ils seront
             automatiquement copis dans l'arbre de compilation du paquetage.
 - init.d : contient les scripts d'initialisation qui seront xcuts au
            chargement du systme.

Vous devez avoir  l'esprit que les applications qui tournent sous le systme
GeeXboX doivent avoir t compil avec la librairie uClibc.

Enfin, la meilleure manire d'ajouter un paquetage est de s'inspirer de la
faon dont les actuels sont faits.


| LICENSE
| ~~~~~~~

Tous les programmes utiliss par GeeXboX sont protgs par leurs licenses
respectives. Tous ces logiciels sont libres et, pour la plupart, protgs par
une licence GPL (License Publique Gnrale)
La GeeXboX elle-mme, c'est  dire tous les scripts utilis et le systme
de compilation, est couvert par la licence GNU-GPL.
