INSTALLATION LINUX

0) BOOT: Sous ligne de commande MSDOS, aller dans répertoire INSTALL et taper BOOT

1) Clavier fr-latin1. Plus tard, à la demande de la zone horaire, taper Europe/Paris et indiquer que l'horloge est en mode local si MSDOS ou W95 tournent sur la machine, heure GMT sinon.

2) Partition du disque: Partition swap d'environ 40 à 50M et une partition d'installation d'au moins 200M.

3) Choix du média: CDROM, en général /dev/hdb ou /dev/hdc si CDROM IDE

4) Choix des modules à charger. Dans la mesure où il vaut mieux compiler un noyau ad hoc, n'en prendre aucun. Cela peut être nécessaire cependant si le matériel est exotique ou pour une installation réseau (à vérifier)

5) Boot sur disque dur, revoir lilo de toute façon après.

6) disquette de boot: ça ne mange pas de pain. Le calcul de la déviation me parait être une vaste fumisterie, les résultats sont radicalement distincts d'un test à l'autre.



Reboot

7) A ce niveau on peut créer des liens vers un deuxième disque pour décharger la racine.:

Exemple ln -s /disqueb/usr/doc /usr/doc

Sélection des paquets. Dselect est un peu pénible mais on s'y fait. Utile, la recherche par nom: (commande /, recherche du suivant: \)

Configuration de smail: /usr/sbin/smailconfig

8) Configuration de fstab: Par exemple:

# /etc/fstab: static file system information.

#

# <file system> <mount point> <type> <options> <dump> <pass>

/dev/hda2 / ext2 defaults,errors=remount-ro 0 1

/dev/hda3 none swap sw 0 0

proc /proc proc defaults 0 0

/dev/hdc1 /disqueb ext2 defaults 0 3

/dev/hdc2 /msdos2 vfat noauto,user,exec 0 0

/dev/hda1 /msdos vfat noauto,user,exec 0 0

/dev/fd0 /floppy msdos noauto,user 0 0

/dev/cdrom /cdrom iso9660 noauto,user,exec 0 0

/dev/scd0 /cdrw iso9660 noauto,user,exec 0 0



Configuration de lilo. Attention à ce boot indique un disque et non une partition.

9)Configuration de magicfilter: Indispensable pour imprimer, faire magicfilterconfig. La BJ4100 s'adapte à bj10e.

10) Astuce: création d'un user halt dont on modifie la ligne dans /etc/passwd en 0:0:shell=/sbin/halt. Pour arrêter la machine, il suffira de taper halt au login.

11) Configuration de X, auparavant savoir de quelle souris on dispose. En cas de doute gpmconfig contient un utilitaire qui permet de trouver le type de souris branchée sur la machine. Félicitation à l'auteur. Prendre la doc du moniteur également. Et taper XF86setup après avoir charger le serveur X VGA16 ainsi que le probable serveur X utilisé par la carte vidéo.

12) Compilation du noyau. Charger les sources de la distribution (2.0.34) puis substituer ces sources avec la version voulue (2.0.37 en l'occurrence). Apparemment, les fichiers include sont modifiés (A VERIFIER). Suivre attentivement les indications du fichier README (liens des /usr/include/asm ou sys ou linux vers les include des sources). Puis make prproper, sous X et à condition d'avoir installer (avec dselect) Tcl/Tk, faire make xconfig. Prendre son temps pour les options, se concentrer sur les systèmes de fichiers (vfat, iso9660 et ext2fs indispensable), les cartes SCSI et les cartes sons. Make dep puis make zImage donne le noyau. Make modules puis make modules_install fabriquent les modules. Je n'ai jamais eu de problème à la compilation d'un noyau.

13) Adaptation au clavier Français. J'ai modifié le fichier /etc/profile par

LC_CTYPE=ISO-8859-1

# Ne pas oublier la page à la compilation du noyau

LC_ALL=fr_FR

