Outils pour utilisateurs

Outils du site


issue89:labo_linux_1

Table des matières

1

It was way back in Issue #56 that I last wrote about XBMC for Full Circle Magazine. Back then, we were running XBMC on Ubuntu 10.04. We’re now a couple of Long Term Support (LTS) releases ahead. Back in Issue #56, our XBMC machine was a Dell Inspiron Mini 10 netbook (250GB internal hard drive) with a 1TB external hard drive for our media storage. Later we tried going even smaller, installing both the Android+XBMC and a custom firmware+Linux+XBMC distribution on a Pivos XIOS DS Media Play device. The custom firmware+Linux XBMC solution was wicked fast. The small device had lots of positives, built-in wireless, 3 USB ports, its own remote control, low power consumption, and it could be hidden behind our TV, but it had lots of drawbacks too. The minimal version of Linux for the XIOS DS lacked some of the flexibility we had on the Ubuntu Linux + Inspiron Mini 10 solution. Storage was minimal (we had a small microSD card). Adding more storage meant either connecting an external hard drive or setting up a NAS somewhere (more power and cables). And we wanted a bit more CPU power! Coincidentally, about this time the 1TB hard drive started displaying SMART errors so we bought a 2TB hard drive. The larger hard drive triggered our desire to go bigger and badder so we added a bit more equipment: An Antec Sonata II case, an Asus P5K SE motherboard, an Intel Pentium D processor at 3GHz with 4GB of RAM, and a 320GB hard drive for the boot drive.

La dernière fois que j'ai fait un article au sujet de XBMC pour le magazine Full Circle était il y a très longtemps, dans le numéro 56. À cette époque, nous faisions tourner XMBC sous Ubuntu 10.04. Nous avons maintenant avancé d'au moins deux versions LTS. Dans le n° 56, notre machine était un netbook Dell Inspiron Mini 10 (avec un disque dur de 250 Go) plus un disque dur externe de 1 To pour le stockage des média.

