il existe des patchs non officiels pour le noyau 2.0.xx. Toutefois,
le mieux est d'utiliser l'utilitaire set6x86 qui positionne certains
registres du cyrix pour optimiser son fonctionnement. Le site
incontournable pour tout ce qui concerne linux/cyrix :
est
http://wauug.erols.com/~balsa/linux/cyrix/index.html.
Linux gère sans aucun problème les machines basées sur Pentium. Pour optimiser un peu la compilation, il suffit de spécifier Pentium lors de la recompilation du noyau. Il existe toutefois un gcc spécialisé pour Pentium, qui est en cours de développement.
Il suffit de consulter la page http://www.goof.com/pcg pour plus de renseignements.
Les nouveaux sources du noyau Linux peuvent être récupérés sur
le site ftp.lip6.fr dans le répertoire
/pub/linux/kernel/sources/v2.0 pour les versions dites
"stables". Il s'agit d'un miroir du site ftp.kernel.org.
Il existe un autre répertoire : v2.1 : il s'agit de la version
de développement. Je vous déconseille de l'installer : il s'agit de noyaux
en cours de développement; ils peuvent être stables mais il est également
possible qu'ils soient complètement bogués. En les utilisant,
vous prenez le risque de perdre des données de la machine.
Installez donc les sources (normalement dans le répertoire
/usr/src/linux). La compilation est très simple à
réaliser mais vous devez suivre quelques points très scrupuleusement :
make config va demander la configuration que vous
souhaitez.
Certains points peuvent vous sembler assez obscurs. Dans ce cas, ne les
changez pas. Vous pouvez lancer make menuconfig en
mode texte pour avoir le programme en couleur ou make xconfig
sous X à condition d'avoir installé Tcl/Tk.
Configurons ensemble ce noyau... Remarque importante : il s'agit du noyau
2.0.26, donc certaines options ou certaines indications peuvent ne pas
exister sur d'autres versions.
# make config rm -f include/asm ( cd include ; ln -sf asm-i386 asm ) /bin/sh scripts/Configure -d arch/i386/config.in #
* * Code maturity level options * Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?] *
kerneld, répondez Y.
* * Loadable module support * Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?]
? : une brève description va alors apparaître.
Dans le cas présent ci-dessus, je vais utiliser les modules
chargeables avec le système de chargement automatique (kerneld).
* * General setup * Kernel math emulation (CONFIG_MATH_EMULATION) [N/y/?] Networking support (CONFIG_NET) [Y/n/?] Limit memory to low 16MB (CONFIG_MAX_16M) [N/y/?] PCI bios support (CONFIG_PCI) [N/y/?] System V IPC (CONFIG_SYSVIPC) [Y/n/?] Kernel support for a.out binaries (CONFIG_BINFMT_AOUT) [Y/m/n/?] Kernel support for ELF binaries (CONFIG_BINFMT_ELF) [Y/m/n/?] Kernel support for JAVA binaries (CONFIG_BINFMT_JAVA) [N/y/m/?] Compile kernel as ELF - if your GCC is ELF-GCC (CONFIG_KERNEL_ELF) [Y/n/?] Processor type (386, 486, Pentium, PPro) [486] defined CONFIG_M486
* * Floppy, IDE, and other block devices * Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?] Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
* * Please see Documentation/ide.txt for help/info on IDE drives * Use old disk-only driver on primary interface (CONFIG_BLK_DEV_HD_IDE) [N/y/?] Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [N/y/?] Include IDE/ATAPI TAPE support (CONFIG_BLK_DEV_IDETAPE) [N/y/?] Support removable IDE interfaces (PCMCIA) (CONFIG_BLK_DEV_IDE_PCMCIA) [N/y/?] CMD640 chipset bugfix/support (CONFIG_BLK_DEV_CMD640) [N/y/?] Other IDE chipset support (CONFIG_IDE_CHIPSETS) [N/y/?]
* * Additional Block Devices * Loopback device support (CONFIG_BLK_DEV_LOOP) [N/y/m/?] Multiple devices driver support (CONFIG_BLK_DEV_MD) [N/y/?] RAM disk support (CONFIG_BLK_DEV_RAM) [N/y/m/?] XT harddisk support (CONFIG_BLK_DEV_XD) [N/y/m/?]
* * Networking options * Network firewalls (CONFIG_FIREWALL) [N/y/?] Network aliasing (CONFIG_NET_ALIAS) [N/y/?] TCP/IP networking (CONFIG_INET) [Y/n/?] IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] IP: multicasting (CONFIG_IP_MULTICAST) [N/y/?] IP: accounting (CONFIG_IP_ACCT) [Y/n/?]
* * SCSI support *
* * Network device support * Network device support (CONFIG_NETDEVICES) [Y/n/?] Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] EQL (serial line load balancing) support (CONFIG_EQUALIZER) [N/y/m/?] Frame relay DLCI support (EXPERIMENTAL) (CONFIG_DLCI) [N/y/m/?] PLIP (parallel port) support (CONFIG_PLIP) [N/y/m/?] PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
* * ISDN subsystem * ISDN support (CONFIG_ISDN) [N/y/m/?]
* * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) * Support non-SCSI/IDE/ATAPI CDROM drives (CONFIG_CD_NO_IDESCSI) [N/y/?] *
* * Filesystems * Quota support (CONFIG_QUOTA) [Y/n/?] Mandatory lock support (CONFIG_LOCK_MANDATORY) [N/y/?] Minix fs support (CONFIG_MINIX_FS) [M/n/y/?] Extended fs support (CONFIG_EXT_FS) [N/y/m/?] Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] xiafs filesystem support (CONFIG_XIA_FS) [N/y/m/?] DOS FAT fs support (CONFIG_FAT_FS) [M/n/y/?] MSDOS fs support (CONFIG_MSDOS_FS) [M/n/?] VFAT (MS-Windows-95) fs support (CONFIG_VFAT_FS) [M/n/?] umsdos: Unix like fs on top of std MSDOS FAT fs (CONFIG_UMSDOS_FS) [N/m/?] /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] NFS filesystem support (CONFIG_NFS_FS) [M/n/y/?] SMB filesystem support (to mount WfW shares etc..) (CONFIG_SMB_FS) [N/y/m/?] ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [M/n/y/?] OS/2 HPFS filesystem support (read only) (CONFIG_HPFS_FS) [N/y/m/?] System V and Coherent filesystem support (CONFIG_SYSV_FS) [N/y/m/?] Amiga FFS filesystem support (EXPERIMENTAL) (CONFIG_AFFS_FS) [N/y/m/?] UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?]
* * character devices *
* * Sound *
Sound card support (CONFIG_SOUND) [M/n/y/?]
Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?]
/dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?]
MIDI interface support (CONFIG_MIDI) [Y/n/?]
FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?]
I/O base for SB Check from manual of the card (SBC_BASE) [260]
Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5]
Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1]
Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW)
5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5]
MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual
of the card (SB_MPU_BASE) [330]
SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1]
Audio DMA buffer size 4096, 16384, 32768 or 65536 (DSP_BUFFSIZE) [65536]
* * Kernel hacking * Kernel profiling support (CONFIG_PROFILE) [N/y]
make dep se charge de créer les dépendances.make clean va nettoyer toute l'arborescence.make zImage pour compiler votre noyau. Vous
pouvez aller boire un bon café, voire toute autre boisson dont la
publicité est interdite, car c'est long, sauf bien sûr si vous
possédez un P6 ou autre monstre (temps de compilation environ 4
minutes)... mais avec mon 486 DX2/66 et 16 Mo, la compilation exige un
peu plus de 40 minutes. Cela dépend surtout de la quantité de mémoire
vive disponible.
make modules puis les installer par
make modules_install. Ils seront copiés dans le
répertoire /lib/modules/2.0.26.
/usr/src/linux/arch/i386/boot.
Le nouveau noyau flambant neuf est le fichier zImage, qui est
déjà compacté. Le copier dans la racine : / en lui attribuant
un nouveau nom (par exemple "vmlinuz2"). Modifier la configuration
de LILO mais ne rien retirer : copier/coller en tête du fichier une section
existante puis la modifier afin qu'elle concerne le nouveau noyau. Puis
relancer lilo pour que le nouveau noyau soit pris en compte et
reboote.Remarque : si vous ne parvenez pas à modifier la configuration de
lilo il faudra installer le nouveau fichier du noyau en lieu et
place de l'ancien. Je vous conseille fortement de laisser l'ancien noyau
dans un coin et surtout de pouvoir booter dessus, par exemple grâce à une
disquette, afin de ne pas tout perdre.
Réamorcer et ça doit fonctionner.