Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

  • Index
  •  » Debian
  •  » [Tutorial] Compiler un noyau à la mode Debian (Wiki)

#1 11 Oct 2004 20:14:32

smilebob
Apôtre du libre
 
Lieu: Sévenans, Territoire de Belfor
Date d'inscription: 23 Sep 2004
Messages: 81
Site web

[Tutorial] Compiler un noyau à la mode Debian (Wiki)

Le système GNU/LinuX DEBIAN tout puissant qu'il est permet à  n'importe qui de se créer facilement un paquet .deb contenant l'image d'un noyau que l'on aura customizé et adapter à ses besoins. Et ceci est la portée de n'importe qui sachant se servir du shell smile
Tout d'abord télécharger les dernieres source du noyau sur www.kernel.org .
En super-utilisateur copier les fichier télécharger sous /usr/src

ensuite exécuter ces commandes :

Code:


tar xvjf linux-2.6.X.X.tar.bz2         /* Décompresse l'archive */
ln -s linux-2.6.X.X linux /* Créer un lien linux pointant vers le dossier tout juste décompressé */
cd linux                /* on se place à la racine des sources */
cp /boot/config-2.X.X .config          /* copie la configuration du noyau courant vers les sources */

apt-get install libncurses5-dev  kernel-package module-init-tools     /* On a besoin de ces paquets */
/*Configurez votre noyau */
make menuconfig ou make oldconfig ou make xconfig comme vous voulez le tout étant de personnaliser le plus possible la configuration */

make-kpkg clean
make-kpkg --initrd --revision=rev.01 kernel_image

Laissez votre Pc travailler smile  roll

Puis une fois que vous avez la main, normalement un paquet .deb à été créé dans /usr/src/
installer le alors :

Code:

dpkg -i /usr/src/kernel-image.deb

Le système vous demandera si vous voulez stopper l'opération répondez N smile
Puis " Install a boot block usind the existing /etc/lilo.conf ?" répondez yes et hop c'est tout , y a plus qu'a redémarrer

Ce qui est bien c'est que en se crant un paquets , on peut sauvegarder sur Cd par exemple ce paquet et le réutiliser en cas de réinstall par exemple, mais de toute façon on ne réinstall pas une DEBIAN smile


LinuX c'est bien tout seul et c'est encore mieux à plusieurs smile
http://smilebob.ath.cx

Hors ligne

 

#2 11 Oct 2004 20:57:07

Swebian
Invité
 

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

A noter un petite astuce bien sympa que j'ai découverte sur le site de WaVer dans sa section "Articles".   Je cite car je l'ai trouvée bien utile:

Une des nouveautés du kernel 2.6 est le pseudo fichier /proc/config.gz

Pour récupèrer la configuration actuelle de votre noyau, il suffit donc de faire :
zcat /proc/config.gz > /usr/src/linux/.config

 

#3 18 Oct 2004 10:03:16

Toppeur
Humain(e) libre
 
Lieu: Vétroz
Date d'inscription: 12 Oct 2004
Messages: 33

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Salut coucou mes amis Débianeur !!  lol

Bon euh aujourd'hui je vais jouer encore une fois le rôle du newbie-boulet  lol  (je sais pas pourquoi mais je me sens très à l'aise dans ce rôle lol)

Voilà, en fait j'ai voulu installé le kernel 2.6.8. J'ai fait exactement ce qui est marqué dans ce tutorial. Il m'a posé plein de question sur mon matériel. Jusque là j e croyais touché au nirvana !! Il y avait ma carte son dans la liste !!  lol

Mais, c'est au moment du reboot que ... (pour ceux qui suivent c'est maintenant que je vais faire le boulet  lol )... ben que ça ne boot plus !

Il me note comme erreur :

VFS : Cannot open root service "306" or unknown-block(3,6)
Please append a correct "root=" boot option root fs on unknown-block(3,6)

Alors, j'ai retenté de lancer la manip pour changer de kernel en mettant moins d'option dans les FileSystem et avant de rebooter de reconfigurer lilo en tappant "lilo" et en inspectant lilo.conf... je dois surement avoir un petit problème dans ma vmlinuz  non ??

Si vous avez une idée pour que cela fonctionne... je prend ! lol


Linux un jour, Linux toujours

Hors ligne

 

#4 18 Oct 2004 11:17:53