Plus tard, nous avons essayé de faire encore plus petit, en installant ensemble Android+XMBC et une distribution avec firmware personnalisé+Linux+XBMC sur un dispositif Picos XIOS DS Media Play. La solution firmware personnalisé + Linux XBMC était extrêmement rapide. Le petit dispositif avait plein d'avantages - wifi intégré, 3 ports USB, sa propre télécommande, basse consommation d'énergie et on pouvait le cacher derrière notre téléviseur, mais il avait plein d'inconvénients aussi. La version minimale de Linux pour le XIOS DS n'était pas aussi flexible que la solution Ubuntu Linux + Inspiron Mini 10. Le stockage était quasi nul (on avait une petite carte microSD). Ajouter du stockage aurait voulu dire soit connecter un disque dur externe, soit mettre un NAS quelque part (qui aurait nécessitait plus d'énergie et plus de câbles). Et nous voulions un processeur un peu plus puissant !

Tout à fait par hasard, à peu près au même moment, le disque dur de 1 To commençait à signaler des erreurs SMART et nous avons donc acheté un disque de 2 To. Ce plus grand disque nous a donné, en quelque sorte, la folie des grandeurs et nous avons ajouté un peu plus de matériel :

Un boîtier Antec Sonata II, une carte mère Asus P5K SE, un processeur Intel Pentium D à 3 GHz avec 4 Go de RAM, et un disque dur de 320 Go comme disque de démarrage.

2

For a short time we used the same solution we used for the netbook – a VGA cable and a separate sound cable to hook up to our 42” Samsung LCD Television. We’re fortunate that our LCD television supports VGA as well as HDMI. One of the nice things about the Pivos XIOS DS setup was the fact that both the audio and video went over the HDMI cable to our television. We like things nice and tidy and using the VGA cable meant we had to run a second cable for audio. A couple of weeks later we picked up an NVidia GeForce 210 1GB video card. We got the card on an open box special. The sales person cautioned us that the card was meant for multimedia, not gaming. We just smiled and took the generous discount. The card has 3 common video connections: VGA, DVI and HDMI. Only HDMI supports video and audio. Around the same time the XBMC project released a version of Ubuntu+XBMC called XBMCbuntu. XBMCbuntu simplified a lot of things we had to install manually before (it installed proprietary video drivers, SAMBA, already had support for our Windows Media Centre remote control - which works nicely if you use lircd, etc.). XBMCbuntu came in an AMD and an NVidia flavour. It worked very well except for the fact that it failed to get the correct Extended Display Identification Data (EDID) for our television. XBMC displayed just fine at 1920×1080 (over the HDMI cable, the VGA cable we originally used limited us to 1366×768) but if you quit XBMC and ran the underlying Openbox you could barely read anything on the screen.

Pendant un court laps de temps, nous avons utilisé la même solution qu'avec le netbook - un câble VGA et un câble audio distinct qu'on branchait sur notre téléviseur Samsung LCD 42“. Heureusement, notre télévision LCD prend en charge le VGA aussi bien que le HDMI. Un des avantages du Pivos IXOS DS était que et l'audio et la vidéo allaient au téléviseur grâce au câble HDMI. Nous préférons que les choses soient bien rangées et, avec le câble VGA, il nous fallait un deuxième câble pour l'audio.

Une dizaine de jours plus tard, nous avons acheté une carte graphique NVidia GeForce 210 1 Go, en promotion. Le vendeur nous a averti que c'était une carte pour la multimédia et pas pour les jeux. Nous nous sommes contenté de sourire et d'accepter la généreuse remise. La carte a trois connexions vidéo habituelles : VGA, DVI et HDMI. Seul le HDMI prend en charge la vidéo et l'audio.

À peu près au même moment, le projet XMBC a sorti une version de Ubuntu+XBMC, appelé XBMCbuntu. XBMCbuntu simplifiait beaucoup de choses qu'on devait auparavant installer à la main (il installait les pilotes vidéo propriétaires, SAMBA, supportait déjà notre télécommande Windows Media Centre - qui fonctionne bien si vous utilisez lircd, etc.). Il y avait deux versions de XBMCbuntu : une version AMD et une NVidia. Il fonctionnait très bien sauf qu'il n'arrivait pas à récupérer les bonnes données EDID (les données d'identification de l'affichage étendu d'un dispositif) pour notre téléviseur. XBMC gérait très bien l'affichage à 1920×1080 (par le câble HDMI, le câble VGA utilisé au départ nous limitait à 1366×768), mais, si on quittait XBMC pour lancer l'Openbox sous-jacent, l'écran était presque illisible.

3

Several software upgrades later we managed to get XBMC to version 13 (Gotham) but because we used XBMCbuntu we were stuck with Ubuntu 12.10. With Ubuntu 12.10 sorely out of date and XBMC heading towards release 14 and it’s new name, Kodi, we decided it was time to upgrade and change again. The argument for the Kodi name was partly rooted in the fact that XBMC doesn’t run on any XBox other than the original machine (and barely at that). While we’re not aware of Microsoft exercising any trademark infringement actions against the XBMC team, the possibility was always there. Over the years XBMC has become much more than just a media centre, it streams, it can game, and can be a PVR front end. The Kodi name change is part of a larger move towards changing the XBMC image from just a media centre to an entertainment centre. All this newness lead us to realize our XBMC machine is a bit of a dinosaur – outdated software, and hardware we’d been using for quite a long time. Ideally we would have used something like this: http://ca.pcpartpicker.com/p/8KFm23 For our ideal build we went Intel over AMD because our experience with NVidia for video drivers is generally better than AMD, but it’s worth noting here that last year we built an AMD APU-based system that has worked wonderfully as a desktop system using Kubuntu and Xubuntu. That system had the following parts (plus a 250GB hard drive and a Blueray player we already had): http://ca.pcpartpicker.com/p/bGvDnQ

