Un kernel patché Gentoo sans Gentoo

Un kernel patché Gentoo sans Gentoo - Installation - Linux et OS Alternatifs

Marsh Posté le 06-05-2003 à 07:24:39    

Salut à tous !
 
J'ai une Debian Sid et j'aîmerais appliquer les patches du kernel du package Gentoo. J'ai donc téléchargé l'archive ici :
http://distro.ibiblio.org/pub/linu [...] r3.tar.bz2
 
J'ai ensuite décompressé mon noyau 2.4.20 et j'ai appliqué les patches avec addpatches. Après plusieurs tests, je me rends compte qu'il faut isoler les *.rmap pour n'appliquer que les *.aavm sans quoi les patches foirent. Mais maintenant j'ai un autre problème avec le device mapper et evms : je suis obligé d'isoler tout les fichiers 2* sans quoi les patchs ne s'appliquent pas correctement !
 
Ma question est donc : comment récupérer un kernel avec tout les patches de la Gentoo sans que ca foire ;)

Reply

Marsh Posté le 06-05-2003 à 07:24:39   

Reply

Marsh Posté le 06-05-2003 à 11:35:15    

- Fred - a écrit :

Salut à tous !
 
J'ai une Debian Sid et j'aîmerais appliquer les patches du kernel du package Gentoo. J'ai donc téléchargé l'archive ici :
http://distro.ibiblio.org/pub/linu [...] r3.tar.bz2
 
J'ai ensuite décompressé mon noyau 2.4.20 et j'ai appliqué les patches avec addpatches. Après plusieurs tests, je me rends compte qu'il faut isoler les *.rmap pour n'appliquer que les *.aavm sans quoi les patches foirent. Mais maintenant j'ai un autre problème avec le device mapper et evms : je suis obligé d'isoler tout les fichiers 2* sans quoi les patchs ne s'appliquent pas correctement !
 
Ma question est donc : comment récupérer un kernel avec tout les patches de la Gentoo sans que ca foire ;)


 
Le kernel gentoo est parait-il (vu sur les forums gentoo) loin d'être bon, surtout le 2.4.20, avec des exemples de plusieurs personnes retournant au 2.4.19 ou aux sources de kernel.org.
Perso j'utilise celui ci qui a parait-il de meilleures perfs.
*  sys-kernel/ck-sources
      Latest version available: 2.4.20-r6
      Latest version installed: 2.4.20-r6
      Size of downloaded files: 28,031 kB
      Homepage:    http://members.optusnet.com.au/ckolivas/kernel/
      Description: Full sources for the Stock Linux kernel Con Kolivas's high performance patchset
 
 
 

Reply

Marsh Posté le 06-05-2003 à 14:09:08    

moi j'utilise les gamingsources 2.4.20-r3 de gentoo, et j'ai perçu une nette différence (à l'oeil quand meme) entre celle ci et la gentoo de base r3, c bcp plus rapide pour les applis multimedia du style desctroumpfage télé etc...

Reply

Marsh Posté le 06-05-2003 à 14:17:01    

La question m'interesse aussi, à savoir : comment récuperer des kernels patchés tout prêt de la qualité de ceux de Gentoo et les compiler sur une autre distrib ?

Reply

Marsh Posté le 06-05-2003 à 16:10:28    

Ce serait pas seulement pour les perfs, mais aussi pour la sécurité. Dès qu'on a mis deux ou trois patches, GRSec par exemple ne passe plus, donc avec un groupe de patches comme ceux de la Gentoo c'est bien plus pratique ;)
 
Aucune idée donc pour mener à bien le patch du kernel avec le pack Gentoo ?


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 06-05-2003 à 16:19:09    

Bah c'est pas bien compliqué, il suffit que qqn qui a une gentoo installe les sources gentoo et les sources vanilla. Après on fait un diff sur les deux et on a un Mega-patch-gentoo ! :sol:
 
après il s'applique en un coup avec la commande patch.
 
Si vous voulez je vous fais ça dans la soirée  ;)


Message édité par Sixtiz le 06-05-2003 à 16:19:38
Reply

Marsh Posté le 06-05-2003 à 16:21:19    

Sixtiz a écrit :

