MiNT is Now Tos !
I - Introduction
II - MiNT features(hardware and software)
III - Distribution project
IV - How ??
V - The future ?
I - Introduction
MiNT Is Now TOS :
MiNT is an extension of TOS (Atari computers) operating system that add UNIX features .
MiNT was the project of a student on the late 80's: Eric Smith (who made GCC port on Atari computers), later, in 1994, Eric Smith was an employee at Atari Corp. And MiNT was a part in software package of Atari computers. Now, MiNT code source are part of public domain and are increased performances.
TOS Extension ?
When MiNT v1.04 was released, the kernel did many walls to the BIOS and XBIOS (68000 Traps). It seems that the most recent versions, as MiNT v1.5.x does calls to TOS less and less, to make MiNT most independant as possible.
MiNT is now considered as an independant OS. MiNT features are:
- Pre-emptive multitasking
- Memory protection for processor with MMU
- Virtual root filesystem with /proc, /dev, /pipes, /shm
- Named pipes (/pipe/) and shared memory (/shm/).
- Signals and simple messages
- Shared binaries
- loaddable file-systems
- loaddable devices
With GCC and MiNTlib (FSF GNU ANSI-C Compiler and library ports), ), the majority of the UNIX sources are compiled without great difficulties. MiNTlib integrates BSD and SysV with POSIX functionnalities.
Kay Romer has made MiNTNet programs which include MiNT socket device, TCP/IP networking OS routines and programming libraries, SLIP and PPP protocols. But also basical UNIX network utilities. Here are some devices/driver managed by MiNT :
- Dynamic ramdisk
- Audio device (/dev/audio)
- CD-filesystem (ISO 9660)
- Raw floppy device (/dev/fd0, /dev/fd1)
The MiNT kernel integrates interfaces for standard devices (console, keyboard, mouse, parallel, serial and midi) External file systems and device drivers are loaded at the MiNT startup.
Some softwares are ported on it, but unfortunately there is no colored X server ! Il existe d'autres interfaces graphiques disponibles comme W11R3 (W window system) et quelques freeware en beta, clones d'AES (surcouche graphique GEM de l'Atari), comme XAAES, oAESis.
NAES is commercial product but is an excellent AES replacement for MiNT (fast and robust).
To better understanding how MiNT works, I suggest to you a diagram of the MiNT layers :
II - MiNT features
Softwares coming from UNIX world is numerous, here is a little list:
Bison, bzip2, ctags,GNU awk, gifmerge, gnuplot, grep, leave, m4, Midnight commander 4, minicom, pgp263, pilot (PalmPilot connection), tar, term, uuende (uuencode/uudecode), whois, xargs
adduser, shutdown, toggle, mpegaudio (player mpeg), mpg123 (player MP2, MP3), musicin ( MP2 encoder), s3mod (.MOD player), sox (idem), emacs (The editor), joe (editor), jove (editor), diffutils (to patch), fileutils, find, less, make, patch, textutils, gnushogi (games), tetris (games), GhostScript 3.53, gemgs, bash 2.02, ksh, sh, tcsh, zsh
crond, httpd, httpd-apache, ftpd, ircd, lprd, nntpd, pop3d, pppd, qpopper, vconsld.
DRIVERS (Devices) :
audiodev (/dev/audio), multi-raw (raw floppies), lpdev (parallel port), hsmoda07 (RS232)
DRIVERS (Filesystems) :
Minixfs, amiga-fs, ext2fs, nfs, fnramfs, ramfs, spin (cdromfs)
GEM Applications designed for MiNT :
GEM-init, TOSWIN, V-Desk, Xaaes, aesload, freegem, gem-term, mintlogo, mintsetter, taskbar, xeyes, xtask
connexion (easy connexion to ppp), archie, dip, fspclient, gopher, micq, netcat, ssh, tcp-wrappers, tin, traceroute, land, teardrop, winnuke (heyhey :-) ), aftp, ftp, ncftp, lynx 2.8, irc, ircII, mime2AV, pine, pop3, popgem, netpbm
Network tools :
host, ping, traceroute, vrfy, etc...
gcc2.8.1, gemlib, mintlibs, ncurses, cflib, gdb, hugs, perl5.004, python 1.3, tcl7.5, xlisp2.1,
W1R3 W Window System :
w1r3, wclients, wetscape, wpente, wplayer, wt
chimera, gemx(gem emulator for X), xanim, xaudio, xbmbrowser, xcjomp, xdemin, xdci, xfm, xgoldig, xhextris, xisola, xjewel, xlogo, xmango, xmaze, xmgt, xpipeman, xroach, xsnow, xsol, xspread, xswarm, xtetris, xtron, xv3.01, xview, fvwm
Who can doubt the capacites of such an operating system ??. Certainly not those which use it. They know that MiNT is an excellent development platform but can also transform powerful compatible Atari like Milan or Milan II to a HTTP server, ftp server, mail, news, or even IRC server .
After the DTP, the music, Atari discover that it can manage servers and place themselves directly in competition with other Linux solution on PC. This is what explains the high quantity of ports made on MiNT, because it is the first compatible TOS OS with an UNIX architexture, and UNIX applications are executed more quickly under MiNT than under Linux68k.
So Atari users prefer MiNT to Linux68k, many configuration softwares under GEM environment make it possible to kick off X11 : too slow on 68030.
The dark point being that at the moment having MiNT system completed is more difficult than installing the first Slackware Linux... The lack of commercial rigour led to the following report:
THERE IS NO VALID DISTRIBUTION FOR MINT
III - MiNT distribution project
These last years Linux is becomed reliable, from the simple workstation to the big server. Why such success? Well, Linux is free, but the roots of this success is the richness of the packages gathered in a same distribution. The perfect integration of all the packages in the system thanks to reliable installation system, easy to use. Whereas 5 years ago, Linux was still reserved to PowerUsers, the installation is now intuitive. What happen does for MiNT on Atari? MiNT shows at present all the advantages of a modern UNIX as well as FreeBSD or Linux, as we saw previously the problem of MiNT, it is that it own already a distribution: the distribution KGMD (Knarf German Mint Distribution), which show the advantage of any distribution : the installation of the packages in a same system but also of serious disadvantages like:
- Packages are too old (many goes back to 1994)
- Some important packages are missing (apache, ftpd, lynx, etc...)
- An installation procedure too oldschool, it is hard to large majority of users: no main menu, it looks like this fucking xf86config now replaced by XF86Setup :) )
- Drivers of FileSystems or devices are missing.
- Documentation is uncompleted (there is only man, no HOWTOs as under Linux)
- Optimization of the packages is missed, all is compiled for 68000, whereas for some applications, it can be interesting to use the FPU.
Each disadvantage is an argument for the creation of a MiNT distribution. Let us simply start from the observation that all the types of applications and documentations are available for MiNT, but they have NEVER been gathered!!!!
In theory, all the Linux applications are recompilables on MiNT.
Where to start ??? First of all, don't remake the errors of the past, it is necessary TO STANDARDIZE.
In the MiNT world MiNT, some people have started work ,as Frank Naumann (MiNT kernel hacker) in the way of standardization.
I think to the SpareMiNT project, available on the web page of Frank Naumann (www.cs.uni-magdeburg.de/~fnaumann /) SpareMiNT give in downloading something like 800Mo of packages in RPM format. RPM (Redhat Package Manager) utility allow an easy installation and management of the packages in rpm format.
A RPM database make possible to know the packages already installed and allow a management of the dependancies between the others packages. The significant number of the packages available on the site of SpareMiNT allow the constitution of a custom system .
We can't waste the work already made.
The RPM is reliable and is the origin of successes to great Linux distributions such as RedHat, Mandrake, SuSE or Caldera OpenLinux.
The problem is that SpareMiNT has installation tool, neither graphic configuration tools, nor even documentations. The creation of a new distribution will be based on the use of RPM format, and will have all the necessary configuration tools.
IV - HOW ??
It appears logical to make a new distribution to adopt the following steps:
Create a SpareMiNT installer tool. It will give different profiles of installation (minimum installation, full installation, custom installation, etc...) and would allow a SIMPLE and INTUITIVE installation with an interface GEM (AES).
Create a configuration editor : a tool similary to Controlpanel in Linux RedHat, allowing the kernel configuration , the network configuration , the management of user accounts, the server configuration.
Sort and gather all the packages available and convert them to format RPM, if not already done.
-> At this Stage, we should obtain a functional version of the distribution.
- Recompile each package with the options of optimization for 68030, 68030+FPU, 68040 and 68060, in the case of a special distribution for G4 processor, all the MiNT software be recompiles for G4 and benefit natively of the power of G4.
- Write documentations like HOWTO documents on Linux. As on Linux, HOWTOs will have to exist in HTML, ASCII, and PostScript formats.
The SpareMiNT installer :It will be the subject of a schedule of conditions with many PRECISIONS and DESCRIPTION according to the notices of each member of the development team. I have think has a system of installation like on the slackware linux, allowing with a main menu to choose the SOURCE media for installation (CD-Rom, HardDisk, Floppies,NFS, etc...), to choose the destination among the disks available and the type of partition (minix or ext2). The selection of the packages must be able to be made in an individual way for each one of them (custom installation) or well in an automatic way :
- minimum installation
- all packages installation
A la fin de l'installation des packages, l'utilisateur devra pouvoir selectionner les drivers qu'il veut utiliser (drivers CDROM, Carte Reseau, SLIP, PLIP, son , etc...), et pour finir l'installation, le configuration editor sera lance .
All this will be detaille and complete when the schedule of conditions of SpareMiNT INSTALLER will be made.
The CONFIGURATION EDITOR:
It will be a kind of controlpanel (as on RedHat linux), allowing the modification of the file mint.cnf (configuration of the kernel) and of the whole of the files in the /etc folder. It will be necessary to write a schedule of conditions like for the Sparemint installer in order to make a nearly perfect tool. CONFIGURATION EDITOR must be most complete as possible giving maximum of configuration
Packages:It is the part the most difficult to organize and which will perhaps show the most of problems. The distribution must integrate the maximum of packages and the MOST RECENT ones. To know the list of the programs which will have to be present in the distribution, I suggest to observe the architecture of a Linux slackware distribution CD. We will see in a first time what we need, and we will draw up a list complete by CATEGORIES, the classification will look like this:
The integration of an application will be the topic of a study and a discussion between the members of the development team.
- /A basic System for MiNT, the contents of this category is sufficient to be able to start and to have the communication programs.
- /AP This category contains the applications more needed by MiNT, including/understanding various applications and complements such as the online handbook, groff, ispell, Joe, jove, ghostscript, Sc, etc...
- /D All that relates to the software development (GCC,gas, etc...)
- /F FAQ various and HOWTOs
- /K All that relates to the kernel, source and Doc.
- /M Multimedia
- /N All that relates to the network applications (ping, telnet, etc...)
- /WWW All the relative applications has Internet (IRC, lynx, pine, etc) but also all that is server (apache, ftpd, etc...)
- /extra Applications not relating to the pure UNIX part (applis GEM(AES), etc...)
- /Y Games
- /OPT Optional packages, contains the packages which can replace certain packages of the distribution. For example EGCS instead of GCC
If an application is currently not available on MiNT but that it is it under Linux, it will be recompiled and if the recompilation does not work, A modifications of the source code will be planned to carry the application under MiNT. Each minor modification of the source code will be refered to the original author of the modified application.
The recompilation of each application with the options of optimization for each type of processor would mean that we will have many binaries such as:
by ex for apache:
- Apache 68030+FPU
- Apache 68040
- Apache 68060
The arguments against a systematic recompilation for all types of processor would be:
Crosscompilation will be used, even in the case of a machine containing G4 processor, crosscompilation is possible from any computer with a POSIX system and running GCC, to generate code m68k or G4 executables under MiNT. The advantage would be an enormous saving of time.
- That will take much time.
- It is not always effective
Organization of the development team:
The Most important is that each one finds its place in the team according to his skills. We need programmers, translators, documentation writers, and testers. Each member must have a positive and professional behavior. The deadlines must be respect, each delay will underline a problem in the organization, regularly meeting on the web will be made. For a better organization, we will use us a mailing list, the communication is the base of any project. A ftp server will save the work of each one and will be regularly updated.
V - The Future
If I speak about future, it is because I think that the 68k platforms will desapear one day, even if computers like Milan or Milan II are sold or will be sold. But the future for Atari users, is in my opinion the same one that of Amiga or Mac computers : PowerPC motherboard. I think to the machine of siliconfruit, RioRed G4, I know (because I read the newsgroup, same if I do not write anything inside, I do not want to use my fingers for this kind of shit, I prefer to produce code: -) that many Atari users would be numerous to buy a RioRed G4, if MiNT is adapted to G4, some people speak about PowerMiNT...
But I am sure that there will be no PowerMiNT if there is nothing beside, I want that if the statute of MiNT does not change quickly (no valid distribution, no commercial rigour, no documentations, etc...), NEVER somebody will want to invest in an expensive port of MiNT if there is no market. That is why this distribution is important for the future, because to port MiNT on G4 is possible, largely possible, several solutions are possible, to think about the future, it is often necessary to look at past In the past, MiNT was existed on Macintosh 68k, MacMiNT was even the first free UNIX system for Macintosh. Because of the calls to Xbios and Bios made by the kernel of MiNT, MacMiNT runs thanks to an underlayer called JET (Just Enough TOS), a kind of TOS emulator containing only the 68k traps necessary to run MacMiNT. With MacMiNT, we could launch the Atari software in text mode (TOS, TTP) on Mac, All of this in multitasking of course!. But it is not all, MacMiNT was launch from a simple window of MacOS Finder like any macintosh application! Does RioRed want to be a Linux BOX? Then it will be a linux BOX, but it would be nice to think about the implementation of MiNT either under Linux, or in cohabitation with Linux. Hehe,I have already a small idea, it initially imperative to work on this distribution 68k.
MARTINAUX Franck firstname.lastname@example.org