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)
e2fsprogs
: e2fsprogs-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
!
|