Bah c'est pas bien compliqué, il suffit que qqn qui a une gentoo installe les sources gentoo et les sources vanilla. Après on fait un diff sur les deux et on a un Mega-patch-gentoo ! :sol:
 
après il s'applique en un coup avec la commande patch.
 
Si vous voulez je vous fais ça dans la soirée  ;)


Yes! :love:
On compte sur toi  ;)


Message édité par cedricbrun le 06-05-2003 à 16:21:56
Reply

Marsh Posté le 06-05-2003 à 16:28:03    

+1 ! si c dispo ce soir je teste direct  :wahoo:


---------------
Self Destruction Might Be The Answer - http://www.kazekami.org
Reply

Marsh Posté le 06-05-2003 à 16:38:06    

Attends, normalement certains patches ne sont dispos que si tu mets une valeur USE spéciale, d'après ce que j'ai lu dans la doc des patches Gentoo ...
 
Le mieux serait que l'on puisse appliquer à partir du pack et du kernel ces *** de patches au noyau ...
 
Mais ce serait sympa de faire un diff qd même, avec tout dedans :D


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 06-05-2003 à 17:23:42    

Voilà c'est fait : vous pouvez récupérer le patch là : http://www.rez-metz.ese-metz.fr/sixtiz/megapatch.bz2  ;)
 
pour appliquer le patch :
 
bunzip2 megapatch.bz2
cd /usr/src/linux
patch -p1 < chemin_vers/megapatch
 
et hop !


Message édité par Sixtiz le 07-05-2003 à 00:15:05
Reply

Marsh Posté le 06-05-2003 à 17:23:42   

Reply

Marsh Posté le 06-05-2003 à 17:27:59    

Petite précision : le kernel utilisé est gentoo-sources-2.4.20-r2, avec le flag crypto activé.

Reply

Marsh Posté le 06-05-2003 à 18:02:20    

Euh ... pas moyen d'avoir le r3 :D ?
Et est-ce que tu as pu comprendre comment le script sélectionnait les patches à appliquer ? Tu aurais le script emerge pour la r3 stp ?


Message édité par - Fred - le 06-05-2003 à 18:03:06
Reply

Marsh Posté le 06-05-2003 à 18:22:59    

le -r3 est pas en stable... c'est pour ça que j'ai le -r2, c'est celui que j'utilise.
 
Sinon voilà l'ebuild de la -r3 :
 

Citation :


# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r3.ebuild,v 1.1 2003/04/15 21:00:10 pfeifer Exp $
 
IUSE="build crypt evms2 aavm"
 
# OKV=original kernel version, KV=patched kernel version.  They can be the same.
 
# Kernel ebuilds using the kernel.eclass can remove any patch that you
# do not want to apply by simply setting the KERNEL_EXCLUDE shell
# variable to the string you want to exclude (for instance
# KERNEL_EXCLUDE="evms" would not patch any patches whose names match
# *evms*).  Kernels are only tested in the default configuration, but
# this may be useful if you know that a particular patch is causing a
# conflict with a patch you personally want to apply, or some other
# similar situation.
 
ETYPE="sources"
 
inherit kernel || die
OKV="2.4.20"
# Documentation on the patches contained in this kernel will be installed
# to /usr/share/doc/gentoo-sources-${PV}/patches.txt.gz
 
DESCRIPTION="Full sources for the Gentoo Linux kernel"
 
SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2
 mirror://gentoo/patches-${KV}.tar.bz2"
