frugalware:kernel_perso
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | frugalware:kernel_perso [2018/11/17 12:53] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Compiler son propre kernel ====== | ||
+ | |||
+ | Ce tuto est basé sur [[http:// | ||
+ | |||
+ | ===== Prérequis ===== | ||
+ | |||
+ | |||
+ | Premièrement, | ||
+ | |||
+ | Ensuite vous aurez besoin d'une configuration valide pour le kernel que vous voulez compiler qui n'a pas besoin d' | ||
+ | |||
+ | Prenons les outils nécessaires : | ||
+ | |||
+ | # pacman -S pacman-tools | ||
+ | |||
+ | # repoman update | ||
+ | |||
+ | Créer un répertoire de travail comme: | ||
+ | |||
+ | $ mkdir ~/kernel | ||
+ | $ cd ~/kernel | ||
+ | |||
+ | ===== Création du FrugalBuild ===== | ||
+ | |||
+ | |||
+ | Ecrivez votre FrugalBuild dans ce répertoire | ||
+ | |||
+ | exemple pour un kernel stable : | ||
+ | |||
+ | pkgver=2.6.20 | ||
+ | pkgrel=1 | ||
+ | _F_kernel_name=" | ||
+ | _F_kernel_patches=(http:// | ||
+ | Finclude kernel | ||
+ | |||
+ | Ceci va compiler le kernel 2.6.20+rt-patch sans les patchs stable XX. Si vous savez si vos patchs fonctionnent avec les patchs ' | ||
+ | |||
+ | _F_kernel_stable=X | ||
+ | |||
+ | Où X est le numéro de release STABLE. Par exemple : | ||
+ | |||
+ | _F_kernel_stable=6 | ||
+ | |||
+ | Ceci va compiler un kernel 2.6.20.6 + vos patchs | ||
+ | |||
+ | Lorsque vous compilé un kernel personnalisé, | ||
+ | |||
+ | _F_kernel_dontsedarch=1 | ||
+ | |||
+ | au FrugalBuild. | ||
+ | |||
+ | ===== Les patchs ===== | ||
+ | |||
+ | Vous pouvez ajouter plus d'une URL de patchs ou de patchs à to _F_kernel_patches. Comme par exemple: | ||
+ | |||
+ | _F_kernel_patches=(http:// | ||
+ | bar1.patch foo2.diff \ | ||
+ | ftp:// | ||
+ | |||
+ | **NOTE**: Les patchs sans URL doivent se trouver dans le répertoire de travail. (dans notre exemple ~/kernel ). | ||
+ | |||
+ | |||
+ | ===== Création de la config du kernel ===== | ||
+ | |||
+ | Maintenant vous en avez fini avec le FrugalBuild mais il vous reste à faire une config :-). | ||
+ | |||
+ | Si vous en avez déjà une, mettez cette config dans le répertoire ~/kernel, dans le cas contraire faites juste: | ||
+ | |||
+ | touch ~/ | ||
+ | |||
+ | Maintenant lancez : | ||
+ | |||
+ | makepkg -Hgdu | ||
+ | |||
+ | Ceci va télécharger le tarball du kernel + vos patches. | ||
+ | |||
+ | cd src | ||
+ | |||
+ | et décompressez le tout (kernel, patches..etc) | ||
+ | |||
+ | cd linux-* | ||
+ | |||
+ | et patchez avec vos_patches. | ||
+ | |||
+ | Si vous aviez déjà une config, faîtes: | ||
+ | |||
+ | cp ../config .config && make oldconfig | ||
+ | cp .config ~/ | ||
+ | |||
+ | Si vous n'en aviez pas, faîtes: | ||
+ | |||
+ | make defconfig && make menuconfig | ||
+ | |||
+ | et créez votre config, sauvegardez la et : | ||
+ | |||
+ | cp .config ~/ | ||
+ | |||
+ | OK maintenant nous avons ce qu'il faut et nous pouvons compiler le kernel. | ||
+ | |||
+ | ===== Compilation du kernel ===== | ||
+ | |||
+ | lancez | ||
+ | |||
+ | makepkg -Hcu | ||
+ | |||
+ | et attendez que le kernel soit compilé :-). | ||
+ | |||
+ | ===== Utiliser votre tout nouveau kernel personalisé ===== | ||
+ | |||
+ | |||
+ | Une fois terminé, vous aurez 3 fichiers *.fpm dans le répertoire ~/kernel. | ||
+ | |||
+ | En tant que root (ou avec sudo) faites: | ||
+ | |||
+ | pacman -U *.fpm | ||
+ | |||
+ | Une dernière chose avant de rebooter :-): vous devez ajouter une ligne pour votre kernel au fichier / | ||
+ | |||
+ | Comme : | ||
+ | |||
+ | title My New Cool RT Kernel - 2.6.20-multimedia-fw1 | ||
+ | kernel (hd0, | ||
+ | |||
+ | Sauvegardez le fichier et vous pourrez rebooter. | ||
+ | |||
+ | En cas de problèmes vous pourrez toujours rebootez sur l' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Notes concernant les kernels rc ou git ===== | ||
+ | |||
+ | Pour ce qui est des kernel rc ou git, vous pouvez les compiler également. | ||
+ | |||
+ | *Si vous voulez compiler le dernier patchset rt ( qui est pour le 2.6.21-rc6 au moment de l' | ||
+ | |||
+ | _F_kernel_rc=X | ||
+ | |||
+ | Où X est le numéro RC. Exemple : | ||
+ | |||
+ | _F_kernel_rc=6 | ||
+ | |||
+ | Ceci va compiler le kernel 2.6.21-rc6 + vos patches. | ||
+ | |||
+ | **NOTE**: Le kernel est toujours appelé 2.6.20. | ||
+ | |||
+ | La cause est que nous utilisons vanilla .20 + le patch rcX ( ce qui vous évitera de télécharger environ 40 Mo à chaque fois que vous compilez ou recompilez ce kernel ) | ||
+ | |||
+ | *Si vous voulez le dernier kernel ' | ||
+ | |||
+ | _F_kernel_git=X | ||
+ | |||
+ | Où X est le numéro git snapshot. Exemple: | ||
+ | |||
+ | _F_kernel_git=1 | ||
+ | |||
+ | **NOTE**: Si vous compilez des kernels ' | ||
+ | |||
+ | Dans cet exemple vous compilerez le kernel 2.6.21-rc6-git1 | ||
+ | |||
+ | En espérant que cela vous aidera à compiler votre kernel perso.I | ||
+ | |||
+ | Retrouvez plus d' |
frugalware/kernel_perso.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1