J'utilise Ubuntu 15.10 sur un nouvel ordinateur portable, mais pour obtenir un support complet et approprié de ce matériel, j'ai apparemment besoin du noyau 4.4 + d'un correctif personnalisé. Voir ici si les détails vous intéressent.
Je connais les PPA du noyau principal, mais ma compréhension est qu’ils ne viennent pas avec la source. Si tel est le cas, cela semblerait éliminer la possibilité d'utiliser un PPA de noyau principal car je ne peux pas le corriger. J'ai donc essayé de consulter le code source de git et de le construire, mais je ne trouve pas d'instructions pertinentes à jour.
Quelqu'un peut aider avec des instructions pour construire un noyau 4.4 sur 15.10?
Obtenez et compilez le noyau principal, méthode git:
voir aussi: https://wiki.ubuntu.com/KernelTeam/GitKernelBuild Je fais les choses un peu différemment (quoi d'autre est nouveau?).
Prérequis (Doit):
La première étape consiste à apt-get update
et apt-get dist-upgrade
(c’est-à-dire s’assurer que tout est à jour)
Étape 2
Sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
Étape 3
Sudo apt-get build-dep linux
Étape 4
Sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
Prérequis à partir du noyau 4.3:
Sudo apt-get install libssl-dev
Prérequis (facultatif):
Sudo apt-get install git-email git-doc
La partie git:
mkdir temp-k-git
cd temp-k-git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
Ne faites jamais de choses dans la branche maître par défaut. Toujours faire un espace de travail.
git checkout -b k44rc8_stock v4.4-rc8
Volez le fichier de configuration du noyau Ubuntu (déjà installé):
ls -l /boot
cp /boot/config-4.4.0-040400rc8-generic .config
Le fichier de configuration Ubuntu a un débogage complet. Fait un noyau énorme et prend deux fois plus de temps à compiler
scripts/config --disable DEBUG_INFO
Note spéciale à partir du noyau 4.4 et si vous compilez avec Ubuntu 14.04 (je ne connais pas 15.10), avec une version plus ancienne du compilateur c: Il ne peut pas compiler avec CONFIG_CC_STACKPROTECTOR_STRONG.
scripts/config --disable CC_STACKPROTECTOR_STRONG
Compilez le noyau:
time make -j9 bindeb-pkg <<< Suggest use number of CPUs + 1. Use less for some responsiveness to be left for other uses
<<< I always time the kernel build.
ou
time make -j9 bindeb-pkg LOCALVERSION=-stock <<< For a localized verion name append
ou
time make -j9 olddefconfig bindeb-pkg LOCALVERSION=-stock <<< To automatically use defaults for any new config stuff (particuarly useful when bisecting the kernel).
Une fois la construction terminée, installez-le:
Sudo dpkg -i ../linux-headers-4.4.0-rc8-stock_4.4.0-rc8-stock-144_AMD64.deb
Sudo dpkg -i ../linux-image-4.4.0-rc8-stock_4.4.0-rc8-stock-144_AMD64.deb
Donc, à ce stade, nous savons que le noyau principal compile O.K., passez donc sur le noyau personnalisé. Créez une nouvelle branche, appliquez les correctifs et compilez:
$ git checkout -b k44rc8_custom v4.4-rc8
Switched to a new branch 'k44rc8_custom'
$ git am plv6_1_3.patch
Applying: cpufreq: intel_pstate: configurable algorithm to get target pstate
$ git am plv6_2_3.patch
Applying: cpufreq: intel_pstate: account for non C0 time
$ git am plv6_3_3.patch
Applying: cpufreq: intel_pstate: Account for IO wait time
$ time make -j9 olddefconfig bindeb-pkg LOCALVERSION=-custom
Notez que c’est exprès que je ne fais pas un make clean
, car il est souhaitable de gagner beaucoup de temps en faisant une construction incrémentielle. La première compilation a pris 21 minutes et 26 secondes, mais la prochaine compilation personnalisée n'a duré que 4 minutes et 43 secondes.
Si vous allez à la page http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily vous trouverez un README indiquant comment obtenir les fichiers sources pour 4.4rc8
Instructions pour la construction sont un peu déroutant. J'ai vu plusieurs recettes pour la construction des noyaux, toutes un peu différentes. Il y a plusieurs prérequis: Il y en a peut-être d'autres qui sont requis pour le noyau 4.4
Sudo apt-get build-dep linux-image-$(uname -r)
Sudo apt-get install libncurses5-dev
Ensuite, les commandes que j'ai émises pour une construction réussie sont:
chmod a+x debian/scripts/*
chmod a+x debian/scripts/misc/*
nano debian.master/changelog
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
fakeroot debian/rules binary-headers binary-generic skipabis=true
Modifier le fichier changelog pour indiquer que je crée mon propre noyau, en ajoutant quelque chose à la fin du premier numéro de version affiché.