Swebian
Invité
 

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Je suppose que tu n'as pas ajouter un support  pour ton type de fichier systême. Genre Ext3, ReiserFS. Tu as formaté en quoi ta partition ?

Postes ton /etc/lilo.conf s'il te plait. Est-ce que le Deb que tu à généré s'est installé correctement ? Contrôle aussi que dans ton lilo.conf ton root=/dev/hda1 (adapte pour toi) pointe vers la partion root correcte. Si ça pointe sur ta partion de boot ou de swap tu auras cette erreur.

Je contrôlerai ces points la d'abord.

 

#5 18 Oct 2004 11:43:02

Toppeur
Humain(e) libre
 
Lieu: Vétroz
Date d'inscription: 12 Oct 2004
Messages: 33

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Voici mon lilo.conf

Code:

# /etc/lilo.conf - See: `lilo(8)' and `lilo.conf(5)',
# ---------------       `install-mbr(8)', `/usr/share/doc/lilo/',
#                       and `/usr/share/doc/mbr/'.

# +---------------------------------------------------------------+
# |                        !! Reminder !!                         |
# |                                                               |
# | Don't forget to run `lilo' after you make changes to this     |
# | conffile, `/boot/bootmess.txt', or install a new kernel.  The |
# | computer will most likely fail to boot if a kernel-image      |
# | post-install script or you don't remember to run `lilo'.      |
# |                                                               |
# +---------------------------------------------------------------+

# Support LBA for large hard disks.
#
lba32

# Overrides the default mapping between harddisk names and the BIOS'
# harddisk order. Use with caution.
#disk=/dev/hde
#    bios=0x81

#disk=/dev/sda
#    bios=0x80

# Specifies the boot device.  This is where Lilo installs its boot
# block.  It can be either a partition, or the raw device, in which
# case it installs in the MBR, and will overwrite the current MBR.
#
boot=/dev/hda

# Specifies the device that should be mounted as root. (`/')
#
root=/dev/hda6

# Enable map compaction:
# Tries to merge read requests for adjacent sectors into a single
# read request. This drastically reduces load time and keeps the
# map smaller.  Using `compact' is especially recommended when
# booting from a floppy disk.  It is disabled here by default
# because it doesn't always work.
#
# compact

# Installs the specified file as the new boot sector
# You have the choice between: bmp, compat, menu and text
# Look in /boot/ and in lilo.conf(5) manpage for details
#
install=/boot/boot-menu.b

# Specifies the location of the map file
#
map=/boot/map

# You can set a password here, and uncomment the `restricted' lines
# in the image definitions below to make it so that a password must
# be typed to boot anything but a default configuration.  If a
# command line is given, other than one specified by an `append'
# statement in `lilo.conf', the password will be required, but a
# standard default boot will not require one.
#
# This will, for instance, prevent anyone with access to the
# console from booting with something like `Linux init=/bin/sh',
# and thus becoming `root' without proper authorization.
#
# Note that if you really need this type of security, you will
# likely also want to use `install-mbr' to reconfigure the MBR
# program, as well as set up your BIOS to disallow booting from
# removable disk or CD-ROM, then put a password on getting into the
# BIOS configuration as well.  Please RTFM `install-mbr(8)'.
#
# password=tatercounter2000

# Specifies the number of deciseconds (0.1 seconds) LILO should
# wait before booting the first image.
#
delay=20

# You can put a customized boot message up if you like.  If you use
# `prompt', and this computer may need to reboot unattended, you
# must specify a `timeout', or it will sit there forever waiting
# for a keypress.  `single-key' goes with the `alias' lines in the
# `image' configurations below.  eg: You can press `1' to boot
# `Linux', `2' to boot `LinuxOLD', if you uncomment the `alias'.
#
# message=/boot/bootmess.txt
prompt
timeout=150
#    prompt
#    single-key
#    delay=100
#    timeout=100

# Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
#
# vga=ask
# vga=9
#
vga=normal

# Kernel command line options that apply to all installed images go
# here.  See: The `boot-prompt-HOWO' and `kernel-parameters.txt' in
# the Linux kernel `Documentation' directory.
#
# append=""

# Boot up Linux by default.
#
default=Linux

image=/vmlinuz
    label=Linux
    read-only
#    restricted
#    alias=1

image=/vmlinuz.old
    label=LinuxOLD
    read-only
    optional
#    restricted
#    alias=2