HOMEPAGE="http://www.gentoo.org/ http://www.kernel.org/"
LICENSE="GPL-2"
KEYWORDS="~x86 -ppc -sparc -alpha -hppa -mips -arm"
SLOT="${KV}"
 
 
src_unpack() {
 unpack ${A}
 mv linux-${OKV} linux-${KV} || die "Error moving kernel source tree to linux-${KV}"
 
 cd ${WORKDIR}/${KV}/jfs || die "${WORKDIR}/${KV}/jfs does not exist"
 tar xzf jfs-2.4-1.1.1.tar.gz || die "Failed to unpack jfs files."
 cp -a Documentation ${S} || die "Failed to copy jfs docs to kernel tree."
 cp -a fs ${S} || die "Failed to copy jfs source to kernel tree."
 
 cd ${WORKDIR}/${KV}
 
 # This is the *ratified* aavm USE flag, enables aavm support in this kernel
 if [ -z "`use aavm`" ]; then
  einfo "Setting up kernel for rmap support(default)."
  for file in *.aavm ;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 else
  einfo "Setting up kernel for aavm support."
  for file in *.rmap ;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 fi
 
 # If the compiler isn't gcc>3.1 drop the gcc>3.1 patches
 if [[ "${COMPILER}" == "gcc3" ]];then
  einfo "You are using gcc>3.1"
  einfo "Enabling gcc>3.1 processor optimizations."
  einfo "To use, choose the processor family labelled with (gcc>31) in"
  einfo "Processor type and features -> Processor Family"
 else
  einfo "Your compiler is not gcc3, dropping patches..."
  for file in *gcc3*;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 fi
 
 # This is the *ratified* evms2 USE flag, enables evms2 support
 if [ -z "`use evms2`" ]; then
  einfo "Setting up kernel for EVMS 1.2.1 support(default)."
  echo
  for file in 2* ;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 else
  einfo "Setting up kernel for EVMS 2.0 support."
  ewarn "This is very beta. Please read the 'evms2' doc provided with this kernel."
  ewarn "It is the install doc from the evms 2.0 tarball."
  echo
  for file in 1* ;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 fi
 
 # This is the crypt USE flag, enables IPSEC & USAGI
 if [ -z "`use crypt`" ]; then
  einfo "No Cryptographic support, dropping patches..."
  for file in 6* 8* ;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 else
  einfo "Cryptographic support enabled..."
 fi
 
 kernel_src_unpack
}
 
pkg_postinst() {
 
 kernel_pkg_postinst
 
 ewarn "There is no xfs support in this kernel."
 ewarn "If you need xfs support, emerge xfs-sources."
 echo
 ewarn "If iptables/netfilter behaves abnormally, such as 'Invalid Argument',"
 ewarn "you will need to re-emerge iptables to restore proper functionality."
 echo
 einfo "Please be warned, you have just installed an unstable"
 einfo "patchset of the Gentoo Linux kernel sources."
 einfo "This set contains the ptrace patch as part of grsecurity."
 echo
 einfo "If there are issues with it, please report them"
 einfo "by assigning bugs on bugs.gentoo.org to"
 einfo "x86-kernel@gentoo.org"
 echo
 einfo "Please read the changelog and associated docs for more information."
}

Reply

Marsh Posté le 06-05-2003 à 20:17:43    

Donc, qu'on récapitule dans l'ordre :

  • On décompresse l'archive jfs dans le dossier du kernel
  • On efface soit les patchs aavm, soit les patches rmap (*.aavm, *.rmap)
  • On efface les patches GCC31 si le système n'est pas équipé en 3.1 (*gcc3*)
  • Si besoin, on efface les patches evms2 (2*), sinon, on efface les patches evms1 (1*)
  • Si besoin toujours, on efface les patches crypto (6*, 8*)


Sinon, j'aîmerais juste avoir l'ebuild pour xfs-sources, pour voir si l'on peut encore patcher avec xfs ...
 
Donc ma recommendation :
 
http://www.kernel.org/pub/linux/ke [...] 20.tar.bz2
http://distro.ibiblio.org/pub/linu [...] r2.tar.bz2 (stable)
http://distro.ibiblio.org/pub/linu [...] r3.tar.bz2 (testing)

cd /usr/src
tar-xjf linux-2.4.20.tar.bz2
tar -xjf patches-2.4.20-gentoo-r3.tar.bz2
cd linux-2.4.20
tar -xzf ../2.4.20-gentoo-r3/jfs/jfs-2.4-1.1.1.tar.gz
cd ../2.4.20-gentoo-r3
mkdir backup
mv *.rmap 1* backup/
./addpatches


 
Encore un grand merci pour ta contribution Sixtiz, vraiment sympa ;)


Message édité par - Fred - le 06-05-2003 à 20:21:23
Reply

Marsh Posté le 06-05-2003 à 21:17:12    

Si jamais y'a d'autres megapatchs gentoo dans le style qui vous intéressent, n'hésitez pas à me faire signe... Si je suis de bonne humeur je les ferai :)
 
Attention pour le patch gcc-3.1, il est utile pour gcc version 3.1 et supérieures...
 
Sinon voilà l'ebuild pour xfs-sources-2.4.20-r3

Citation :

# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/sys-kernel/xfs-sources/xfs-sources-2.4.20-r3.ebuild,v 1.2 2003/04/20 00:15:01 livewire Exp $
 
IUSE="build crypt"
 
# OKV=original kernel version, KV=patched kernel version.  They can be the same.
 
# Kernel ebuilds using the kernel.eclass can remove any patch that you
# do not want to apply by simply setting the KERNEL_EXCLUDE shell
# variable to the string you want to exclude (for instance
# KERNEL_EXCLUDE="evms" would not patch any patches whose names match
# *evms*).  Kernels are only tested in the default configuration, but
# this may be useful if you know that a particular patch is causing a
# conflict with a patch you personally want to apply, or some other
# similar situation.
 
ETYPE="sources"
 
inherit kernel || die
OKV=2.4.20
EXTRAVERSION=-xfs-r3
KV=${OKV}${EXTRAVERSION}
S=${WORKDIR}/linux-${KV}
 
# Documentation on the patches contained in this kernel will be installed
# to /usr/share/doc/xfs-sources-${PV}/patches.txt.gz
 
DESCRIPTION="Full sources for the XFS Specialized Gentoo Linux kernel"
SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2
  mirror://gentoo/patches-${KV}.tar.bz2"
KEYWORDS="x86 -ppc -sparc "
SLOT="${KV}"
 
src_unpack() {
 unpack ${A}
 mv linux-${OKV} linux-${KV} || die
 
 cd ${KV}
 # Kill patches we aren't suppposed to use, don't worry about  
 # failures, if they aren't there that is a good thing!
 
 # If the compiler isn't gcc3 drop the gcc3 patches
 if [[ "${COMPILER}" == "gcc3" ]];then
  einfo "You are using gcc3, check out the special"
  einfo "processor types just for you"
 else
  einfo "Your compiler is not gcc3, dropping patches..."
  for file in *gcc3*;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 fi  
 
 # This is the ratified crypt USE flag, enables IPSEC and patch-int
 if [ -z "`use crypt`" ]; then
  einfo "No Cryptographic support, dropping patches..."
  for file in 8*;do
   einfo "Dropping ${file}..."
   rm -f ${file}
  done
 else
  einfo "Cryptographic support enabled..."
 fi
 
 kernel_src_unpack
}


Message édité par Sixtiz le 06-05-2003 à 21:20:20
Reply

Marsh Posté le 07-05-2003 à 10:01:25    

