Construire son propre noyau PA-RISC/Linux

Pour compiler un noyau Linux, vous devez avoir un compilateur C et le source de Linux. Le premier élément n'est pas trivial à trouver car tout dépend de comment vous comptez compiler le source. Le second est plus simple car pour l'instant la version la plus récente se trouve sur le site CVS officiel. Tout d'abord, nous parlerons du compilateur GCC. Ensuite, la configuration de votre futur noyau sera abordé. Le dernier paragraphe couvrira l'installation du noyau résultant de la compilation.

Le compilateur GCC

Vous pouvez compiler votre kernel avec votre machine HP. Mais, sur celles qui commencent à dater, vous préférerez sûrement utiliser une machine plus puissante pour la compilation. Regardons ces deux choix:

Compilation native

Vu que Debian est la seule distribution qui gère l'architecture PA-RISC, si vous voulez utiliser les pouvoirs de la « Super Cow », vous devez avoir quelques savoirs de base sur la gestion des paquets.

apt-get et ses amis

apt-get est un utilitaire en ligne de commande simple qui gère votre système de paquets Debian. Tout d'abord, Gustavo Noronha Silva a écrit le APT HOWTO que je vous conseille si le sujet vous intéresse. Ici, nous voulons juste compiler un noyau. Vu que le portage hppa n'est pas encore public, vous devez être relativement prudent avec les mirroirs que vous choississez dans votre /etc/apt/sources.list. Par exemple, en Allemagne, vous pouvez utilisez ces paramètres:

# non-US packages
deb http://www.ftp.uni-erlangen.de/pub/debian/ unstable/non-US main non-free contrib
# Binary packages
deb http://gluck.debian.org/debian unstable main contrib non-free
# source packages
deb-src http://gluck.debian.org/debian unstable main contrib non-free

mettre à jour votre gcc

Si vous utilisez votre propre machine HP, vous avez besoin seulement du fameux compilateur GCC. Le conseil est de conserver une différence nulle entre les versions des développeurs et la vôtre.

apt-get update
apt-get upgrade
Si ce n'est pas une simple mise-à-jour, les dépendances du paquet kernel-source sont les suivantes:

  • binutils

  • fileutils

  • gcc

  • libc-dev

  • make

Une fois à jour, il faut configurer votre noyau.

Compilation croissée

Pour compiler ainsi votre kernel, tout dépend de l'architecture de la machine qui est utilisée pour la compilation. Pour les PCs, vous pouvez téléchargez un cross compilateur prêt à l'emploi sur le serveur FTP de PA/Linux. Pour les autres architectures ou si vous voulez compiler votre propre chaîne de compilation, lisez le HOWTO de Carlos O'Donell.

Configuration du kernel

L'une des meilleures manières de gagner de la performance est d'avoir un boyau bien configuré. Pour la plateforme PA-RISC, make oldconfig est une sorte de configuration par défaut. Si vous voulez faire votre propre noyau, la première étape est de connaître votre matériel. Pour ce faire, allez voir la description de votre machine sur la base de données officielle du matériel ou le HP partsurfer.

Quand vous savez ce qu'il y a dans votre boîte et aussi l'utilisation de votre futur PA/Linux, lancez simplement make menuconfig ou une autre commande de configuration du noyau. Voilà une liste de menus que vous allez parcourir pour vérifier si votre configuration correspond à votre matériel:

Comme vous le voyez, les menus propres au matériel HP ne sont pas nombreux mais il existe de nombreuses dépendances entre eux. Maintenant, il faut configurer le noyau par rapport à la future utilisation de la machine. Voici une liste de menus que vous pourrez visiter pour configurer les services que vous désirez:

Une fois terminé, sauvegardez votre configuration. Le tout est écrit dans le fichier .config. Vous pouvez en copier une version car make distclean le détruit. À cette étape, vous n'avez plus qu'à laisser faire make dep vmlinux et si tout va bien, voilà votre nouveau kernel.

Installation du noyau

Si vous avez réalisé la compilation en natif, vous sauvegardez le dernier noyau opérationnel avec une extension du style « .bk » et remplacez ce noyau par celui récemment compilé avec le même nom. Redémarrez et essayez-le. Si cela ne marche pas, vous pourrez toujours démarrer sur la sauvegarde en utilisant PALO pour renommer le nom du noyau que vous désirez utiliser (cf le prochain chapître pour plus d'informations).

Si vous amorcez votre machine via le réseau, vous devez configurer PALO comme l'explique la prochaine section et lancer make palo.