# If you have another OS on this machine to boot, you can uncomment the
# following lines, changing the device name on the `other' line to
# where your other OS' partition is.
#
# other=/dev/hda4
#    label=HURD
#    restricted
#    alias=3
other=/dev/hda1
  label="WinNT(hda1)"

other=/dev/hda8
  label="WinNT(hda8)"

sinon, j'ai installé sur EXT2 ... et l'install comme marqué dans le tuto s'est passée à merveille ! Je n'ai eu aucun message d'erreur

Voila ma table de partition :

Disk /dev/hda: 137.4 GB, 137438952960 bytes
255 heads, 63 sectors/track, 16709 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2550    20482843+   7  HPFS/NTFS
/dev/hda2            2551       19928   139588785    f  W95 Ext'd (LBA)
/dev/hda5            2551        2812     2104483+  82  Linux swap
/dev/hda6            2813        3570     6088603+  83  Linux
/dev/hda7            3571        3824     2040223+  83  Linux
/dev/hda8            3825       19928   129355348+   7  HPFS/NTFS


Linux un jour, Linux toujours

Hors ligne

 

#6 18 Oct 2004 12:12:41

Swebian
Invité
 

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Edites-voir ton poste stp et rajoutes ta table de partition, Sinon on peut pas savoir comment se compose ton disque dur smile

 

#7 19 Oct 2004 13:38:43

Swebian
Invité
 

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Apparement ton lilo.conf est correct. Au fait quelle est la différence entre ta partition HDA6 et HDA7 ? Et pourquoi ext2 ? Lors de l'installation il y à bien ext3 non ? Je comprends pas trop cette erreur, tu as bien controlé dans ton noyau les systêmes de fichiers que tu as ajouté en dur ?

 

#8 19 Oct 2004 13:42:52

Toppeur
Humain(e) libre
 
Lieu: Vétroz
Date d'inscription: 12 Oct 2004
Messages: 33

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Apparement ton lilo.conf est correct. Au fait quelle est la différence entre ta partition HDA6 et HDA7 ? Et pourquoi ext2 ? Lors de l'installation il y à bien ext3 non ? Je comprends pas trop cette erreur, tu as bien controlé dans ton noyau les systêmes de fichiers que tu as ajouté en dur ?

Hé bien en fait, j'ai un tout petit peu merdé à l'intsall  lol j'ai crée une swap une ext2 et une ext3  lol  euuh je sors ??  lol

je vais réessayer de remettre tout ca avec que ext2 en dur c'est ca ??

aller zou je sors  lol


Linux un jour, Linux toujours

Hors ligne

 

#9 19 Oct 2004 13:53:37

Swebian
Invité
 

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Apparement ton lilo.conf est correct. Au fait quelle est la différence entre ta partition HDA6 et HDA7 ? Et pourquoi ext2 ? Lors de l'installation il y à bien ext3 non ? Je comprends pas trop cette erreur, tu as bien controlé dans ton noyau les systêmes de fichiers que tu as ajouté en dur ?

Hé bien en fait, j'ai un tout petit peu merdé à l'intsall  lol j'ai crée une swap une ext2 et une ext3  lol  euuh je sors ??  lol

je vais réessayer de remettre tout ca avec que ext2 en dur c'est ca ??

aller zou je sors  lol

Passe tes partitions en ext3 c'est mieux. Refait-les correctement, ensuite contrôle dans ta configuration du noyau dans "File System" et base toi sur le mien sachant que j'ai des partitions en ext3:

 

Code:

<*> Second extended fs support                                                       │ │
  │ │                        [ ]   Ext2 extended attributes                                                       │ │
  │ │                        <*> Ext3 journalling file system support                                             │ │
  │ │                        [*]   Ext3 extended attributes                                                       │ │
  │ │                        [*]     Ext3 POSIX Access Control Lists                                              │ │
  │ │                        [*]     Ext3 Security Labels                                                         │ │
  │ │                        [ ] JBD (ext3) debugging support                                                     │ │
  │ │                        <M> Reiserfs support                                                                 │ │
  │ │                        [ ]   Enable reiserfs debug mode                                                     │ │
  │ │                        [ ]   Stats in /proc/fs/reiserfs                                                     │ │
  │ │                        [ ]   ReiserFS extended attributes                                                   │ │
  │ │                        < > JFS filesystem support                                                           │ │
  │ │                        < > XFS filesystem support                                                           │ │
  │ │                        < > Minix fs support                                                                 │ │
  │ │                        < > ROM file system support                                                          │ │
  │ │                        [ ] Quota support                                                                    │ │
  │ │                        < > Kernel automounter support                                                       │ │
  │ │                        <M> Kernel automounter version 4 support (also supports v3)                          │ │
  │ │                            CD-ROM/DVD Filesystems  --->                                                     │ │
  │ │                            DOS/FAT/NT Filesystems  --->
 

