web-dev-qa-db-fra.com

Comment télécharger d'anciens paquets non pris en charge tels que les en-têtes du noyau?

J'utilise le Jaunty maintenant non pris en charge. Cependant, j'utilise aussi un noyau plus ancien, non supporté, que je souhaite programmer.

j'essaie de faire de nouveaux appels système dans le noyau 2.6.21 et l'un des nouveaux appels système utilise la fonction 'sys_write', mais pour utiliser cette fonction, j'ai compris que je devais installer le fichier d'en-tête du noyau conformément à la version 2.6.21.

j'ai essayé "apt-get install linux-headers-'uname -r '", "apt-cache search linux-headers - $ (uname -r)"

mais je ne trouve rien ..

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/syscalls.h>
#include <linux/fcntl.h>
#include <asm/uaccess.h>

en outre, les fichiers d'en-tête ci-dessus sont ce que je veux.

comment puis-je obtenir le fichier d'en-tête du noyau pour quelque chose qui est maintenant non pris en charge et non dans un référentiel actuel?

7
KayKay

Le noyau 2.6.21 a été utilisé je pense sur Ubuntu Feisty (7.04).

D'après votre commentaire, vous utilisez Ubuntu Jaunty, ce qui est étrange puisque le noyau de Jaunty était 2.6.28.

Feisty et Jaunty ne sont plus pris en charge et vous ne pourrez installer aucun paquet tel que les en-têtes via la méthode "Sudo apt-get".

Il est fortement recommandé de remplacer votre installation par au moins la version 10.04.

Jaunty & Feisty ne sont plus dans les archives officielles d'ubuntu.

Cependant, toutes les informations sur les paquets d'origine pour toutes les versions d'Ubuntu peuvent être trouvées ici .

Retrouver les paquets .deb d'origine à installer nécessite un peu de travail de détective.

Je vais commencer par un exemple pour rechercher les en-têtes 2.6.28 Jaunty linux.

Les en-têtes Linux existent dans le référentiel principal. Alors commencez par télécharger les sources pour le référentiel principal

Vous devrez extraire le fichier Sources.

Regardez le fichier dans votre éditeur préféré.

Vous recherchez les binaires linux-headers - voir cette capture d'écran enter image description here

Vous verrez que j'ai souligné les en-têtes linux - vous verrez le nom du paquet et l'emplacement où vous devez trouver ce paquet

Ensuite, pointez votre navigateur vers le début du dossier où trouver le paquet

http://archive.ubuntu.com/ubuntu/

Accédez à ce nom de package - dans ce cas

piscine/principale/l/linux

Dans ce dossier, vous remarquerez tous les fichiers deb originaux pour chaque version. Donc, pour Jaunty, recherchez les fichiers commençant par linux-headers-2.6.28.

Tous les fichiers associés s’affichent à présent. Chargez les fichiers deb en fonction de votre architecture (64 bits avec AMD64.deb, 32 bits avec i386.deb), ainsi que les fichiers d’en-tête se terminant par "all.deb".

Pour les packages Feisty, procédez comme ci-dessus - mais cette fois-ci, commencez par le fichier Sources de la distribution Feisty.

6
fossfreedom

Modifiez votre sources.list pour qu'il pointe vers

http://old-releases.ubuntu.com/

au lieu du courant

http://<country-code>.ubuntu.com/
7
enzotib