[Compilation] noyau à la Gentoo ?
[Compilation] noyau à la Gentoo ?
Salut tout le monde, j'aimerais savoir s'il est possible de partir à partir d'un .config et ensuite de monter un noyau avec make && make modules_install.
Car j'aimerais bien installer un noyau minimaliste sans me servir du wiki qui a déjà un script d'écrit pour moi..
Car j'aimerais bien installer un noyau minimaliste sans me servir du wiki qui a déjà un script d'écrit pour moi..
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
Heu oui, c'est pas "à la gentoo" c'est juste une compilation de noyau ... c'est 4 sujets plus bas : http://forums.archlinux.fr/topic317.html
+ sur le wiki : http://wiki.archlinux.fr/howto:kernel:custom
voilou n'oublie pas qu'il te faudra recompiler les drivers vidéos (sur le repo [archlinuxfr] y'a nvidia-driver de wain qui se charge de recompiler le module pour ces noyaux customs)
Bonne chance
+ sur le wiki : http://wiki.archlinux.fr/howto:kernel:custom
voilou n'oublie pas qu'il te faudra recompiler les drivers vidéos (sur le repo [archlinuxfr] y'a nvidia-driver de wain qui se charge de recompiler le module pour ces noyaux customs)
Bonne chance
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
- wain
- Maître du Kyudo
- Messages : 1854
- Inscription : ven. 11 août 2006, 19:15
- Localisation : Nancy (54)
le PKGBUILD surnommé "kernel custom" revient réellement au même que faire à la main un make xconfig && make modules_install etc...
En lançant le makepkg tu as le choix d'utiliser un des .config proposés, ou de modifier le tiens soit avec menuconfig, soit avec xconfig (qt), soit avec gconfig (gtk), soit avec ton éditeur de texte préféré.
C'est avec ce script que je compile mes noyaux minimalistes. Les avantages sont nombreux:
- les modules sont automatiquement copiés au bon endroit
- l'image vmlinuz est nomée toujours de la même manière, ce qui évite de manipuler le bootloader à chaque recompilation
- le dernier numéro de version du kernel est supprimé: c'est 2.6.20-morph-perso et nom 2.6.20.5 par exemple. Cela évite de devoir recompiler tous les drivers satellites à chaque mise à jour mineure.
- il suffit de déinstaller le paquetage pour supprimer toutes traces du kernel
voilou
En lançant le makepkg tu as le choix d'utiliser un des .config proposés, ou de modifier le tiens soit avec menuconfig, soit avec xconfig (qt), soit avec gconfig (gtk), soit avec ton éditeur de texte préféré.
C'est avec ce script que je compile mes noyaux minimalistes. Les avantages sont nombreux:
- les modules sont automatiquement copiés au bon endroit
- l'image vmlinuz est nomée toujours de la même manière, ce qui évite de manipuler le bootloader à chaque recompilation
- le dernier numéro de version du kernel est supprimé: c'est 2.6.20-morph-perso et nom 2.6.20.5 par exemple. Cela évite de devoir recompiler tous les drivers satellites à chaque mise à jour mineure.
- il suffit de déinstaller le paquetage pour supprimer toutes traces du kernel
voilou

s/pacman/yaourt/g c'est ARCHi clair ! => http://archlinux.fr/
Est-ce qu'il y a moyen de faire ceci :
Je veux compiler et installer mon noyau avec le fichier bzImage qui doit surement se retrouver dans arch/i386/boot/bzImage
Code : Tout sélectionner
[root@ArchLinux src]# ls -la
total 12
drwxr-xr-x 3 root root 4096 mai 26 16:18 .
drwxr-xr-x 11 root root 4096 mai 26 17:07 ..
drwxr-xr-x 18 root root 4096 mai 6 12:39 linux-2.6.21-ARCH
[root@ArchLinux src]# ln -sfn /usr/src/linux-2.6.21-ARCH /usr/src/linux
[root@ArchLinux src]# cd linux
[root@ArchLinux linux]# make menuconfig
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/mconf.o
HOSTLD scripts/kconfig/mconf
scripts/kconfig/mconf arch/i386/Kconfig
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
[root@ArchLinux linux]# make menuconfig
scripts/kconfig/mconf arch/i386/Kconfig
#
# configuration written to .config
#
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
[root@ArchLinux linux]# make && make modules_install
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
scripts/Makefile.build:17: /usr/src/linux-2.6.21-ARCH/init/Makefile: Aucun fichier ou répertoire de ce type
make[1]: *** Pas de règle pour fabriquer la cible « /usr/src/linux-2.6.21-ARCH/init/Makefile ». Arrêt.
[root@ArchLinux linux]# 2
J'ai lu ici qu'on peut prendre ABS...
http://bbs.archlinux.org/viewtopic.php?id=33207
Alors, quelqu'un sait comment s.v.p ???
http://bbs.archlinux.org/viewtopic.php?id=33207
Alors, quelqu'un sait comment s.v.p ???
- wain
- Maître du Kyudo
- Messages : 1854
- Inscription : ven. 11 août 2006, 19:15
- Localisation : Nancy (54)
d2_racing a écrit :J'ai lu ici qu'on peut prendre ABS...
http://bbs.archlinux.org/viewtopic.php?id=33207
Alors, quelqu'un sait comment s.v.p ???
La méthode ABS consiste à récupérer le PKGBUILD du paquetage kernel26, et de lancer makepkg. Sauf qu'au lieu de prendre le .config par défaut, tu utilises le .config que tu veux.
Le pkgbuild se trouve sur http://archlinux.org/packages/4197/ ou alors en tapant la commande "abs".
Pardon d'insister, mais je ne comprends pas en quoi le pkgbuild kernelcustom te dérange ? j'aimerai bien que tu nous expliques ce qui ne te conviens pas, pour qu'on puisse l'améliorer

s/pacman/yaourt/g c'est ARCHi clair ! => http://archlinux.fr/
bon, suite à la lecture de ce howto : http://wiki.archlinux.org/index.php/Ker ... rom_Source
on voit qu'on se rapproche d'une compilation à la main :
Ça doit faire bientôt 2 ans que je compile mes kernels à la main, que ce soit dans Debian ou Gentoo.
Par exemple, si je veux installer un kernel sous Gentoo :
Edition de Grub pour ajouter une entrée ou carrément en remplacer une vieille 
Donc, dans le howto que j'ai trouvé, on doit downloader les sources à partir de kernel.org.
Par contre, sous Arch
Éditer Grub et on est parti pour la gloire...
Alors, pouvez-vous me dire qu'est-ce qu'il manque dans le répertoire /usr/src, car je viens tout juste d'installer Arch Duke et j'ai vraiment un répertoire kernel- quelque chose qui indique que j'ai les sources du kernel 2.6.21 version Arch.
on voit qu'on se rapproche d'une compilation à la main :
Ça doit faire bientôt 2 ans que je compile mes kernels à la main, que ce soit dans Debian ou Gentoo.
Par exemple, si je veux installer un kernel sous Gentoo :
Code : Tout sélectionner
# emerge gentoo-sources (exemple kernel-2.6.21-Gentoo-r1)
# cd /usr/src
# ln -sfn /usr/src/kernel-2.6.21-Gentoo-r1 /usr/src/linux
# cp /usr/src/kernel-2.6.20-Gentoo-r8/.config /usr/src/linux/.config
# cd /usr/src/linux
# make oldconfig
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/kernel-2.6.21-Gentoo-r1
# cp .config /boot/config-kernel-2.6.21-Gentoo-r1.config
# cp System.map /boot

Donc, dans le howto que j'ai trouvé, on doit downloader les sources à partir de kernel.org.
Par contre, sous Arch
Code : Tout sélectionner
# wget -c ftp://ftp.us.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2
# cp linux-2.6.21.tar.bz2 /usr/src/
# cd /usr/src
# tar jxfv linux-2.6.21.tar.bz2
# cd /usr/src/linux-2.6.21
# zcat /proc/config.gz > .config
# rm /usr/src/linux
# ln -s /usr/src/linux-2.6.21 /usr/src/linux
# cd /usr/src/linux
# make oldconfig (only if you've copied the old .config file)
# make menuconfig
# make clean bzImage modules modules_install
# cp -v arch/i386/boot/bzImage /boot/vmlinuz-2.6.21-revision1
# cp -v arch/i386/Kconfig /boot/Kconfig-2.6.21-revision1
# cp -v System.map /boot/System.map-2.6.21-revision1
Alors, pouvez-vous me dire qu'est-ce qu'il manque dans le répertoire /usr/src, car je viens tout juste d'installer Arch Duke et j'ai vraiment un répertoire kernel- quelque chose qui indique que j'ai les sources du kernel 2.6.21 version Arch.
Bon, vu que je connais pas trop ABS, peux-tu me montrer comment compiler ou recompiler le noyau 2.6.21 à partir de ABS, car je dois activer le DRI et le module AGP est en module dans le kernel, donc l'option pour le i865 n'est pas disponible.....wain a écrit :d2_racing a écrit :J'ai lu ici qu'on peut prendre ABS...
http://bbs.archlinux.org/viewtopic.php?id=33207
Alors, quelqu'un sait comment s.v.p ???
La méthode ABS consiste à récupérer le PKGBUILD du paquetage kernel26, et de lancer makepkg. Sauf qu'au lieu de prendre le .config par défaut, tu utilises le .config que tu veux.
Le pkgbuild se trouve sur http://archlinux.org/packages/4197/ ou alors en tapant la commande "abs".
Pardon d'insister, mais je ne comprends pas en quoi le pkgbuild kernelcustom te dérange ? j'aimerai bien que tu nous expliques ce qui ne te conviens pas, pour qu'on puisse l'améliorer
Merci à l'avance

Ah oui sous Debian, j'ai fait un howto pour une installation de etch et là aussi j'ai mis la compilation d'un noyau.
Tu vas voir qu'à quelques exceptions, c'est toujours les mêmes commandes qui reviennent.
http://forum.debian-fr.org/viewtopic.php?t=7487
Tu vas voir qu'à quelques exceptions, c'est toujours les mêmes commandes qui reviennent.
http://forum.debian-fr.org/viewtopic.php?t=7487
- wain
- Maître du Kyudo
- Messages : 1854
- Inscription : ven. 11 août 2006, 19:15
- Localisation : Nancy (54)
si vraiment tu veux passer par une méthode manuelle tu peux reprendre exactement la méthode de gentoo.
Remplaces juste les lignes
par
et pour le lien symbolique biensûr, la ligne devient:
Ca reste du linux, la seule différence entre les distros est le moyen de récupérer les sources. Effectivement arch ne prévoit pas cette possibilité.
Je te conseille quand même encore une fois ce PKGBUILD
Remplaces juste les lignes
Code : Tout sélectionner
# emerge gentoo-sources (exemple kernel-2.6.21-Gentoo-r1)
# cd /usr/src
Code : Tout sélectionner
# cd /usr/src/
# wget -c ftp://ftp.us.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2
# tar jxfv linux-2.6.21.tar.bz2
Code : Tout sélectionner
# ln -sfn kernel-2.6.21 linux
Ca reste du linux, la seule différence entre les distros est le moyen de récupérer les sources. Effectivement arch ne prévoit pas cette possibilité.
Je te conseille quand même encore une fois ce PKGBUILD

s/pacman/yaourt/g c'est ARCHi clair ! => http://archlinux.fr/
- wain
- Maître du Kyudo
- Messages : 1854
- Inscription : ven. 11 août 2006, 19:15
- Localisation : Nancy (54)
Oui c'est ça. Avant le PKGBUILD allait tout seul chercher la dernière version sur le site respectif de chaque patchset. Mais les changements de structure sur ces sites étaient tellement nombreux que je devais de toutes façons recréer à chaque fois un PKGBUILD.d2_racing a écrit :bon, je vais regarder ton script
En fin de compte, si j'ai bien compris, à minute qu'il va y avoir une nouvelle version de noyau, il faut aller sur ton sujet et redownloader les fichiers pour avoir un script à jour...
Est-ce que c'est ça ?
Pour l'instant je préfère uploader ainsi un nouveau PKGBUILD.
Je prévois d'en faire un paquetage type kernelcustom-sources. Ainsi pacman/yaourt pourra se charger de la mise à jour automatique du script PKGBUILD.
s/pacman/yaourt/g c'est ARCHi clair ! => http://archlinux.fr/
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
oui dans abs ( /var/abs/kernels/kernel26 )
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt