Révision : 16/09/01
 
  Installer un kernel 2.4...  
 
Introduction

Cette documentation a pour objet de vous donner quelques astuces pour mettre à jour votre kernel en version 2.4.x. La procédure décrite ci-dessous a été testée avec succès sur un PowerMac 7500 ( dite de génération OldWorld) et le système Linux suivant : Distrib LinuxPPC 2000 Q4 et XFree86 3.3.x.

Un remerciement tout particulier à Etienne Herlent et Martin Costabel pour leurs précieux conseils.


Etape 1 : conditions requises
 
 

Nom des utilitaires
Version conseillée Comment faire Version testée
Gnu C 2.91.66 # gcc --version egcs-2.91.66
Gnu make 3.77 # make --version GNU Make version 3.77
binutils 2.9.1.0.25 # ld -v GNU ld version 2.9.4
util-linux 2.10o  # fdformat --version non testé
modutils 2.4.0 # insmod -V insmode version 2.4.2
e2fsprogs 1.19 # tune2fs --version tune2fs 1.19
pcmcia-cs 3.1.21 # cardmgr -V non testé
PPP 2.4.0 # pppd --version pppd version 2.4.0

Basée sur une doc présente dans les sources du kernel 2.4.x 
/usr/src/linux/Documentation/Changes
 

Etape 2 : màj des packages

Lors de la mise à jour, il est conseillé d'utiliser le mode normal qui est le mode Multi-User avec réseau (démarrage du Macintosh en run level 3). Pour celà, vous tapez dans BootX, dans le champ "arguments du noyau" -> INIT 3

Vous téléchargez ensuite les différents packages :

Noyau vmlinux

Depuis le 26 août dernier, Kaoru Fukui propose deux versions de noyaux précompilés, à savoir :

1. une archive .rpm prenant en compte les sources et correctifs du noyau écrit par Benjamin Herrenschmidt (version du 26/08/01 - 2.4.9-BOb).

L'adresse de téléchargement est : ftp://ftp.linuxppc.org/users/kfukui/kernel-2.4.x.Ben/

2. une archive .rpm prenant en compte les sources du noyau BitKeeper et les mises-à-jour de Cort Dougan de FSM Labs (version du 7/09/01 - 2.4.10 pre4-dev0a).

L'adresse de téléchargement est : ftp://ftp.linuxppc.org/users/kfukui/kernel-2.4.x.BK-devel/

Les noyaux se déclinent également en deux catégories pour des PowerMac mono et bi-processeurs.