# (ou fr_BE, fr_CA, fr_CH, fr_LU ...)

LANG=fr

LESSCHARSET=latin1





PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"

PS1="\\$ "

PROMPT_COMMAND=pwd

PAGER=less

export PATH PS1 PAGER LC_CTYPE LC_ALL LANG LESSCHARSET



umask 002



et le fichier /etc/emacs/site-start.el par

;; Emacsen independent startup file. All of the various installed

;; flavors of emacs (emacs 19, emacs 20, xemacs) will load this file

;; at startup. Make sure any code you put here is emacs flavor

;; independent.



;; Package maintainers: do not have Debian packages edit this file.

;; See the policy manual for the proper way to handle Emacs package

;; initialization code.

;;

;; Fichier .emacs: initialisation d'emacs

;; Tire du Guide du Rootard

;;



(display-time) ;; Pour avoir l'heure dans la barre d'etat

(setq display-time-24hr-format t) ;; Format 24 heures



;; Nouveaux modes

(autoload 'c++-mode "cplus-md" "C++ Editing Mode" t)

(autoload 'perl-mode "perl-mode" "Perl Editing Mode" t)

(autoload 'c-mode "c-mode" "C Editing Mode" t)

; mieux vaudrait utiliser le "cc-mode"



(autoload 'jargon-mode "jargon" "Jargon Mode" t)



;; Auto-Mode Settings : positionne le mode selon l'extension

(setq auto-mode-alist

(append '(("\.c$" . c-mode) ;; utilise le mode C++ meme pour C

("\.h$" . c-mode)

("\.C$" . c++-mode)

("\.H$" . c++-mode)

("\.cc$" . c++-mode)

("\.C$" . c++-mode)

("\.pl$" . perl-mode) ;; Perl

("/tmp/snd\.[0-9]*" . text-mode);; Text (pour le mail)

("[Rr][Ee][0-9]*" . text-mode)

("\.ada$" . ada-mode) ;; Ada

("\.spec$" . ada-mode)

("\.body$" . ada-mode)

("makefile$" . makefile-mode) ;; Makefile

("Makefile$" . makefile-mode)

("Imakefile$" . makefile-mode))

auto-mode-alist))



; Remapes varies a mettre ici

(global-set-key "\eg" 'goto-ligne) ;; ESC G = Goto ligne



(put 'eval-expression 'disabled nil)



;; Accents...

(standard-display-european 1)

(load-library "iso-syntax")

(set-input-mode (car (current-input-mode))

(nth 1 (current-input-mode))

0)



;; Sous X-Window, textes en couleurs (C/C++/Shell/Makefile,etc)

(cond (window-system

(setq hilit-mode-enable-list '(not text-mode)

hilit-background-mode 'light

hilit-inhibit-hooks nil

hilit-inhibit-rebinding nil)

(require 'hilit19)

))



(if (not (equal window-system ""))

(global-set-key "\C-?" 'delete-backward-char))



Mais il subsite le problème que la touche Suppr et Backspace ont le même effet (ça m'énerve).

14) et 15) rectification des erreurs faites. Notamment l'heure peut se modifier en éditant le fichier /etc/default/rcS et les modules non présents mais demandés à être chargés par une déclaration erronée au début sont dans /etc/modules.

16) pppconfig. Très simple mais il faut connaître l'adresse IP du serveur DNS, le nom de login, le Mot de passe. Si il n'y a qu'un seul provider, appeler la connexion "provider".

Ceux qui peuvent utiliser la connexion doivent être mis dans le groupe dip (fichier /etc/group ou commande adéquate)

17) Netscape: Personnellement, j'ai installé un paquet RedHat transformé par alien. Liens à rectifier sous /usr/bin cependant.

18) Installation des paquets sons. Pas de difficultés mais xmcd n'aime les CDROM Mitsumi IDE. La création des fichiers /dev se fait par un script trouvé dans /usr/src/linux/drivers/sound/Readme.linux

#!/bin/sh

# *****************************************

# * NOTICE!

# *

# * For security reasons read access to /dev/dsp* and /dev/audio* has been

# * disabled from other than root. Otherwise any user may be able to spy

# * what is being talked about near the microphone.

# * This effectively disables audio recording by other than root. In case

# * this capability is required, you should change AUDIOPERMS (below) to 666

# * before executing this script.

# *****************************************

AUDIOPERMS=666

#

#

#

#

# Create the devices

#

# Mixer devices

#

if [ -e /dev/mixer ]; then

rm -f /dev/mixer

fi



if [ -e /dev/mixer0 ]; then

rm -f /dev/mixer0

fi

mknod -m 666 /dev/mixer0 c 14 0

ln -sf /dev/mixer0 /dev/mixer



if [ -e /dev/mixer1 ]; then

rm -f /dev/mixer1

fi

mknod -m 666 /dev/mixer1 c 14 16





# Sequencer (14, 1)

#

if [ -e /dev/sequencer ]; then

rm -f /dev/sequencer

fi

mknod -m 666 /dev/sequencer c 14 1



if [ -e /dev/patmgr0 ]; then

rm -f /dev/patmgr0

fi

mknod -m 666 /dev/patmgr0 c 14 17

if [ -e /dev/patmgr1 ]; then

rm -f /dev/patmgr1

fi

mknod -m 666 /dev/patmgr1 c 14 33



# music (14, 8)

#

if [ -e /dev/music ]; then

rm -f /dev/music

fi



mknod -m 666 /dev/music c 14 8

if [ -e /dev/sequencer2 ]; then

rm -f /dev/sequencer2

fi

ln -s /dev/music /dev/sequencer2



# Midi devices

#

if [ -e /dev/midi ]; then

rm -f /dev/midi # Old name. Don't use it

fi

if [ -e /dev/midi00 ]; then

rm -f /dev/midi00

fi

mknod -m 666 /dev/midi00 c 14 2

ln -sf /dev/midi00 /dev/midi

if [ -e /dev/midi01 ]; then

rm -f /dev/midi01

fi

mknod -m 666 /dev/midi01 c 14 18

if [ -e /dev/midi02 ]; then

rm -f /dev/midi02

fi

mknod -m 666 /dev/midi02 c 14 34

if [ -e /dev/midi03 ]; then

rm -f /dev/midi03

fi

mknod -m 666 /dev/midi03 c 14 50

#

# DSP (14, 3)

#

if [ -e /dev/dsp ]; then

rm -f /dev/dsp

fi

if [ -e /dev/dsp0 ]; then

rm -f /dev/dsp0

fi

mknod -m $AUDIOPERMS /dev/dsp0 c 14 3

ln -s /dev/dsp0 /dev/dsp



#

# DSPW (14, 5)

#

if [ -e /dev/dspW ]; then

rm -f /dev/dspW

fi

if [ -e /dev/dspW0 ]; then

rm -f /dev/dspW0

fi

mknod -m $AUDIOPERMS /dev/dspW0 c 14 5

ln -s /dev/dspW0 /dev/dspW



if [ -e /dev/dspW1 ]; then

rm -f /dev/dspW1

fi

mknod -m $AUDIOPERMS /dev/dspW1 c 14 37



#

# SPARC compatible /dev/audio (14, 4)

#

if [ -e /dev/audio ]; then

rm -f /dev/audio

fi

if [ -e /dev/audio0 ]; then

rm -f /dev/audio0

fi

mknod -m $AUDIOPERMS /dev/audio0 c 14 4

ln -s /dev/audio0 /dev/audio



#

# DSP1 (14, 19) /dev/dsp for the second soundcard.

# Also the SB emulation part of the

# PAS16 card.

#

if [ -e /dev/dsp1 ]; then

rm -f /dev/dsp1

fi

mknod -m $AUDIOPERMS /dev/dsp1 c 14 19

#

# SPARC audio1 (14, 20)

# /dev/audio for the second soundcard.

# Also the SB emulation part of the

# PAS16 card.

#

if [ -e /dev/audio1 ]; then

rm -f /dev/audio1

fi

mknod -m $AUDIOPERMS /dev/audio1 c 14 20

#

# /dev/sndstat (14,6) For debugging purposes

#

if [ -e /dev/sndstat ]; then

rm -f /dev/sndstat

fi

mknod -m 666 /dev/sndstat c 14 6

exit 0



19) Installation d'un module joystick mais il n'est pas prévu pour le noyau 37

20) Installation de Word Perfect. Il nécessite les libc5 et Xpm47

21) Démarrage par xdm en modifiant le fichier /etc/X11/config

