Kit Unix
========

Installation d'une partition Unix (garnie) sur Atari:
=====================================================

Installation d'un environnement Unix "clef en main" sur falcon en 4 disks!
A vous les plaisirs du C++, tcsh, man, tar, compress, grep, ls -R, cd etc...
Sans vous prendre la tete avec une installation compliquee!!!
(J'ai realise ce kit, car les kits disponibles sont tres durs a regler et
 a installer... Celui la est garanti! Vous installez et vous utilisez!)

Origine: reseau internet
Contenu: MDK (Mint distribution kit), INIT.ZOO, MG++258b, MGCC258b,
		 GDB36P4, FMINCL44, FMLIBS44, AES 4.1, TCSH603, MAN4, etc...
		 (versions les plus avancees jusqu'au mois de mars 94)
Encombrement dans la partition C: 900 Ko
Encombrement dans la partition Unix: 12.5 Mo


I) Installation du noyau Unix
   --------------------------

D'abord il faut installer un noyau Mint, et ce qui va avec, afin de pouvoir
profiter du driver MINIX.XFS qui permet d'acceder a une partition Unix.
(MiNT peut s'utiliser sans partition Unix, mais ce serait dommage de
 ne pas faire de vraies sessions Unix)

N'hesitez pas a virer votre version de Multitos (moi je ne sent pas
de difference entre MiNT et Multitos, a mon sens Multitos=Mint+AES)
Neanmoins, vous devez savoir que ce noyau (1.08) a un petit defaut,
il refuse de prendre en compte CDROM.XFS! Si vous avez un CDROM, je
vous conseille de garder le noyau 1.04 (livre d'origine avec Multitos)
a portee de la main (meme le noyau 1.10 a ce defaut!). De meme, si vous
n'avez pas de 68030, utilisez votre noyau 1.04.

En decompressant le fichier mint030.zip sur le drive C:, vous aurez
tout ce qu'il faut, et quelques petits trucs en plus...

Des lors, il est possible de fonctionner dans plusieurs modes:

Dans le dossier C:\AUTO, le noyau MiNT 1.08 (optimis pour 68030)
peut prendre 2 noms differents:
	- MINTNP.PRG        MiNT actif en mode memoire non protegee
	- MINT.PRG          MiNT actif en mode memoire protegee
(Je ne compte pas les noms avec extension .PRX signifiant l'inactivite)
L'accessoire MULTITOS.CPX permet de modifier ces noms tres facilement.

Attention: Dans un premier temps NE PAS UTILISER LE MODE MEMOIRE PROTEGE
Certains programmes violent les limites de la memoire qui leur est
normalement attribuee, par exemple un player de .MOD comme UTRACK...
Le programme PRGFLAGS.PRG sert a modifier la nature de la memoire liee
au processus. On peut autoriser des acces, normalement interdits, a
cette memoire. Lire la documentation PRGFLAGS.DOC pour en savoir plus.
Si un programme ne marche pas en mode protege, evaluez vous meme s'il a
le droit d'avoir une memoire non protegee, ou si un autre processus doit
avoir sa memoire non protegee pour autoriser l'acces au process qui plante.
Mais dans un premier temps, n'utilisez pas le mode memoire protegee
car vous ne feriez plus la difference entre un vrai bug et un petit
probleme de violation memoire, voulu ou non voulue. Dans ce mode
ALERT.ACC est utile pour avoir un signalement d'erreur dans une fenetre.
Remarque: Le GEM en ROM peut provoquer des erreurs de violation memoire.

Dans le dossier C:\MULTITOS, le fichier de configuration MINT.CNF peut
etre utilise pour utiliser Mint:
	- sous TOS, que du texte quoi... (moi je ne m'en sert pas, j'aime GEM!)
		Neanmoins, les commandes "gem" ou "bootgem" provoquent le demarrage
		du GEM en ROM (voir mode ci-dessous).
		(renommer le fichier SANSGEM.CNF en MINT.CNF pour utiliser ce mode)
	- sous GEM AES 4.1 (fichiers GEM.SYS et AVECGEM.CNF fournis)
		avantages:
			GEM multitache rapide
			Fenetres iconifiables
			Accepte les resolutions Falcon les plus farfelues
			Marche ne mode memoire protegee
		inconvenients:
			Bouffe 500ko de RAM!
			Les noms de fichiers contenu dans les fenetres doivent
			  souvent etre mises a jour manuellement avec Escape
			  lorsque l'on modifie les fichiers sans passer par GEM.
		(renommer le fichier AVECGEM.CNF en MINT.CNF pour utiliser ce mode)
	- sous GEM en ROM (fichiers OLDGEM.PRG et OLDGEM.CNF fournis)
		avantages:
			Ne prend pas de place! 3.8 Mo de RAM libre!!!
			(Utile pour certaines compilations C++ gourmandes en memoire)
			Ultra-rapide
		inconvenients:
			Pas multi-tache...
			ALERT.ACC ne doit pas etre utilise, sinon ca plante...
			Ne peut pas etre utilise en mode memoire protegee.
		(renommer le fichier OLDGEM.CNF en MINT.CNF pour utiliser ce mode)

Une des raisons pour garder GEM, est la manipulation des fichiers qui
se trouvent sur la partition Unix (Il faut que MiNT soit actif, sinon
la partition semblera vide et une protection speciale empechera le
bureau GEM d'ecrire dedans -vital- ).
En effet, bien que les fichiers apparaissent sous une forme tronquee (8+3),
en realite ils ne le sont pas, donc vous pouvez, lire (avec GEM AES 4.1,
par l'intermediaire de VIEWER.APP, un double clic pour lire un fichier
permet d'avoir le fichier dans une fenetre multi-tache et independante,
permettant par exemple de comparer 2 fichiers cote  cote), supprimer,
copier (pour des copies avec respect des noms de fichier, neanmoins,
vous devrez utiliser une commande unix du genre "cp -r tree1 tree2")
pour faire des copies fidles, et un appel sous unix pour excuter un
fichier.


II) Installation de la partition Unix
    ---------------------------------
    
Bon lancez le noyau en mode non protege, avec l'AES 4.1 en marche.
(si vous venez d'installer les fichiers, et que vous n'avez rien
 touche, vous etes dans cette situation: mintnp.prg dans c:\auto,
 et c:\multitos\mint.cnf = avecgem.cnf)

Utiliser la resolution falcon qui vous plait le plus (meme les plus
colorees et les plus farfelues, ne vous genez pas!). 

Si l'AES 4.1 a fonctionne les fenetres seront iconifiables (triangle
en haut a droite). En cas d'echec, neutralisez les accessoires .ACC et
les programmes du dossier AUTO. Il est recommand de copier MINTNP.PRG
en premier dans le repertoire AUTO, pour qu'il soit excut en premier.

Cration de la partition Unix:
-----------------------------

Il faut isoler une partition TOS qui deviendra une partition Unix.
Prvoir au minimum 20 Mo. Occupation reelle:12,5 Mo.
Personnellement j'ai une partition Unix de 25 Mo sur le drive E:.

Dezippez TAR.ZIP et MINIT.ZIP qui contiennent les programmes TTP utiles.

lancez n'importe ou le programme MINIT.TTP
avec les parametres suivants:
"-V -P -n 2 e:"
V et P en majuscule, et dans cet ordre!!! (remplacer e: par votre drive)
-V pour beneficier de la derniere version
-P pour empecher le GEM d'ecrire dans la partition en croyant ecrire dans
    une partition TOS (mais certains programmes pourront toujours ecrire
    de force dedans, donc attention et faires souvent des sauvegardes)
    lorsque mint est inactif. Conseil: ne montrer par la partition sur
    le bureau. Utilisez plutot le peripherique U: sur le bureau pour
    y acceder, ca reduira les risques...
-n 2 pour avoir des noms de 30 caracteres de long maximum (suffisant!)

Faites un reset de la machine. Maintenant vous pouvez ecrire ce que
vous voulez dans la partition Unix (Mint doit etre actif).


MFSCONF.TTP permet de regler quelques parametres pour l'interaction
programmes TOS<->partition Unix
exemple:
	mfsconf e: -l n -s n							(alias 'mu')
	pour unzoo respectant majuscules et minuscules

	mfsconf e: -l t -s t							(alias 'mn')
	pour acces autorise depuis GEM sous Mint, avec respect des
	majuscules/minuscules (mais toujours tronquage a l'affichage)
	c'est le mode que je prefere: tout marche bien

(Vous faites pas de bile, lors d'une session Unix sous tcsh
 mon fichier cshrc.csh, script de demarrage, fera ce qu'il faut...
 Les programmes minit,mfsconf,tar et fsck seront presents dans les
 commandes Unix installes dans la partition Unix, vous pourrez
 effacer MINIT.TTP, MFSCONF.TTP, FSCK.TTP et TAR.TTP apres usage)

FSCK.TTP permet de verifier si la partition Unix est dans un etat 
coherent (depuis que j'utilise une partition Unix, je n'ai jamais
releve d'incoherences, le driver minix.xfs fourni semble etre
tres sur...). Utilisation: fsck e:
Cela ne veut pas dire que la partition est sure! Si vous n'activez
pas Mint et que vous lancez un programme folklorique qui veux absolument
ecrire dans la partition Unix (croyant que c'est une partition TOS),
vous perdrez tout. Exemple: dezipper une archive sur la partition
Unix lorsque Mint est inactif... Donc soyez prudents... Si vous le
pouvez, laissez toujours Mint actif.


Remplissage de la partition Unix:
--------------------------------

TAR.TTP permet de "detarer" des fichiers .TAR, un format celebre sous
Unix qui contient toute une arborescence Unix, avec des noms de fichiers
qui peuvent etre parfaitement farfelus (finie la contrainte 8+3!!!)...

Copiez TAR.TTP sur la racine de votre partition Unix. Il vaut mieux
acceder a cette partition par le drive U: (le driver controle mieux
ce qui se passe, et fait les traductions qu'il faut \->/ etc...).

De-zippez ROOT.ZIP pour obtenir ROOT.TAR et placez ce fichier au meme
niveau que TAR.TTP a la racine de la partition Unix.
Lancez TAR.TTP avec comme parametres "-xf root.tar" (de-tarage)
(le tarage, ou concatenation se realise avec "tar -cf f.tar repertoire")

Remarque:	Cette version de TAR est la seule que je connaisse qui respecte
			les majuscules et les minuscules, ainsi que les droits d'accs
			aux fichiers. Nanmoins, un petit bug provoque l'affichage de
			messages d'erreurs sans importances  propos des rpertoires...
			(impossible de modifier la date et l'heure pour les rpertoires)
			Ignorez ces messages et surtout ne perdez pas cette version!

			lha et zoo (alias unzoo), permettent de decompresser des
			fichiez .lha,.lzh ou .zoo en respectant les majuscules,
			minuscules, et les noms de fichier etendus. Toutefois ils ne
			permettent pas de compresser. Pour compresser et archiver
			tar reste la seule solution. Un fichier .tar n'est pas
			compresse, donc ensuite il faut zipper le fichier ou plus
			simplement utiliser la commande Unix "compress f.tar" qui
			donnera un fichier compresse "f.tar.Z". L'inconvenient
			de ce format est que ce nom de fichier comporte deux points
			et donc il faut le "deguiser" en .tz par exemple pour
			qu'il puisse passer sur des disks au format MSDOS.

Faites descendre TAR.TTP d'un niveau et placez le dans le dossier USR.
Effacez root.tar.

Placez, de-zippez et de-tarez, un a un les fichiers USR0.TAR a USR7.TAR
dans le repertoire USR (j'ai bien dit DANS LE REPERTOIRE USR!!!).
Effacez les .TAR et les .ZIP au fur et a mesure sous peine de saturer
la partition!

C'est fini, pret a l'emploi...


III) Utilisation
     -----------
     
Allez, encore un petit reset...

Placez TOSWIN_W.PRG du repertoire MULTITOS, sur le bureau pour avoir
acces au programme facilement (vous pouvez meme rendre son lancement
automatique: dans "installer une application" -> lancement automatique).

Normalement en le lancant, vous devriez obtenir un tcsh pret a l'emploi
dans le repertoire /usr/users/gl. Si le shell tcsh ne trouve pas
le fichier "cshrc.csh", c'est parceque le repertoire courant de depart
n'est pas /usr/users/gl. Dans ce cas, il suffit de taper la commande
"source /usr/users/gl/cshrc.csh".

Si rien ne se passe (configuration de TOSWIN_W perdue), allez dans le menu,
et clickez OPEN STD WINDOW, et allez chercher /bin/tcsh dans la
partition Unix. Dans MINT.CNF la variable d'environnement HOME pointe
sur /usr/users/gl ou se trouve cshrc.csh. Vous pourrez sauvez la
configuration de TOSWIN_W pour qu'il lance tout seul le tcsh au demarrage.

Si tout marche au poil, parcourez les fichiers MINT.CNF, GEM.CNF du
repertoire MULTITOS, le fichier cshrc.csh, afin de personnaliser vos
propres sessions unix, creer votre propre compte...

Pouquoi tcsh? Ce shell permet de rappeler et d'editer les precedentes
commandes en pressant la touche flechee qui monte. Il permet aussi et
surtout, de faire completer automatiquement les chemins d'acces que
vous ecrivez en pressant la touche TAB (ex: vous tapez /usr/us et
pressez la touche TAB, la suite s'inscrit d'elle-meme!: /usr/users/ )
Voyez le fichier cshrc.csh pour les autres avantages... (Doc en /usr/doc)

Pourquoi TOSWIN_W ? On peut parametrer plein de chose, faire des pseudo
raccourcis clavier avec les fichiers textes *.MNU, et faire du copier-
coller sur le modele des stations de travail: selection de texte avec
le bouton gauche et recopie du texte sur la position du curseur avec
le bouton droit! (Doc en /usr/doc)


Bon, a vous de jouer!

Comme premiere commande Unix, essayez "man man"

Pour compiler le petit programme C++ du rpertoire exemple essayez "make"
(Il faut beaucoup de mmoire: evitez de charger des accessoires gourmands
 et au besoin utilisez le GEM en ROM pour atteindre 3.8Mo de Ram libre.
 Le manque de mmoire peut provoquer des erreurs pendant la compilation)



IV) Environnement multi-utilisateur
    -------------------------------

On peut aller plus loin, et installer des fichiers supplementaires
pour permettre des sessions protegees par un nom d'utilisateur et
un mot de passe. Plus tard il sera meme possible d'accepter des
session dues a des connexions depuis l'exterieur (modem, minitel, etc...)

Pour faire de l'Unix multi-utilisateur vous devez ajouter et installer
les fichiers qui se trouvent dans MULTIUSR.ZIP (contient un .tar a detarer
a la racine ou dans un compte temporaire si vous voulez d'abord examiner
les changements qui seront apportes).
Notez que pour utiliser tous les avantages du multi-utilisateur
il va falloir faire l'effort de fonctionner en mode memoire protegee!

Une fois les fichiers installes, changez le mode de fonctionnement
de MiNT en renommant le fichier MULTIUSR.CNF en MINT.CNF (au total ca
fait 4 modes possibles!). Puis faites reset! (mais AVANT assurez vous
que vous avez la disquette Langage de votre falcon pour pouvoir booter
a partir d'une disquette si vous etes coince au moment du boot !!!).

Ce 4eme mode ressemble au premier: pas d'interface graphique, on reste
au niveau du TOS, donc que du texte. Si les droits d'acces le permettent
les commandes "gem" ou "bootgem" pourront lancer le GEM en ROM. Mais
si cela arrive, on perd la main dans la session (a interdire avec un
"chmod 700 gem.prg bootgem.prg" !). Mais en fait il doit y avoir d'autres
failles, cherchez les, par exemple, en essayant de detruire les fichiers
du repertoire gl lorsque vous vous logguez sous un autre nom (pas root!).

Remarque importante: les commandes unix tiennent compte des droits
d'acces des fichiers, sauf 'rm' et 'rmdir' qui ne tiennent compte que
des droits d'acces du rerpertoire contenant les fichiers ou les
repertoires a effacer... Si les droits du repertoire autorisent 
l'ecriture, un utilisateur peut effacer tous les repertoires et les
fichiers a ce niveau, meme si les droits de ceux-ci lui interdise
de le faire!!! (Faites donc attention aux droits des repertoires!!!).
1ere faille: le pertoire e: lui meme a une protection nulle 'drwxrwxrwx'
ce qui autorise n'importe quel utilisateur a ecrire des fichiers a la
racine. Surtout ne pas modifier ces droits, cela provoquerait des
problemes lors de l'ecriture dans /tmp. De plus, malheureusement,
un utilisateur peut faire "cd U:","rm -r e",ce qui aura pour effet
une tentative recursive d'effacement, et tout repertoire non protege
se verra vide de tous ses fichiers et de tous ses repertoires vides!!!
C'est pour cela que cshrc.csh contient la ligne "umask022" qui permet
d'indiquer, que par defaut, tout repertoire ou fichier cree aura les
droits "drwxr-xr-x" ou "-rw-r--r--". De plus, j'ai fait attention,
tous les repertoires installes dans ce kit sont proteges...

Une autre faille consiste a lancer un programme qui porte le bit
'set user id' (droits '-rwsr-xr-x') et a prendre la main a l'interieur.
En lancant un debugguer par exemple sur un programme de ce genre 
appartenant a root, lors d'une erreur, on peut prendre alors la main
dans le debugguer et avoir les droits de root... Une passoire cet Unix!!!

Derniere faille, si on se trouve en mode memoire non protege, un utilisateur
peut faire planter tout le monde. Malheureusement bcp de programmes
plantent en mode memoire protegee, et je n'ai pas reussi a faire du multi-
utilisateur en mode memoire protegee! (plantage le plus simple: lancement
d'une application GEM! J'ai fait chmod 700 sur tous ces fichiers).
Il faut utiliser PRGFLAGS sur les bons excutables... Je ne connais pas
assez leur fonctionnement pour les reprer... (PRGFLAGS marche mal
sur une partition Unix, mais vous pouvez le bluffez en deplacant
temporairement les programmes a modifier dans le domaine TOS)
(Si vous reprer les excutables  modifier, prvenez moi! Il est
 possible que /etc/getty comporte un gros bug... affaire a suivre)

Pour les details voyez la documentation /usr/doc/multimnt.txt.

Le fichier /etc/passwd contient la liste des utilisateurs.
Il y a un champ pour le mot de passe (cree avec la commande "passwd").
Au depart le compte 'root' n'aura pas de mot de passe, vous devrez
le creer. Il y a un champ pour indiquer le chemin d'acces vers le
compte de l'utilisateur et un dernier pour indiquer le shell qui sera
lance lors du login (prevoir un fichier du genre 'cshrc.csh' dans le
compte de l'utilisateur).

Remarque: il est possible que vous soyez bloque. En effet, des que
le falcon boote, il faut le mot de passe, ou alors on ne peut rien faire
si ce n'est booter a partir de la disquette langage fournie avec le falcon
et lancer AHDI.PRG pour avoir acces a la partition C...

Pour quitter ce 4eme mode multi-utilisateur, il faut changer le fichier
MINT.CNF pour passer dans un autre mode, ou alors renommer MINTNP.PRG
en MINTNP.PRX (ou MINT.PRG en MINT.PRX en mode protege). Pour cela 
n'hesitez pas lancer le GEM en ROM avec les commandes "gem" ou "bootgem".

Les fichiers rc, rc.boo, rc.loc, rc.sin du repertoire /etc permettent
de lancer les process que vous voulez pendant l'initialisation, le
fichier MINT.CNF permet de donner un nom a la machine (setenv HOSTNAME)
pour personnaliser le boot (mettre un nom sympa de machine, a la place
de "MonFalcon"). Le fichier motd contient le message de bienvenue.

A vous les plaisirs de 'who', 'write', etc...


Possibilite de connexion depuis l'exterieur:
-------------------------------------------

Les fichiers NET-022.TZ, NET-UTIL.TZ, TERM-108.TZ semblent contenir
ce qu'il faut pour realiser ces connexions. Je vais les examiner
de plus pret... Je pourrais peut etre faire un disk supplementaire
pour permettre l'installation de la gestion de reseau clef en main!!!
(Mais pour ca, il faudra que je m'equipe en materiel...)	




Avec cet environnement de base vous pourrez exploiter le nombre important
de fichiers qui arrivent chaque jour sur internet, en DP, et qui font
evoluer progressivement Mint vers Unix...

Voila c'est tout, amusez vous bien.

Guillaume LAMONOCA
7 allee lucien mazan
13500 MARTIGUES

Bal GL sur rtel,stmag ou joystick