Nouveauté : une archive .rpm du noyau kernel-benh-2.4.6-1 est disponible à cette adresse : http://www.penguinppc.org/~olaf/
Cette archive est la reprise du noyau dont le portage est suivi par BenH. et comprend un grand nombre de composants sous forme de modules (taille de l'archive : 5.5M ;-))
Vous pouvez également télécharger le fichier bzImage pour créer une disquette d'amorçage.

modutils: modutils-2.4.2-1.ppc.rpm (379 kb)

ppp : ppp-2.4.0-1mc.ppc.rpm (188k kb)

e2fsprogse2fsprogs-1.19-0.2.ppc.rpm (366 kb)

Les packages modutils et ppp sont des éléments ayant subi les plus gros changements, d'où la nécessité absolue de vous procurer les versions les plus récentes pour utiliser le noyau 2.4.

L'installation des différentes archives rpm se fait de la manière suivante :

root # rpm -Uvh package-2.x.x.ppc.rpm      # Màj du package-2.x.x.ppc.rpm

ou bien

root # rpm -Uvh --force package-2.x.x.ppc.rpm  # Force la màj du package-2.x.x.ppc.rpm
 

Rappel : Concept "New Input Layer"

Il s'agit de la nouvelle gestion des périphériques (clavier et souris) et qui a pour rôle de fusionner les normes ADB et USB.
 

Etape 3 : gestion du clavier

Pour configurer correctement votre clavier en azerty et tenir compte du "New Input Layer", je vous conseille de télécharger l'archive kbd-mac-fr-3.3-1.noarch.rpm.

La page "Les claviers français en rpm (V3)" rédigée par Etienne Herlent donne toutes les explications nécessaires à ce sujet (configuration du clavier en mode console et X-Window).
 

Etape 4 : gestion de la souris

La page maintenue par Franz Sirl présente les changements apportés par le concept "New Input Layer". Les avantages sont nombreux : il est maintenant plus facile d'ajouter de nouveaux gestionnaires d'entrée au noyau et de gérer ces derniers puisque le même protocole est utilisé du côté utilisateur.

Les derniers noyaux intégrant donc ce nouveau concept d'entrée seront configurés pour ne plus d'utiliser le Device /dev/adbmouse. La configuration de votre souris suppose que :

- vous téléchargez et installez le package dev-2.7.18-3b.ppc.rpm

- vous créez un lien symbolique vers le bon Device

root # rm /dev/mouse     # supprime l'ancien lien symbolique pointant vers /dev/adbmouse
root # ln -s /dev/input/mice /dev/mouse

- vous modifiez le fichier de configuration /etc/sysconfig/mouse en précisant le protocole IMPS/2

MOUSETYPE="imps2"
XMOUSETYPE="IMPS/2"
FULLNAME="Apple Desktop Bus 1 Button Mouse (ADB)"
XEMU3=yes

Rappel : Souris et émulation des boutons

Si vous utilisez comme moi  une émulation du 2ème et 3ème bouton, il n'est plus nécessaire de saisir l'argument "adb_buttons" dans BootX.

En mode terminal, vous saissisez :

root # cat /proc/sys/dev/mac_hid/mouse_button_emulation
root # 1

cat /proc/... peut renvoyer soit la valeur 0 (émulation désactivée) soit 1 (émulation activée)

root # cat /proc/sys/dev/mac_hid/mouse_button2_keycode
root # 97
root # cat /proc/sys/dev/mac_hid/mouse_button3_keycode
root # 100

Ici, les deux lignes cat /proc/... renvoient les valeurs des codes de touches remplaçant le 2ème et 3ème bouton de souris. Dans cet exemple, le bouton du milieu est émulé avec la touche option de droite et le bouton de droite avec la touche control de droite (clavier ADB étendu). 
Vous avez la possibilité de modifier ces choix en utilisant les valeurs contenues dans le fichier /usr/src/linux/include/linux/input.h

Un petit extrait :

#define KEY_F1   59 
#define KEY_F2   60 
#define KEY_F3   61 
#define KEY_F4   62 
#define KEY_F5   63 
#define KEY_F6   64 
#define KEY_F7   65 
#define KEY_F8   66 
#define KEY_F9   67 
#define KEY_F10   68 
#define KEY_F11   87 
#define KEY_F12   88
#define KEY_RIGHTCTRL 97
#define KEY_RIGHTALT 100

En mode terminal, vous tapez :

root # echo "68" >/proc/sys/dev/mac_hid/mouse_button2_keycode
root # echo "87" >/proc/sys/dev/mac_hid/mouse_button3_keycode

Attention : les valeurs utilisées avec l'argument adb_buttons = étaient des codes de touche (clavier) ADB, mouse_button2_keycode et mouse_button3_keycode utilisent au contraire les codes portables (clavier) de Linux.

Etape 5 : XFree86

Arrivé à cette partie, je tiens à vous rappeler que l'ensemble de ces modifications doit se faire en mode normal (run level 3). Car étant préalablement en mode 5 (Multi-User, réseau, démarrage automatique de X par xdm), j'ai planté sévèrement mon système en laissant démarrer automatiquement X :-(

En mode console après avoir tapé startx, un message tel que celui-ci peut s'afficher :

 # XFree86....
 # ...
 # Fatal server error :
 # Cannot open mouse (aucun périphérique de ce type)

Il convient de modifier la section Pointer du fichier XF86Config qui est chargée de la configuration de la souris.

Section "Pointer"
     Protocol    "IMPS/2"
     Device      "/dev/input/mice"
 

Bonne configuration !


 
 
 
Pour ajouter à ce site vos propres expériences et
autres renseignements, écrivez à son Auteur Web