22) Changement du menu de fvwm95 en touchant aux fichiers sous /etc/X11/fvwm95.

23) Réglage complet du problème du clavier sous emacs en rajoutant les lignes

(global-set-key [home] 'beginning-of-ligne)

(global-set-key [end] 'end-of-ligne)





(global-set-key [27 prior] 'scroll-other-window-down)

(global-set-key [27 next] 'scroll-other-window)

; pour permettre l'affichage de toutes les lettres (y compris accentuées)

;

(standard-display-european 1)

;

; Charger le mode iso-accents-mode pour permettre la saisie des lettres

; accentuées par deux touches : l'accent puis la lettre.; pour permettre l'affichage de toutes les lettres (y compris accentuées)

;

(standard-display-european 1)

;

; Charger le mode iso-accents-mode pour permettre la saisie des lettres

; accentuées par deux touches : l'accent puis la lettre.

;

(load-library "iso-acc")

;

; rendre ce mode actif durant toute la session d'emacs

;

(setq-default iso-accents-mode t)





; définir un clavier azerty pour placer les accents adaptés au français

; table construite par simplification de la table iso-latin1 de iso-acc.el

:

(setq-default

iso-languages

(cons

'("azerty-isolatin1-french"

(?' (?E . ?\311) (?C . ?\307) (?' . ?') (?\ . ?'))

(?` (?A . ?\300) (?E . ?\310) (?U . ?\331) (?` . ?`) (?\ . ?`))

(?\~ (?> . ?\273) (?< . ?\253) (?\~ . ?\~) (?\ . ?\~)) )

iso-languages))

;

; utiliser ce mode d'acentuation

;

(iso-accents-customize "azerty-isolatin1-french")

;

; définition des lettres accentuées

; pour les déplacements, les recherches et les remplacements de mots

;

(load-library "iso-syntax")



au fichier /etc/X11/emacs/site-start.el après la première modification (voir + haut).

24) Réponse à un problème qui me tarabustait: Une erreur dans la compilation de lilo. La réponse est que l'installation de g++ i.e egcs pertube les fichiers include. Solution: Ne pas installer g++.

