AviGNU - Mot-clé - FrugalwareGroupe d'utilisateurs de logiciels libres du Grand Avignon2024-01-02T17:40:01+01:00Administrateururn:md5:8ed776652564792dba453bac492a5a6cDotclearInstaller ALSA sous Frugalware PowerPCurn:md5:09e76533014b6601ee5b58faa39ab3572011-12-10T11:27:00+01:002011-12-10T20:02:06+01:00Olivier DuchateauLinuxALSAFrugalwareLinuxPPCSoundSystemd <p><img src="http://avignu.tuxfamily.org/news-custom/public/Frugalware.png" alt="Frugalware" style="display:block; margin:0 auto;" title="Logo de la distribution, Frugalware" /></p>
<p>Ce billet est la suite du <a href="http://avignu.tuxfamily.org/index.php?post/2011/11/30/Installation-%28manuelle%29-d-une-Frugalware-PowerPC">précédent</a>. Nous allons voir comment installer <a href="http://www.alsa-project.org/main/index.php/Main_Page"><acronym title="Advanced Linux Sound Architecture">ALSA</acronym></a>.</p>
<p>Il s'agit d'un iBook G4, (le modèle n'est pas récent).</p>
<pre>olivierd@brigand:~ $ cat /proc/device-tree/model && echo ""
PowerBook6,5
olivierd@brigand:~ $ </pre>
<h2>Installation du paquet</h2>
<pre>root@brigand:~ # pacman-g2 -S alsa-utils alsa-tools
[...]
root@brigand:~ # </pre>
<h2>Configuration</h2>
<p>Nous pouvons lancer la commande <code>alsaconf</code>, il va rechercher le <em>driver</em> correspondant à notre carte audio.</p>
<p>Dans mon cas il n'arrive pas à la détecter.</p>
<pre>root@brigand:~ # cat /proc/asound/cards
--- no soundcards ---
root@brigand:~ # </pre>
<p>Nous allons donc rechercher tous les modules installés sur la machine.</p>
<pre>root@brigand:~ # find / -type f -name '*.ko' -print
[...]
/lib/modules/3.1-fw2/kernel/sound/usb/snd-usb-audio.ko
/lib/modules/3.1-fw2/kernel/sound/usb/snd-usbmidi-lib.ko
/lib/modules/3.1-fw2/kernel/sound/ppc/snd-powermac.ko
/lib/modules/3.1-fw2/kernel/sound/drivers/snd-dummy.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/codecs/snd-aoa-codec-toonie.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/codecs/snd-aoa-codec-tas.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/codecs/snd-aoa-codec-onyx.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/fabrics/snd-aoa-fabric-layout.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/soundbus/i2sbus/snd-aoa-i2sbus.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/soundbus/snd-aoa-soundbus.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/core/snd-aoa.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-device.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-midi-event.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/oss/snd-seq-oss.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-dummy.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-midi.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-hwdep.ko
/lib/modules/3.1-fw2/kernel/sound/core/oss/snd-mixer-oss.ko
/lib/modules/3.1-fw2/kernel/sound/core/oss/snd-pcm-oss.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-rawmidi.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-pcm.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-page-alloc.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-timer.ko
/lib/modules/3.1-fw2/kernel/sound/soundcore.ko</pre>
<p>Il faut donc rechercher le bon module dans le dossier <code>/lib/modules/3.1-fw2/kernel/sound/</code>. Un seul va retenir mon intention, <strong>snd-powermac.ko</strong>. Je vais le charger.</p>
<pre>root@brigand:~ # modprobe snd_powermac
root@brigand:~ # cat /proc/asound/cards
0 [Snapper ]: PMac Snapper - PowerMac Snapper
PowerMac Snapper (Dev 44) Sub-frame 0
root@brigand:~ # </pre>
<p>C'est effectivement le bon <sup>[<a href="http://avignu.tuxfamily.org/index.php?post/2011/12/10/Installer-ALSA-sous-Frugalware-PowerPC#pnote-43-1" id="rev-pnote-43-1">1</a>]</sup>.</p>
<p>Maintenant, nous pouvons régler le volume avec <code>alsamixer</code>, et sauvegarder cette configuration avec la commande suivante :</p>
<pre>root@brigand:~ # alsactl store</pre>
<h2>ALSA et Systemd ?</h2>
<p>Depuis que Frugalware utilise <a href="http://www.freedesktop.org/wiki/Software/systemd">Systemd</a>, les modules additionnels qui doivent être chargés au démarrage, doivent être « listés » dans le dossier <code>/etc/modules-load.d/</code>.</p>
<p>J'ai donc créé le fichier <code>sound.conf</code> :</p>
<pre># Load snd-powermac.ko at boot
snd-powermac
</pre>
<div class="footnotes"><h4>Note</h4>
<p>[<a href="http://avignu.tuxfamily.org/index.php?post/2011/12/10/Installer-ALSA-sous-Frugalware-PowerPC#rev-pnote-43-1" id="pnote-43-1">1</a>] Je vous recommande de lire ces pages <a href="http://www.gentoo.org/doc/fr/gentoo-ppc-faq.xml#alsa">Gentoo PPC Faq</a>, et <a href="http://alsa.opensrc.org/Aoa">Apple Onboard Audio</a>.</p></div>
Installation (manuelle) d'une Frugalware PowerPCurn:md5:185a9beba53750f4707e612848acd79f2011-11-30T20:25:00+01:002011-12-11T22:11:57+01:00Olivier DuchateauLinuxFrugalwareHowtoLinuxPPCSystemd<p><img src="http://avignu.tuxfamily.org/news-custom/public/Frugalware.png" alt="Frugalware" style="display:block; margin:0 auto;" title="Logo de la distribution Frugalware" /></p>
<p>Dans ce billet, je vais relater les différentes étapes pour installer la <a href="http://frugalware.org/">Frugalware</a> (l'installateur est bugué, <em>segfault</em> aléatoirement) sur un ordinateur dont le processeur, est de type PowerPC. Il s'agit d'un <strong>iBook G4</strong>.</p>
<pre>olivierd@brigand:~ $ cat /proc/cpuinfo
processor : 0
cpu : 7447A, altivec supported
clock : 1333.333000MHz
revision : 1.2 (pvr 8003 0102)
bogomips : 73.72
timebase : 18432000
platform : PowerMac
model : PowerBook6,5
machine : PowerBook6,5
motherboard : PowerBook6,5 MacRISC3 Power Macintosh
detected as : 287 (iBook G4)
pmac flags : 0000001b
L2 cache : 512K unified
pmac-generation : NewWorld
Memory : 1280 MB
olivierd@brigand:~ $ </pre> <h2>Démarrer le « live CD »</h2>
<p>Pour <em>booter</em> à partir du CD, il faut activer l'<a href="http://fr.wikipedia.org/wiki/Open_Firmware">Open Firmware</a>. On y accède en appuyant silmutanément sur les touches <strong>Pomme</strong> + <strong>Alt</strong> + <strong>O</strong> + <strong>F</strong>.</p>
<p>Ensuite dans le prompt on tape la commande ci-dessous</p>
<pre>boot cd:,\\yaboot</pre>
<p><strong>Note :</strong> Le clavier est en <strong>QWERTY</strong>.</p>
<h2>Les options du « live CD »</h2>
<p>Lorsque le CD démarre, on arrive au prompt du gestionnaire de démarrage, <a href="http://en.wikipedia.org/wiki/Yaboot">Yaboot</a>.</p>
<p>Pour connaître les différentes options possibles, il suffit d'utiliser la touche <strong>Tab</strong>.</p>
<h2>L'installation</h2>
<p>Après le chargement du CD, on arrive à l'installateur en <em>ncurses</em>. Il faut immédiatement basculer dans une autre console (<code>tty</code>), combinaison des touches <strong>Ctrl</strong> + <strong>Alt</strong> + <strong>F2</strong>.</p>
<p>1. On change le <em>layout</em> du clavier :</p>
<pre>loadkeys azerty</pre>
<p>Il faut savoir que les claviers AZERTY des Macintosh sont très mal reconnus par Linux.</p>
<p>2. On vérifie que la date est correcte, le cas échéant, il faut la modifier</p>
<p>3. Partitionnement, avec l'utilitaire <code>mac-fdisk</code></p>
<p>Je ne fais que trois partitions (<code>/</code>, <code>swap</code>, et <code>/home</code>), je reviendrais plus tard, pourquoi on ne fait pas de partition <code>/usr</code> séparée.</p>
<p>On ré-initialise la table des partitions avec la touche <strong>i</strong>.</p>
<p>Puis la partition de <code>bootstrap</code> (c'est propre aux PowerPC) avec l'option <strong>b</strong>.</p>
<p>Les autres partitions se créent à l'aide de la touche <strong>c</strong>.</p>
<pre>
/dev/hda1— Apple_partition_map (table des partitions)
/dev/hda2 — Apple_bootstrap (crée avec l'option b)
/dev/hda3 — /
/dev/hda4 — swap
/dev/hda5 — /home</pre>
<p>4. Création du système de fichiers, dans mon cas <a href="http://fr.wikipedia.org/wiki/Ext4">ext4</a>.</p>
<pre>mkswap -L swap /dev/hda4
swapon /dev/hda4
mkfs.ext4 -L root /dev/hda3
mkfs.ext4 -L home /dev/hda5</pre>
<p>L'option <code>-L</code> détermine le <strong>label</strong> (le nom) de la partition.</p>
<p>L'outil <code>tune2fs</code> n'est pas disponible de base dans le live CD. Mais dans le <code>chroot</code>, on peut l'utiliser.</p>
<p>5. On « monte » notre futur système dans <code>/mnt</code></p>
<pre>mount -t ext4 -o rw /dev/hda3 /mnt
mkdir /mnt/proc
mount -t proc none /mnt/proc
mkdir /mnt/sys
mount -o bind /sys /mnt/sys
mkdir /mnt/dev
mount -o bind /dev /mnt/dev</pre>
<p>La partition <code>/home</code> à ce stade n'est pas indispensable.</p>
<p>6. Établissement de la connexion réseau (DHCP)</p>
<pre>dhcpcd eth0</pre>
<p>7. Installation des éléments de base</p>
<p><del>Nous allons partir directement sur une Frugalware <em>testing</em>. La version <em>current</em> est incomplète sur ce type d'architecture, et la version <em>stable</em> est « un peu obsolète ».</del> <ins>On opte pour la version <em>stable</em>, car les autres versions sont incomplètes <strong>pour ce processeur</strong>.</ins></p>
<p><del>On va modifier légèrement le fichier <code>/etc/pacman-g2.conf</code> :</del></p>
<p><ins>On ne touche pas au fichier <code>/etc/pacman-g2.conf</code>.</ins></p>
<p>Pour mettre à jour la base de données des paquets.</p>
<pre>pacman-g2 -Sy</pre>
<p>Nous allons pouvoir installer quelques paquets :</p>
<pre>pacman-g2 -Sy core base iputils wget -r /mnt</pre>
<p>Il s'agit du strict minimum.</p>
<p>On va pouvoir passer à la <em>post-installation</em>.</p>
<p>8. On se « connecte » sur le nouveau système</p>
<pre>chroot /mnt /bin/bash
cd /root</pre>
<p>8.1. On commence par créer les fichiers <code>.bashrc</code> et <code>.bash_profile</code>. On peut copier ces fichiers dans le dossier <code>/etc/skel</code> pour un futur utilisateur.</p>
<p>8.2. Configuration de l'éditeur, <code>elvis</code>, il s'agit d'un clone de <code>Vi</code>, bien connu des utilsateurs de <a href="http://www.slackware.com/">Slackware</a>.</p>
<pre>" .exrc
"
set ruler
set verbose showmode
set showmatch
set tabstop=4
set shiftwidth=4</pre>
<pre>" .elvisrc
"
:source ~/.exrc</pre>
<p>8.3. On définit le nom de l'ordinateur, il faut créer / modifier trois fichiers :</p>
<ul>
<li><code>/etc/hosts</code></li>
</ul>
<pre># For loopbacking.
127.0.0.1 localhost
127.0.0.1 brigand.errements.net brigand
[...]
</pre>
<ul>
<li><code>/etc/hostname</code></li>
</ul>
<pre>brigand</pre>
<ul>
<li><code>/etc/HOSTNAME</code></li>
</ul>
<pre>brigand.errements.net</pre>
<p>La commande <code>netconfig</code> aboutie au même résultat.</p>
<p>8.4. Définition des locales</p>
<p>Nous voulons avoir un système (en console, sans interface graphique) en français.</p>
<pre>locale -a | grep fr_FR
fr_FR
fr_FR@euro
fr_FR.iso88591
fr_FR.iso885915
fr_FR.iso885915@euro
fr_FR.utf8</pre>
<p>Pour cet ordinateur, j'ai choisi <strong>fr_FR.utf8</strong>.</p>
<ul>
<li><code>/etc/locale.conf</code></li>
</ul>
<pre>LANG=fr_FR.utf8</pre>
<ul>
<li><code>/etc/profile.d/lang.sh</code> (il n'existe pas)</li>
</ul>
<pre>#! /bin/sh
export LANG=fr_FR.utf8
export LC_ALL=$LANG
export CHARSET=utf-8</pre>
<p>Il ne faut pas oublier de le rendre exécutable :</p>
<pre>chmod a+x /etc/profile.d/lang.sh</pre>
<ul>
<li><code>/etc/profile.d/less.sh</code> (on le modifie)</li>
</ul>
<pre>#!/bin/sh
# /etc/profile.d/less.sh
# Makes less(1) display utf-8 chars correctly by default.
export LESSCHARSET="utf-8"</pre>
<p>8.5. Création du fichier <code>/etc/fstab</code></p>
<p>A titre indicatif voici le mien :</p>
<pre># /dev/hda4: LABEL="swap" UUID="0dd97fc3-0627-4552-98f0-a86f67363b46"
/dev/hda4 swap swap defaults 0 0
# /dev/hda3: LABEL="root" UUID="51ee4d1a-a692-4b8a-9333-72fa2be1bab3"
/dev/hda3 / ext4 defaults 1 1
# /dev/hda5: LABEL="home" UUID="5045e22b-5485-4b28-82ae-f0e949b5f76a"
/dev/hda5 /home ext4 defaults 1 1
tmpfs /tmp tmpfs defaults,noatime,nodev,noexec,size=512M 0 0
proc /proc proc defaults 0 0
usbfs /proc/bus/usb usbfs devgid=23,devmode=664 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0</pre>
<p>Pour obtenir les <acronym title="Universal Unique IDentifier">UUID</acronym>, on doit utiliser la commande <code>blkid</code>.</p>
<p>En parcourant le fichier, on constate que le dossier <code>/tmp</code> sera monter en RAM.</p>
<p>8.6. Installation du <em>boot loader</em></p>
<p>On lance la commande <code>yabootconfig</code>. Si vous comptez modifier le contenu du fichier <code>/etc/yaboot.conf</code>, il faudra relancer la commande <code>ybin -v</code>.</p>
<p>8.7. Conserver les paramètres de la disposition du clavier au prochain redémarrage.</p>
<ul>
<li><code>/etc/sysconfig/keymap</code></li>
</ul>
<pre>keymap = azerty</pre>
<ul>
<li><code>/etc/vconsole.conf</code></li>
</ul>
<pre>KEYMAP=azerty
FONT=lat9w-16</pre>
<p>8.8. Choix du fuseau horaire.</p>
<p>Deux cas s'offrent à nous :</p>
<ul>
<li><acronym title="Temps universel coordonné">UTC</acronym></li>
</ul>
<pre>ln -sf /usr/share/zoneinfo/UTC /etc/localtime</pre>
<ul>
<li>Définir une <em>timezone</em> (par exemple Paris)</li>
</ul>
<pre>ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime</pre>
<p>8.9. Le compte <strong>root</strong></p>
<p>A ce niveau <strong>root</strong> possède comme <em>shell</em> par défaut <code>/bin/sh</code> (il s'agit d'un lien symbolique vers <code>/bin/bash</code>). Nous allons le changer.</p>
<pre>chsh -s /bin/bash</pre>
<p>Son compte ne possède pas de mot de passe, nous allons lui en attribuer un, <code>passwd</code>. Pour paramétrer plus finement le mot de passe, vous pouvez modifier le fichier <code>/etc/login.defs</code> (généralement je change la valeur du paramètre <strong>ENCRYPT_METHOD</strong>).</p>
<p>9. Les services</p>
<p>A partir de la version 1.5, Frugalware utilise comme système d'<code>init</code>, <a href="http://freedesktop.org/wiki/Software/systemd">systemd</a>. Il fonctionne que si la bibliothèque <strong>libdbus</strong> est accessible, or si elle est présente sur une partition séparée (physiquement, généralement <code>/usr</code>) le système ne peut pas <a href="http://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken">démarrer</a> (<em>kernel panic</em>).</p>
<p>Comme notre système ne possède pas encore d'interface graphique, nous allons changer la « cible » (ou <em><a href="http://www.freedesktop.org/wiki/Software/systemd/TipsAndTrick#Changing_the_Default_Boot_Target">run level</a></em>).</p>
<pre>rm /etc/systemd/system/default.target
ln -sf /lib/systemd/system/mult-user.target /etc/systemd/system/default.target</pre>
<p>Nous pouvons redémarrer notre ordinateur, et continuer à ajouter d'autres paquets, tels que xorg, alsa, etc.</p>