#10 19 Oct 2004 14:18:05

Toppeur
Humain(e) libre
 
Lieu: Vétroz
Date d'inscription: 12 Oct 2004
Messages: 33

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

euh y a moyen de tout passé en ext3 sans devoir réinstaller... ou je dois remettre mon cd et en avant la musique ?  lol


Linux un jour, Linux toujours

Hors ligne

 

#11 19 Oct 2004 14:38:30

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

il faut d'abord démonter ta partition

Code:

 umount /dev/hdxx

après

Code:

tune2fs -j /dev/hdxx

n'oublies pas de faire la modif au niveau de /etc/fstab suivi d'un mount -a


There's no place like 127.0.0.1

Hors ligne

 

#12 22 Oct 2004 19:51:25

Toppeur
Humain(e) libre
 
Lieu: Vétroz
Date d'inscription: 12 Oct 2004
Messages: 33

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

ha yé !!!!! je suis enfin arrivé au bout de mes peines... ce fut long et guère facile !  :cheesy: (tiens des nouveaux smileys ??)

Tout fonctionne, ou presque... mais les choses trop exotique... on attendra lol

En tout cas un grand MERCI à tous pour votre aide !! Je suis vraiment heureux de pouvoir utiliser Debian comme il faut !!

Et puis, j'espère que je n'ai pas trop  polluer le topic...

Merci à tous ! :-)

Toppeur, un homme heureux  big_smile


Linux un jour, Linux toujours

Hors ligne

 

#13 22 Oct 2004 23:28:18

WaVeR
Gourou(e) du libre
Lieu: Biel-Bienne
Date d'inscription: 08 Oct 2004
Messages: 531
Site web

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Content pour toi Toppeur, si jamais on est ici pour la suite de ta découverte de Debian wink


There's no place like 127.0.0.1

Hors ligne

 

#14 06 Nov 2004 17:05:36

Tahiry
Citoyen(ne)
 
Date d'inscription: 01 Oct 2004
Messages: 12

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

J'ai une petite question existentielle!!! (Pour ma culture personnelle)

Quel est l'interet de "--initrd"? Parce que j'ai cru comprendre qu'il est possible de ne pas compiler le noyau avec cette option en mettant en dur les option IDE et/ou SCSI et le File System en dur dans le noyau.

T.

Hors ligne

 

#15 09 Nov 2004 08:56:51

smilebob
Apôtre du libre
 
Lieu: Sévenans, Territoire de Belfor
Date d'inscription: 23 Sep 2004
Messages: 81
Site web

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Ben moi, aujourd'hui je voulais compiler le 2.6.9, donc g repris mon ancienne config, et la oh surprise, au boot, g le meme message d'erreur que Toppeur smile j'avoue que je comprend pas trop car mon 2.6.8 bootait sans prb, bon je v aller faire un petit tour dans la section File Systems de ma config voir ce qui s'y passe smile

Quant à l'option --initrd, c comme on veut, je peux pas vraiment te dire qu'elle en l'utilité d'avoir init en dehors du noyau smile. Mais je V me renseigner, moi je l'activa car les noyau knoppix sont builder ainsi smile


LinuX c'est bien tout seul et c'est encore mieux à plusieurs smile
http://smilebob.ath.cx

Hors ligne

 

#16 09 Nov 2004 20:26:41

pHIL
Humain(e) libre
 
Lieu: Sion
Date d'inscription: 05 Oct 2004
Messages: 37

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

mais de toute façon on ne réinstall pas une DEBIAN smile

sauf si le disque dur merde physiquement... LOL

Hors ligne

 

#17 15 Nov 2004 08:57:03

tippex
Affranchi(e)
 
Date d'inscription: 15 Nov 2004
Messages: 4

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

A noter un petite astuce bien sympa que j'ai découverte sur le site de WaVer dans sa section "Articles".   Je cite car je l'ai trouvée bien utile:

Une des nouveautés du kernel 2.6 est le pseudo fichier /proc/config.gz

Pour récupèrer la configuration actuelle de votre noyau, il suffit donc de faire :
zcat /proc/config.gz > /usr/src/linux/.config

A noter que si le kernel-package a été crée avec make-kpkg, tu as /boot/config-xxxxx aussi bien avec un kernel 2.2 que 2.4 et 2.6
donc l'utilité du /proc/config.gz est toute relative à mon avis

Quand à la compilation d'un package sans make-kpkg, le

Code:

cp .config /boot/config-xxxx

est une bonne habitude à prendre même si avec le kernel 2.6 et son /proc/config.gz cela n'est pas nécessaire...

Hors ligne

 

#18 15 Nov 2004 09:34:55

tippex
Affranchi(e)
 
Date d'inscription: 15 Nov 2004
Messages: 4

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

J'ai une petite question existentielle!!! (Pour ma culture personnelle)

Quel est l'interet de "--initrd"? Parce que j'ai cru comprendre qu'il est possible de ne pas compiler le noyau avec cette option en mettant en dur les option IDE et/ou SCSI et le File System en dur dans le noyau.

T.

l'initrd permet de charger des modules sans accèder à ton systeme de fichier.
Je prends un exemple :
tu as une carte RAID qui nécessite le driver megaraid.o
soit tu as compilé ton noyau avec megaraid.o en dur ( [y] )
soit tu as compilé ton noyau avec megaraid.o en module ( [m] )

Si tu as compilé ton noyau avec le driver megaraid en module, au moment du boot il faut que le systeme charge le module megaraid.o pour que tu puisse avoir accès à tes disques dur... Mais le module megaraid.o est lui même situé sur ton disque dur dans /lib/modules/kernel-xx/
Donc le systeme ne peut pas le charger et tu n'as donc pas accès à tes disques durs.

L'initrd est un ensemble de scripts, drivers contenus dans un systeme de fichier (  cramfs sous debian ) qui est utilisé juste après le chargement du noyau. En général, il contient les drivers RAID, SCSI, etc ...
Donc, tu spécifie à lilo où se trouve ton initrd ( initrd=/boot/initrd-xxx.img ). Ton initrd est exécuté juste après le chargement du noyau, et il se charge de charger ton module megaraid.o
-> donc tu as accès à ton disque dur et ton systeme boote normalement

knoppix et la quasi totalité des distributions ( knoppix, debian, mandrake, etc... ) utilisent un initrd pour que quelque soit ton matériel, tu puisse booter tout en ayant un noyau de taille relativement petite ( /boot/vmlinuz-xxx )


Donc en gros :
- si tu connais tous le drivers nécessaire au bon boot de ta machine et que ca ne te dérange pas que ton noyau ne marche que sur ta machine : tu mets les drivers dont tu as besoin en dur -> et donc tu n'a pas besoin de l'initrd
- si tu n'as pas envie de t'ennuyer à savoir de quels drivers ta machine a besoin pour booter ou  si tu veux que ton noyau marche sur n'importe qu'elle machine : tu mets tout les drivers en module -> et là il te faut utiliser l'initrd


Je ne sais pas si j'ai été clair mais je peux répondre aux questions...

Hors ligne

 

#19 15 Nov 2004 16:53:57

Swebian
Invité
 

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Je ne sais pas si j'ai été clair mais je peux répondre aux questions...

Jolie petite réponse ! On peut difficilement faire mieux !

Au fait pour un noyau à la sauce Debian il y à des packages en extras à installer pour réussir un bon initrd ?

 

#20 15 Nov 2004 17:06:09

tippex
Affranchi(e)
 
Date d'inscription: 15 Nov 2004
Messages: 4

Re: [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Je ne sais pas si j'ai été clair mais je peux répondre aux questions...

Jolie petite réponse ! On peut difficilement faire mieux !

Au fait pour un noyau à la sauce Debian il y à des packages en extras à installer pour réussir un bon initrd ?

Il faut le package initrd-tools
A noter qu'il est bon d'utiliser un backport de la Sid pour que l'initrd contienne les drivers récents

Hors ligne

 
  • Index
  •  » Debian
  •  » [Tutorial] Compiler un noyau à la mode Debian (Wiki)

Pied de page des forums

Powered by FluxBB