25) Localisation de xdvi dans le module tmview, de xload, xmem etc dans le paquet xcontrib. Il m'aura fallu 3 semaines!!!

Désinstallation de textex-xdvi puis de textex dans son ensemble et réinstallation du tout.

La commande copydir se trouve dans le paquet mirrordir.

26) Il est exact que Word Perfect sur lequel est tapé ce document plante lors de l'écriture du mot récursivité. Pour remédier à cela, supprimer le dictionnaire Français ce qui fait que tous les mots tapés sont soulignés... mais ça marche.

27) Divers perfectionnements.

-> Installation des paquets Debian de Netscape 4.07. Il faut installer dans l'ordre

netscape-base.4_5

netscape-base.407

netscape-java

communicator-base

communicator-nethelp

communicator-smotif (qui est le binaire du brouteur, à noter que le paquet dmotif en librairie dynamique ne marche pas).

-> Essai du noyau 2.2.5 dans le but de faire marcher des joysticks. Il a fallu mettre à jour des librairies et autres utilitaires puis configurer le noyau). Il marche bien mais ne résoud pas mon problème de joystick.

-> Tentative pour faire fonctionner l'interface MIDI. La configuration du noyau n'est pas simple. Voilà la configuration son retenue:

CONFIG_SOUND=y

# CONFIG_PAS is not set

CONFIG_SB=y

CONFIG_ADLIB=y

# CONFIG_GUS is not set

# CONFIG_MPU401 is not set

# CONFIG_UART6850 is not set

# CONFIG_PSS is not set

# CONFIG_GUS16 is not set

# CONFIG_GUSMAX is not set

# CONFIG_MSS is not set

# CONFIG_SSCAPE is not set

# CONFIG_TRIX is not set

# CONFIG_MAD16 is not set

# CONFIG_CS4232 is not set

# CONFIG_MAUI is not set

CONFIG_AUDIO=y

CONFIG_MIDI=y

CONFIG_YM3812=y

SBC_BASE=220

SBC_IRQ=5

SBC_DMA=1

SB_DMA2=5

SB_MPU_BASE=330

SB_MPU_IRQ=-1

DSP_BUFFSIZE=65536

# CONFIG_LOWLEVEL_SOUND is not set

28) Plusieurs mises au point:

-> Installation du noyau 2.0.38: Pas de remarques

-> Configuration des ISAPNP tools en vue de la carte SB16 AWE32 (Midi). Mis en place du paquet, commande "pnpdump > /etc/isapnp.conf", édition de ce dernier en fonction des paramètres de la carte précisée par Windows (remarque, ce sont les premiers cités par pnpdump ce qui doit être souvent le cas sauf exotisme). La carte est reconnue au bout ("Enabled: OK" comme message au boot).

-> Installation et mis en place des modules AWE32 et Joystick. Pas si simple:

Installation de awedrv-0.4.3:

Message à l'auteur du module pour la carte SB16AWE32:

From - Fri Nov 26 21:21:01 1999

Hello