Plusieurs mises à jour du logiciel plus tard, nous avons réussi à avoir la version 13 (Gotham) de XBMC, mais, parce que nous utilisions XBMCbuntu, nous devions rester avec Ubuntu 12.10. Ubuntu 12.10 étant plus que périmé et la version 14 (nom de code, Kodi) d'XMBC approchant, le moment était venu de faire une mise à niveau et changer encore une fois.

La raison d'être du nom Kodi était en partie due au fait que l'XBMC ne fonctionne sur aucune autre XBox que la machine originale (et pas très bien, en plus). Nous n'avions pas connaissance d'actions menées par Microsoft contre l'équipe XBMC pour atteinte à une marque déposée, mais la possibilité existait toujours. Au cours des années, XBMC est devenu beaucoup plus qu'un simple centre multimédia : il diffuse des flux, il sait jouer et il peut être une interface de PVR (Personal Video Recorder). Le changement de nom fait partie d'une tendance vers la modification de l'image d'XBMC de celle d'un simple centre multimédia vers un centre de divertissement.

Toutes ces nouveautés nous ont fait comprendre que notre machine XBMC est en quelque sorte un dinosaure avec son logiciel périmé et du matériel que nous utilisions depuis très longtemps. La solution idéale aurait été d'utiliser quelque chose comme ceci : http://ca.pcpartpicker.com/p/8KFm23