Ton mégapatch est le gaming source dont parlais K666 ?  
Sinon y'aurais pas moyen d'en faire un MegaPatch ?
Qui a essayé ? (Je suis pas chez moi, j'ai pas Nux ici )

Reply

Marsh Posté le 07-05-2003 à 10:47:40    

Un truc qui serait apréciable ... si vous voulez utiliser les sources des noyaus patchés par Gentoo & co ... y'a pas de pb ... mais montez des mirroirs pour pas gêner les users Gentoo réguliers ... On a eu qq soucis de bande passante à une époque avec certains serveurs chez iBiblio notamment ...
Merci d'avance ... :)

Reply

Marsh Posté le 07-05-2003 à 10:50:08    

sinon je viens de lire que tweaker votre disque dur est très important pour responsivité de votre nunux !!
 
 
Subject: Re: X responsiveness
From: Ben Sparks <sparks <at> bzsparks.com>
Date: 28 Apr 2003 15:09:56 +0000
Newsgroups: gmane.linux.gentoo.user
Reply-to: gentoo-user <at> gentoo.org
I had the same problem , my responsiveness was crap...until I enabled dma.  my hd performance was so much better after I enabled it.  Also, if you want dma to be enabled when you start your computer add this line to your /etc/conf.d/local.start file:  "/sbin/hdparm -qc1 -qd1 -qm16 -qk1 -qu1 /dev/hda" without quotes.  you can do a man hdparm to find out what each flag does, but I have found that this gies me the best performance.  Also, the "q" before each flag tells it to do that in quiet mode, which means it won't spit anything out on the screen when you boot up.  Good luck
 
Ben
 
 
chose que j'ai fait !! pas encore testé!
 
 
mais :
 
si quelqu'un a l'équivalent de cette commande pour du matos scsi en Ultra160 ???

Reply

Marsh Posté le 10-05-2003 à 21:11:12    

Alors quelqu'un a essayé le megapatch ?

Reply

Marsh Posté le 17-05-2003 à 23:14:15    

k666 a écrit :

sinon je viens de lire que tweaker votre disque dur est très important pour responsivité de votre nunux !!
 
 
Subject: Re: X responsiveness
From: Ben Sparks <sparks <at> bzsparks.com>
Date: 28 Apr 2003 15:09:56 +0000
Newsgroups: gmane.linux.gentoo.user
Reply-to: gentoo-user <at> gentoo.org
I had the same problem , my responsiveness was crap...until I enabled dma.  my hd performance was so much better after I enabled it.  Also, if you want dma to be enabled when you start your computer add this line to your /etc/conf.d/local.start file:  "/sbin/hdparm -qc1 -qd1 -qm16 -qk1 -qu1 /dev/hda" without quotes.  you can do a man hdparm to find out what each flag does, but I have found that this gies me the best performance.  Also, the "q" before each flag tells it to do that in quiet mode, which means it won't spit anything out on the screen when you boot up.  Good luck
 
Ben
 
 
chose que j'ai fait !! pas encore testé!
 
 
mais :
 
si quelqu'un a l'équivalent de cette commande pour du matos scsi en Ultra160 ???


Je me trompe peut-être, mais je pense pas qu'il y ait d'histoires d'UDMA en SCSI...

Reply

Marsh Posté le 28-05-2003 à 13:41:10    

oui je pense que ca doit etre différent mais la question reste posée :) comment tout mettre à fond la caisse dans un disque scsi de dernier cri ?

Reply

Marsh Posté le 28-05-2003 à 14:17:33    

Je pense que t'as rien à toucher et c'est bon. Y'a qu'à faire un hdparm dessus pour tester la vitesse...

Reply

Marsh Posté le 28-05-2003 à 20:09:13    

Perso, mon kernel patché Gentoo marche super ... j'ai rajouté un petit patch cramfs (qui marche pas d'enfer d'ailleurs ...), et tout tourne bien. Il suffit de suivre les conseils que j'ai donné plus haut ;)
 
Je referais le test lorsque la version Gentoo du 2.4.21 sortira ;)
 
Et pour hdparm, je vous conseille ceci :

Citation :

hdparm -A1 -c1 -d1 -m16 -p4 -u1 -W1 -Xudma2 /dev/hda

Reply

Marsh Posté le 02-06-2003 à 01:21:34    

- Fred - a écrit :


Et pour hdparm, je vous conseille ceci :

Citation :

hdparm -A1 -c1 -d1 -m16 -p4 -u1 -W1 -Xudma2 /dev/hda




 
Pourquoi mettre -Xudma2 qd certains disques peuvent faire mieux ?
Vo mieux d'abord faire un hdparm -i pour savoir quel mode est supporté par son disque, et voir s'il n'est pas déjà activé dans son mode le + rapide à l'aide d'un -d1 (franchement, qui a inventé cette font avec le "un" et le "l" (èle) qui sont identiques!)
pour info, mon disque :
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

Reply

Marsh Posté le 02-06-2003 à 06:44:39    

lol, perso j'ai pas un DD de Star Wars, le mien ne supporte que l'udma2 (et encore ...). Y a-t-il un moyen (autre que de dumper les valeurs à l'arrach') de sélectionner automatiquement le mode dma le plus rapide, et dans le cas où le dma n'était pas supporté, le plus haut pio ?

Reply

Marsh Posté le 02-06-2003 à 10:11:56    

rtfm plus doc du skeud! :D

Reply

Marsh Posté le 07-06-2003 à 23:33:03    

Pour ceux que ca intéresse, juste avant le 2.4.21 :
http://distro.ibiblio.org/pub/linu [...] r5.tar.bz2
 
Attention, il y a une nouvelle catégorie ipv6 ...


Message édité par - Fred - le 07-06-2003 à 23:44:24
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed