[Compilation] noyau à la Gentoo ?

Reconnaissance et configuration du matériel / kernel linux
Répondre
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

[Compilation] noyau à la Gentoo ?

Message par d2_racing »

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..
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

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
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
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

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 :)
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

Est-ce qu'il y a moyen de faire ceci :

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                                                   
Je veux compiler et installer mon noyau avec le fichier bzImage qui doit surement se retrouver dans arch/i386/boot/bzImage
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

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 ???
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

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 :D
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

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 :

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
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

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
É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.
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

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 :D
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.....

Merci à l'avance :)
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

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
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

si vraiment tu veux passer par une méthode manuelle tu peux reprendre exactement la méthode de gentoo.
Remplaces juste les lignes

Code : Tout sélectionner

# emerge gentoo-sources (exemple kernel-2.6.21-Gentoo-r1) 
# cd /usr/src 
par

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
et pour le lien symbolique biensûr, la ligne devient:

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 :D
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

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 ?
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

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 ?
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.
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.
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

Merci pour les infos, c'est super clair :)
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

Et la création d'un package, ça va être vraiment ça le best :)
Avatar de l’utilisateur
d2_racing
yeomen
Messages : 243
Inscription : sam. 12 mai 2007, 19:13
Localisation : Québec,Canada

Message par d2_racing »

Est-ce que les sources du kernel fournit par Arch est disponible ?

Genre celui qui vient avec quand on fait pacman -Syu ?
Un Gentooiste,un Debianeu et un Archer :)
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

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
Répondre