(I'm French and my English is not very good)

I have a Debian 2.0 Linux with a kernel 2.0.38 (Pentium system).

I put the kernel's sources under /usr/src/linux

I unpack the awedrv-0.4.3.tgz in /disqueb/tmp

I make under /usr/src/linux

make mrproper

make xconfig

then, under /disqueb/tmp, sh install.sh

I think there is a mistake in the script:

At the compilation or when loading the module: "Flop":

-> "Sound module in the kernel" (option yes) give at compilation

ld -m elf_i386 -Ttext 0x100000 -e stext arch/i386/kernel/head.o

init/main.o init/version.o \

arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o

mm/mm.o fs/fs.o ipc/ipc.o net/network.a \

fs/filesystems.a \

drivers/block/block.a drivers/char/char.a drivers/net/net.a

drivers/scsi/scsi.a drivers/sound/sound.a drivers/pci/pci.a \

/disqueb/usr/src/linux_2.0.38/arch/i386/lib/lib.a

/disqueb/usr/src/linux_2.0.38/lib/lib.a

/disqueb/usr/src/linux_2.0.38/arch/i386/lib/lib.a -o vmlinux

drivers/sound/sound.a(lowlevel.o): In function

`sound_init_lowlevel_drivers':

lowlevel.o(.text+0x1): undefined reference to `attach_awe'

drivers/sound/sound.a(lowlevel.o): In function

`sound_unload_lowlevel_drivers':

lowlevel.o(.text+0x9): undefined reference to `unload_awe'

make: *** [vmlinux] Error 1

/usr/src/linux

Maison:/usr/src/linux#



-> Soud module (option m) give after compilation:



Maison:~# modprobe sound.o

/lib/modules/2.0.38/misc/sound.o: unresolved symbol unload_awe

/lib/modules/2.0.38/misc/sound.o: unresolved symbol attach_awe

/root

Maison:~# lsmod

Module Pages Used by

/root

Maison:~#



In fact, these functions are defined in awe_wave.c and this one was not

compiled.

The /usr/src/linux/Makefile was modified with these lines:

ifdef CONFIG_AWE32_SYNTH

OBJS := $(OBJS) awe_wave.o

endif

but the file /usr/src/linux/drivers/sound/lowlevel/Makefile was not

modified. I modified it in

all: lowlevel.o

OBJS = init.o

ifdef CONFIG_LOWLEVEL_SOUND

ifdef CONFIG_ACI_MIXER

OBJS := $(OBJS) aci.o

endif

endif

ifdef CONFIG_AWE32_SYNTH <----

OBJS := $(OBJS) awe_wave.o <----

endif <----

lowlevel.o: $(OBJS)

$(LD) -r -o lowlevel.o $(OBJS)



clean:

rm -f core x y z *~ *.o

ifdef HOSTCC

include $(TOPDIR)/Rules.make

endif



and now the kernel is well compiled (but my AWE32 is not recognized,

it's another problem). May be there is a bug in the "install.sh" file? I

expect this will help you. Thanks for your driver.

François BOISSON

Paris

Voilà la réponse:

>>>>> On Mon, 15 Nov 1999 22:56:16 +0100, "Frangois BOISSON"

<fboisson@worldnet.fr> said:



> In fact, these functions are defined in awe_wave.c and this one was not

> compiled.

> The /usr/src/linux/Makefile was modified with these lines:



> ifdef CONFIG_AWE32_SYNTH

> OBJS := $(OBJS) awe_wave.o

> endif



> but the file /usr/src/linux/drivers/sound/lowlevel/Makefile was not

> modified.



This is the right file (not drivers/sound/Makefile).

You may insert the ifdef..endif lines above in this file.



Please be sure the AWE lowlevel driver can be selected in kernel

configuration.



Also, please check the installed config file, awe_config.h and

awe_compat.h under drivers/sound/lowlevel. awe_compat.h was renamed

from awe_compat-linux.h in the awedrv package.



If you have further problems, please let me know.



Regards,

Takashi Iwai / iwai@ww.uni-erlangen.de

Department of Materials Science

Friedrich-Alexander-University Erlangen-Nuernberg

Bon. En tout cas, avec la modification faite, ça marche. Il est nécessaire de charger une banque de son (fichier synthgm.sbk sous \windows\system) avec un programme sfxload. Ce programme se trouve dans le paquet awesfx-0.4.3. Attention toutefois à mettre des liens vers les "include" des sources noyaux. Cela est fait par le script suivant:

#!/bin/bash

cd /usr/include

mv asm asm.old

mv linux linux.old

mv scsi scsi.old

ln -s /usr/src/linux/include/asm-i386 asm

ln -s /usr/src/linux/include/linux linux

ln -s /usr/src/linux/include/scsi scsi

cd /usr/src

touch LIENS_FAITS

Le chargement automatique du module par kerneld se fait en configurant conf.modules sachant que les "devices" liés aux sons ont une majeur valant 14:

alias char-major-14 sound

post-install sound /usr/local/bin/sfxload synthgm.sbk

-> Le driver joystick est fourni dans un paquet joystick-1.4.3. Les versions binaires contiennent des modules dédiés à des noyaux qui ne sont pas ma version. Le source contient 2 scripts patchant les noyaux 2.0.36 et 2.2.2. Un "query-replace" de "_2.0.36" en "" sur le fichier kernel_2.0.36.diff permet de patcher les sources du noyau 2.0.38 sous le repertoire /usr/src/linux. Apparemment, aucun bug. Les drivers apparaissent dans le menu de "make xconfig". La compilation fournit plusieurs modules et les installe. Le chargement automatique de ces modules se fait en rajoutant la ligne

alias char-major-15 joy-analog

au fichier /etc/conf.modules