Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
mediacenter:xbmc_pxe [2013/03/07 19:02] james créée |
mediacenter:xbmc_pxe [2013/11/20 17:44] (Version actuelle) james [Mise a jour XBMC 12.2] typo |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>xbmc mediacenter nfsroot pxe netboot liveCD}} | ||
====== Utiliser Xbmc en boot PXE ====== | ====== Utiliser Xbmc en boot PXE ====== | ||
Ligne 10: | Ligne 11: | ||
Vous devez disposer d'une image ISO de Xbmc exportée en NFS, par exemple en utilisant les commandes suivantes : | Vous devez disposer d'une image ISO de Xbmc exportée en NFS, par exemple en utilisant les commandes suivantes : | ||
* <code># mkdir -p /mnt/iso/xbmcbuntu-12.00-live</code> | * <code># mkdir -p /mnt/iso/xbmcbuntu-12.00-live</code> | ||
- | * <code># mount -o loop,ro /mnt/data/ISOs/xbmcbuntu-12.00.Intel-NVIDIA.iso /mnt/iso/xbmcbuntu-12.00-live</code> | + | * <code># echo "/mnt/data/ISOs/xbmcbuntu-12.00.Intel-NVIDIA.iso /mnt/iso/xbmcbuntu-12.00-live udf,iso9660 user,noauto,loop,ro 0 0" >> /etc/fstab</code> |
- | * <code># echo "/mnt/iso/xbmcbuntu-12.00-live/ 192.168.0.0/255.255.255.0(ro,no_subtree_check)" >> /etc/exports</code> | + | * <code>$ mount /mnt/iso/xbmcbuntu-12.00-live</code> |
+ | * <code># echo "/mnt/iso/xbmcbuntu-12.00-live/ 192.168.0.0/255.255.255.0(ro,mountpoint,no_subtree_check)" >> /etc/exports</code> | ||
Vous devez disposer d'un accès lecture/écriture sur le serveur NFS. (ici on utilise l'adresse MAC du mediacenter, adaptez "01-02-03-04-0A-0B" à l'adresse MAC de votre machine **en majuscule** ) | Vous devez disposer d'un accès lecture/écriture sur le serveur NFS. (ici on utilise l'adresse MAC du mediacenter, adaptez "01-02-03-04-0A-0B" à l'adresse MAC de votre machine **en majuscule** ) | ||
Ligne 45: | Ligne 47: | ||
===== Patch initrd ===== | ===== Patch initrd ===== | ||
+ | on va travailler dans le /tmp de la machine : | ||
+ | * Prérequis : installer lzma , cpio et patch au besoin :<code># apt-get install lzma cpio patch</code> | ||
+ | * Récupérer les patchs {{:mediacenter:casper.patch|ici}} et {{:mediacenter:casper-helpers.patch|la}} et poser les fichiers dans /tmp | ||
+ | * copier et dépaqueter l'initrd (plus besoin d'etre root) :<code> | ||
+ | cp /tftpboot/xbmc-12.0-live/initrd.lz /tmp/ | ||
+ | cd /tmp | ||
+ | unlzma < initrd.lz > initrd | ||
- | TODO : ecrire | + | mkdir /tmp/content |
+ | cd /tmp/content | ||
+ | |||
+ | cpio -id < ../initrd | ||
+ | </code> | ||
+ | * patcher ce qui doit l'être : | ||
+ | * <code>patch -p0 < ../casper.patch</code> | ||
+ | * <code>patch -p0 < ../casper-helpers.patch</code> | ||
+ | * Repaqueter l'initrd :<code> | ||
+ | find ./ | cpio -H newc -o > ../new-initrd.cpio | ||
+ | |||
+ | lzma < ../new-initrd.cpio > ../initrd.lz</code> | ||
+ | * Déposer l'initrd la ou il sera disponible en PXE :<code># mv /tmp/initrd.lz /tftpboot/xbmc-12.0-live/initrd.lz </code> | ||
+ | |||
+ | Il ne reste plus qu'a démarrer votre, vous devriez voir l'entrée XBMC dans le menu de boot réseau. | ||
+ | |||
+ | Pour verifier le fonctionnement du copy on write, tentez d'ecrire un fichier disons dans /root : ce fichier devrait etre présent apres le redémarrage | ||
+ | |||
+ | |||
+ | ===== Mise a jour XBMC 12.2 ===== | ||
+ | |||
+ | Depuis que cette page a été écrite, la version 12.2 est sortie. | ||
+ | Les étapes décrites précédemment fonctionnent encore, le patch/regénération de l'initrd aussi (avec les mêmes patchs) : il suffit d'adapter les numéros de version dans les différents chemins | ||
+ | |||
+ | Voici la configuration PXE à ajouter pour avoir d'une part un liveCD simple (sans persistance des données) et d'autre part la version avec persistance qui nécessite donc par contre l'initrd patché : | ||
+ | <code> | ||
+ | [...] | ||
+ | label xbmc122live | ||
+ | menu label XBMCLive 12.2 Intel NVIDIA | ||
+ | kernel xbmc-12.2-live-intel/vmlinuz | ||
+ | append initrd=xbmc-12.2-live-intel/initrd.lz netboot=/dev/nfs nfsroot=192.168.0.1:/mnt/iso/xbmcbuntu-12.2-live debug boot=casper | ||
+ | |||
+ | label xbmc122cow | ||
+ | menu label XBMCLive - NFS Copy On Write 12.2 Intel NVIDIA | ||
+ | kernel xbmc-12.2-live-intel/vmlinuz | ||
+ | append initrd=xbmc-12.2-live-intel/initrd_cow.lz netboot=/dev/nfs nfsroot=192.168.0.1:/mnt/iso/xbmcbuntu-12.2-live debug boot=casper nfscow=192.168.0.1:/mnt/data/xbmc-nfs-root/client_mac_address | ||
+ | [...] | ||
+ | </code><note>La encore ne **pas** remplacer "client_mac_address" par la valeur de l'adresse MAC</note> | ||
===== Références ===== | ===== Références ===== |