Pour notre machine idéale, nous avons choisi Intel plutôt qu'AMD, parce que notre expérience avec NVidia pour les pilotes vidéo est, en général, meilleure que celle avec AMD. J'aimerais cependant noter ici que, l'année dernière, nous avons construit un système AMD, basé sur APU, qui fonctionne à merveille en tant qu'ordinateur de bureau sous Kubuntu et Xubuntu. Ce système-là avait les composants suivants (en plus d'un disque dur de 250 Go et un lecteur Blueray que nous avions déjà) : http://ca.pcpartpicker.com/p/bGvDnQ

4

The PC Part Picker web site is a handy way to piece together a system for do-it-yourselfers and has a US and UK version, just add us or uk in front of the url (uk.pcpartpicker.com for example). Our budget was a lot less than $900 (the Intel system), and we could get some used upgrades we could trust for a lot less. So we started by upgrading parts and including one of the parts in our list, the 3TB hard drive. The first change: Our aging Pentium D processor. Changing motherboards would have meant investing in a new motherboard, CPU and DDR3 RAM. What we had with our Socket 775-based motherboard was working well for us. We just wanted to squeeze a bit more power out of the system, so we picked up an Intel Core 2 Quad Q8300 @ 2.50GHz (4 Cores) processor. Our original Pentium D clocked in a bit quicker at 3GHz, but after changing to the 4 core Q8300 we noticed the movies scrolled by better on the selection screen. It was a noticeable difference. Next we focused on our 2TB data hard drive. The drive was more than half full and we’d recently moved a bunch of data on to the 320GB operating system drive to free up more space, so we picked up an inexpensive 3TB Seagate drive.

Le site Web de PC Part Picker est très utile pour les bricoleurs qui veulent assembler un système tout seuls ; il a une version US et une version UK - il suffit d'ajouter soit us soit uk devant l'URL (par exemple uk.pcpartpicker.com).

D'après notre budget, nous devions dépenser beaucoup moins de 900 $ (le système Intel) et on pouvait obtenir du matériel d'occasion pour bien moins. Nous avons commencé donc par la mise à niveau de composants, y compris d'un de ceux sur notre liste, le disque dur de 3 To.

La première chose que nous avons changé était notre processeur Pentium D vieillissant. Changer de carte mère aurait signifié acheter une nouvelle carte mère, un nouveau processeur et de la RAM DDR3. Ce qu'on avait déjà, une carte mère basée sur Socket 775, fonctionnait très bien. Nous voulions simplement un système un peu plus puissant et nous avons donc récupéré un processeur Intel Core 2 Quad Q8300 @ 2,50 GHz (4 cœurs). Le Pentium D d'origine était un peu plus rapide à 3 GHz, mais après l'avoir remplacé par le Q8300 à 4 cœurs, nous avons remarqué que les films défilaient mieux sur l'écran de sélection. C'était une différence perceptible.

Ensuite, nous nous sommes concentrés sur notre disque dur de 2 To, utilisé pour des données. Il était déjà plus qu'à moitié plein et nous avions récemment bougé pas mal de données vers le disque du système d'exploitation (320 Go) pour gagner de la place ; nous avons donc acheté un disque Seagate (3 To) bon marché.

5

Both the operating system drive and the 2TB hard drive are Seagate drives. And while our first Seagate 1TB started showing smart errors after about 1 year the 2TB and 320GB drives have run well for a couple of years. The new drive posed a bit of a problem because we’re using older hardware that doesn’t natively support GPT in the BIOS. Linux does support GPT, but it took some poking around to figure out how to partition and mount the drive. Initially we tried setting up the drive using: cfdisk /dev/sdc. Cfdisk seemed to see all 3TB and when we formated the drive it appeared like it was going to get detected as 3TB, but when we rebooted we noticed it showed up as 768GB, a fraction of the size. We kept looking and found a solution on Buildcube: http://www.buildcube.com/tech_blog/2012/07/25/installing-my-3tb-hard-drive-on-debian-linux-step-by-step/ Initially we were a bit crazy and formatted our drive using NTFS. The 2TB hard drive was already NTFS so we thought we’d do the same for the 3TB, but later we decided against it and went ext4. It’s worth noting that we found ext4 took up less space – 77MB versus the 160MB NTFS used. We’re including both methods here. sudo apt-get install parted sudo parted /dev/sdc

Les 2 disques durs, celui du système d'exploitation et celui de 2 To pour les données sont de Seagate. Et alors que notre premier disque dur Seagate de 1 To commençait à présenter des erreurs smart au bout d'1 an, les disques de 2 To et de 320 Go tournent bien depuis deux ans.

Le nouveau disque posait un petit problème car nous utilisions du vieux matériel qui ne supportait pas nativement GPT (format de partitionnement du disque) dans le BIOS. Linux supporte GPT, mais il fallait tâtonner un peu pour comprendre comment partitionner et monter l'unité. D'abord, nous avons essayé de configurer le disque en utilisant : cfdisk /dev/sdc. cfdisk semblait voir l'ensemble des 3 To et quand nous avons formaté le disque, on avait l'impression qu'il le détecterait comme un 3 To ; mais quand nous avons rebooté, nous avons remarqué qu'il le présentait avec 768 Go, une petite partie du total. Nous avons continué à chercher et avons trouvé la solution sur Buildcube : http://www.buildcube.com/tech_blog/2012/07/25/installing-my-3tb-hard-drive-on-debian-linux-step-by-step/

Au départ, nous étions un peu fous et nous avons formaté le disque en NTFS. Le disque de 2 To était déjà en NTFS, aussi nous avons pensé faire de même pour le 3 To ; plus tard, nous avons changé d'avis et nous l'avons formaté en ext4. Notez bien que nous avons découvert qu'ext4 prend moins de place : 77 Mo au lieu des 170 Mo du NTFS. Nous avons inclus les deux méthodes ici.

sudo apt-get install parted

sudo parted /dev/sdc

6

The previous command puts us in parted. Parted is a bit like the ex editor, it waits for us to give it commands. We’ll give it the command to make a GPT label instead of an MBR label (2TB max). mklabel gpt Answer yes to the warning that data will be destroyed (assuming your drive was /dev/sdc – ours actually was), don’t accidentally delete a drive/data you need. mkpart primary ntfs 0% 100% quit This sets up the drive as gpt and gets it set for formatting, now we just need to format the drive: sudo mkfs.ntfs -Q /dev/sdc1 The -Q in the NTFS version does a quick format. If you don’t use the -Q switch and go NTFS, expect to wait a long time. At this point we stopped being silly and repeated the process with the following modifications to make the drive a writable ext4 drive: sudo parted /dev/sdc mklabel gpt mkpart primary ext4 0% 100% quit sudo mkfs.ext4 /dev/sdc1

La commande précédente nous positionne dans parted. Parted est un peu comme l'éditeur ex, il attend qu'on lui donne les commandes. Nous lui avons commandé de créer un label GPT plutôt qu'un label MBR (2 To max).

mklabel gpt

Répondez oui à l'avertissement que toutes données seront effacées (en présumant que votre disque est bien /dev/sdc - comme le notre) ; n'effacez-pas un disque ou des données qui vous servent.

mkpart primary ntfs 0% 100%

quit

Ceci configure le disque en GPT et le prépare au formatage ; maintenant, pour formater le disque nous avons juste besoin de :

sudo mkfs.ntfs -Q /dev/sdc1

L'option -Q dans la version NTFS entraine un formatage rapide. Si vous n'utilisez pas le commutateur -Q pour du NTFS, attendez-vous à ce que ça dure longtemps.

À ce stade, nous avons arrêté de dérailler et nous avons répété le processus avec les modifications suivantes pour préparer le disque en ext4 inscriptible :

sudo parted /dev/sdc

mklabel gpt

mkpart primary ext4 0% 100%

quit

sudo mkfs.ext4 /dev/sdc1

7

One of the problems we ran into when we mounted our new ext4 drive was that we couldn’t get it writable by the xbmc user account. Permissions are always fun. To fix the problem, we created a directory under /mnt called /mnt/movies and changed the owner to the xbmc user: sudo chown -R xbmc.xbmc /mnt/movies The period between the xbmc’s differentiates user and group. If you wanted a different group you would use something like: sudo chown -R xbmc.multimedia /mnt/movies.

Un des problèmes que nous avons rencontré quand nous avons monté notre nouveau disque ext4 était que nous ne pouvions pas écrire dessus avec le compte utilisateur xbmc. Les permissions sont toujours un plaisir. Pour résoudre le problème, nous avons crée un répertoire sous /mnt appelé /mnt/movies et avons changé le propriétaire à xbmc :

sudo chown -R xbmc.xbmc /mnt/movies

Le point entre les 2 xbmc sépare l'utilisateur du groupe. Si vous souhaitez un autre nom de groupe, vous pourriez utilisez une commande comme :

sudo chown -R xbmc.multimedia /mnt/movies.

Now we needed to get our new hard drive into /etc/fstab so it would be mounted automatically. Several years ago the mounting method in /etc/fstab switched to UUID’s making it a bit more complex; luckily we have blkid to tell us the UUID of each drive. We simple ran: sudo blkid Our results looked like this: /dev/sda1: UUID=“9ce53713-9bcd-4df4-a160-e93826eefb2f” TYPE=“ext4” /dev/sda5: UUID=“db9cf246-0e50-4a95-bec0-6ad63e91e20d” TYPE=“swap” /dev/sdb1: LABEL=“data” UUID=“4D07684A289AEA37” TYPE=“ntfs” /dev/sdc1: UUID=“a6732b72-ef69-4129-88e6-ed328d8c8786” TYPE=“ext4” The line we added to /etc/fstab was: UUID=a6732b72-ef69-4129-88e6-ed328d8c8786 /mnt/movies ext4 defaults,noatime 0 1 If we were doing NTFS, it would have been something like (note the UUID changes when formatted with NTFS: UUID=1011D1F75957D63A /mnt/movies ntfs errors=remount-ro 0 1

Maintenant nous avions besoin de mettre notre nouveau disque dur dans /etc/fstab pour qu'il puisse être monté automatiquement. Il y a quelques années, la méthode de montage dans /etc/fstab passa aux UUID ce qui la rendit un peu plus complexe ; heureusement nous avons blkid pour nous donner l'UUID de chaque lecteur. Nous avons tout simplement lancé :

sudo blkid

Les résultats ressemblaient à ceci :

/dev/sda1: UUID=“9ce53713-9bcd-4df4-a160-e93826eefb2f” TYPE=“ext4”

/dev/sda5: UUID=“db9cf246-0e50-4a95-bec0-6ad63e91e20d” TYPE=“swap”

/dev/sdb1: LABEL=“data” UUID=“4D07684A289AEA37” TYPE=“ntfs”

/dev/sdc1: UUID=“a6732b72-ef69-4129-88e6-ed328d8c8786” TYPE=“ext4”

La ligne ajoutée à /etc/fstab était :

UUID=a6732b72-ef69-4129-88e6-ed328d8c8786 /mnt/movies ext4 defaults,noatime 0 1

Pour le NTFS, vous auriez eu quelque chose comme (notez que l'UUID change pour le format NTFS) :

UUID=1011D1F75957D63A /mnt/movies ntfs errors=remount-ro 0 1

8

To test our entry was working correctly, without rebooting we mounted all the drives in fstab: sudo mount -a Then we ran df -hH to see the sizes: Filesystem Size Used Avail Use% Mounted on /dev/sda1 311G 31G 266G 11% / udev 2.2G 13k 2.2G 1% /dev tmpfs 424M 697k 423M 1% /run none 5.3M 0 5.3M 0% /run/lock none 2.2G 4.1k 2.2G 1% /run/shm none 105M 0 105M 0% /run/user /dev/sdb1 2.1T 1.2T 834G 59% /data /dev/sdc1 3.0T 77M 2.9T 1% /mnt/movies Success! We kept our initial install of XBMCbuntu temporarily so we could focus on the hardware.

Pour tester que nos entrées fonctionnaient bien, sans rebooter, nous avons monté tous les disques dans fstab :

sudo mount -a

Puis nous avons lancé df -hH pour voir les tailles :

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 311G 31G 266G 11% /

udev 2.2G 13k 2.2G 1% /dev

tmpfs 424M 697k 423M 1% /run

none 5.3M 0 5.3M 0% /run/lock

none 2.2G 4.1k 2.2G 1% /run/shm

none 105M 0 105M 0% /run/user

/dev/sdb1 2.1T 1.2T 834G 59% /data

/dev/sdc1 3.0T 77M 2.9T 1% /mnt/movies

Plein succès ! Nous avons gardé notre installation initiale de XBMCbuntu pendant que nous nous sommes concentré sur le matériel.

9

Hardware-wise we were (almost) done for now. Next issue we’ll be installing Linux+XBMC and all the services for remote control support and sharing within the house. But, just before we close, one final hardware change we made was to upgrade our home network a small bit. Since we would be moving large files (one 3-hour movie in Blueray-quality was around 12GB), we added a gigabit switch to our internal network to speed things up a bit. Before mounting all the networking equipment we took pieces of paper and outlined each piece of equipment and their mounting holes. We then taped those outlines to the mounting board and put screws in the place each piece of equipment would mount. In the case of our small VOIP box, we needed to run hanging wire across it to keep it in place because it intended to sit on top of something rather than be mounted on a wall. Next issue, the Linux and XBMC install.

Au niveau hardware nous étions (presque) bons pour le moment. Dans le prochain numéro, nous installerons Linux+XBMC et tous les services nécessaires à un contrôle à distance et un partage dans toute la maison. Mais, avant de clore l'article, nous avons procédé à un dernier changement de matériel pour mettre un peu à niveau notre réseau domestique. Parce que nous voulions déplacer des fichiers volumineux (comptez 12 Go pour un film de 3 heures en qualité Blueray), nous avons ajouté un routeur 1 Gbit pour augmenter la bande passante de notre réseau interne.

Avant de monter tout l'équipement du réseau, nous avons reproduit en papier chaque équipement et ses trous de fixation. Nous avons ensuite scotché chaque forme de papier dans le boitier à la place prévue de l'équipement et mis les vis en place. Dans le cas de notre petit boîte VOIP (voix sur IP), nous avons eu besoin de passer des fils volants au travers pour la maintenir suspendue parce qu'elle faite pour être posée plutôt que fixée au mur.

Au prochain numéro, l'installation de Linux et de XBMC.

issue89/labo_linux_1.txt · Dernière modification : 2015/02/10 18:30 de auntiee