# ---------------- FreeMiNT configuration file ---------------------
#
# The mint.cnf file is loaded, when the entire system is practically
# up, all device drivers and filesystem drivers have been loaded etc.
# If you want to control earlier settings, see mint.ini file.
#
# Edit this with a normal ASCII text editor. Lines starting with '#'
# are comments. Other lines are commands for MiNT to execute at boot
# up, or variables that control how MiNT behaves.

# NOTICE: as of FreeMiNT 1.16.0, the format of most keywords has
#         changed. Old keywords are still supported, however, you
#         cannot use this configuration file for older versions
#         of MiNT!

# The term `sysdir' we use here is short for `system directory' and
# means the directory, where you keep your mint.cnf file, your
# modules (XFS and XDD files) and other such system binaries. The
# sysdir value is usually u:/c/mint.
#
# For clarity, it is assumed all over this example file, that your
# boot drive is C:, and, if you have installed SpareMiNT distribution,
# that your SpareMiNT drive is E:. Note, that if you have installed
# SpareMiNT, you can refer to your sysdir as u:/boot/mint/

#
# -------------------- ACTUAL CONFIGURATION -----------------------
#

# Set current working directory to u: respective /
#
# FreeMiNT 1.16 does this automatically, this line is only required
# on previous versions (also on 1.16 alphas compiled before second
# half of July 2004).

#cd u:/

#
# ------------------ mint.cnf parser commands ---------------------
#

# The '#' sign at the begin of the line means that a comment follows.
# The entire line after the '#' sign will be ignored by the parser.

# The "set" directive controls the behaviour of the mint.cnf parser.
# It accepts one of three parameters:
#
#set -q - silent output (+q for verbose output)
#set -v - print command lines (+v don't)
#set -c - control interpretation of escape sequences

#set -q

# The include command allows you to include other files while the
# mint.cnf file is being interpreted. The included file will be
# interpreted as a part of the mint.cnf file.

#include u:/c/mint/vars.cnf

# More commands follow.

#
# ---------------------- Kernel settings --------------------------
#

#
# Here are things you can change if you want to. There are reasonable
# defaults for all of these.
#

# KERN_SLICES controls how long a process may run before being
# interrupted. The number means an amount of 20 ms time intervals.
#
# The default value (2) is usually best, but if you tend to run
# very processor intensive applications in the foreground, you might
# want to put KERN_SLICES=3 (this makes CPU hogs get more time than
# they otherwise would).
#
# The smaller the KERN_SLICES value, your processes have faster
# response time but the general performance is worse. Very fast
# machines however, may benefit from setting 1 here.

#KERN_SLICES=2

# KERN_DEBUG_LEVEL controls output of global debugging information.
# The higher the level, the more stuff MiNT will spew about about
# what it's doing.
#
# The average user doesn't want to hear about this stuff, so the
# default is 1, i.e. display ALERT messages only. Note that you need
# a debug kernel to get more: normal kernels do not contain so much
# debug information.
#
# KERN_DEBUG_DEVNO is the BIOS device number to which the info
# should be sent.
#
# Devno can be: 0=printer, 1=aux/modem, 2=screen (console), 3=midi,
# 4=keybrd, 5=raw.
#
# The default is the console.

#KERN_DEBUG_LEVEL=1
#KERN_DEBUG_DEVNO=2

# KERN_BIOSBUF controls how BIOS I/O is performed. Normally, MiNT
# tries to buffer this to provide a (considerable) improvement in
# speed. However, some applications may get upset by this.
#
# KERN_BIOSBUF=NO turns off all buffering for maximum compatibility.
# The default is YES.

#KERN_BIOSBUF=YES

# KERN_SECURITY_LEVEL= enables the appropriate security level:
#
# 0 - recommended for single user setups, like MultiTOS (default).
# 1 - recommended for multiuser setups, like KGMD.
# 2 - full protection, unsupported by software, thus discouraged.

#KERN_SECURITY_LEVEL=1

# KERN_MPFLAGS controls the memory protection behaviour. Its argument
# is a bitfield. Only the bit 0 is defined: 1 means, that more strict
# model of the protection should be enabled. Some programs may
# refuse to run, so the default is 0.

#KERN_MPFLAGS=1

# TPA_FASTLOAD=YES forces fast loading (without zeroing all the
# memory) for all programs. This defines a default state, that can be
# modified later via appropriate kernel calls (use MiNT Setter
# utility to toggle it later when neessary, without reboots).
#
# TPA_FASTLOAD=NO (default) means that the information from the
# program header will be used to decide (this is like TOS does).

#TPA_FASTLOAD=YES

# Set maximum additional TPA size for new processes
# (in kilobytes). The default is 1024. Better keep it low (1024 is
# what we call low) if your machine has 4 MB RAM or less.

#TPA_INITIALMEM=4096

# FS_NEWFATFS= enables the new FAT filesystem driver for selected FAT
# filesystems. The old TOS FS will be used otherwise.
#
# The default depends on whether the TOSFS driver is compiled into the
# kernel or not. If it is, all drives are TOSFS by default. If not,
# all drives are NEWFATFS by default and this keyword has no effect.

#FS_NEWFATFS=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,V,W,X,Y,Z

# FS_VFAT= enables VFAT extension for selected drives specified in the
# FS_NEWFATFS= command. The VFAT extension is disabled by default.
#
# If you use both TOS and MiNT, better don't enable VFAT extension
# on your boot drive.

#FS_VFAT=D,E,F,G

# FS_VFAT_LCASE=YES tells the kernel to return lowercase filenames
# from VFAT directory searches. The default is NO.

#FS_VFAT_LCASE=YES

# FS_WB_ENABLE= enables write back cache for selected drives. The
# write back cache is disabled by default. Also, it does not have
# any effect for TOSFS drives.

#FS_WB_ENABLE=C,D,E,F

# FS_CACHE_SIZE= specifies the size of disk cache in kilobytes for the
# internal caching module. Default is 128.

#FS_CACHE_SIZE=4096

# FS_CACHE_PERCENTAGE specifies the size of the disk cache (in
# percents) to be filled with linear reads. The default is 5.

#FS_CACHE_PERCENTAGE=10

# FS_UPDATE= set update time for system update daemon in seconds
# default is 5, it isn't recommended to use a value less than 4.

#FS_UPDATE=10

# Software write protection on filesystem level.

#FS_WRITE_PROTECT=R,S

# FDC_HIDE_B= tells the MiNT to remove floppy drive B: from the
# system.
# It is useful on single floppy systems to get rid of "Insert
# disk B: into drive A:" messages from the AES. Default is NO.

#FDC_HIDE_B=YES

# PROC_MAXMEM= gives the maximum amount of memory that any process
# may use (in kilobytes). The default is to make this unlimited, but
# if you have a lot of memory and/or programs that grab more memory
# than they should, try setting this.
#
# E.g. to limit processes to 4096K of memory, remove the '#' at the
# beginning of the next line.
#
# WARNING: the process will not be allowed to allocate memory beyond
# the limit, and it won't "see" more memory as available from the
# system.
# Please understand that programs like "free" (or any other that
# interrogates the system how much memory is available) is a process
# as well, thus it will undergo this limit too!
#
# Decent shells (desktops) allow you to limit the maximum amount of
# memory independently for each program.

#PROC_MAXMEM=4096

# Three commands, that define output files for RS-232, console and
# printer devices. The argument for each one must be a pathname.
#
# For best results, the convention u:/drive/pathname should be used
# for all specified pathnames from now on.

#GEMDOS_AUX=u:/c/mint/aux.out
#GEMDOS_CON=u:/c/mint/con.out
#GEMDOS_PRN=u:/c/mint/prn.out

# End of kernel settings

#
# -------------------------- Commands ------------------------------
#

# Here are some commands that you can give to MiNT:
#
# alias d: path -- make a fake "drive" that actually points to the
#                  given path
# cd path       -- changes MiNT's default directory
# echo message  -- print something on the screen
# exec program  -- runs a program; you must give the complete path
#                  and file extensions (e.g. c:/bin/echo.prg)
# include file  -- include another portion of the MINT.CNF file.
# sln path link -- make a symbolic link named "link" pointing to
#                  "path". "link" must be on drive U: for this to work

# Examples follow
#
# Notice you have to adjust commands below for your filesystem
# structure.
#
# You could use "alias" to provide a quick way of getting at
# nested directories, e.g. if you do
#
# alias r: u:/c/some/long/path
#
# then clicking on drive r: puts you into the folder c:/some/long/path

# The "sln" command may be used to create "links" on drive U:. If
# u:/foo is a link to c:/bar, then u:/foo/foo.txt is another way
# of saying c:/bar/foo.txt. Judicious use of links can make
# re-arranging hard disks and directories painless (if you always
# use the names on drive u:, it doesn't matter where you put
# the actual directories).

# Setting up the root filesystem for UNIX environment
#
# WARNING: directories listed in the left column must really exist!

sln c:/mint/1-19-ec3/sys-root/bin      u:/bin
#sln e:/boot     u:/boot
sln c:/mint/1-19-ec3/sys-root/etc      u:/etc
#sln e:/home     u:/home
#sln e:/lib      u:/lib
#sln e:/mnt      u:/mnt
sln c:/mint/1-19-ec3/sys-root/opt      u:/opt
sln c:/mint/1-19-ec3/sys-root/root     u:/root
#sln e:/sbin     u:/sbin
sln c:/mint/1-19-ec3/sys-root/share    u:/share
sln c:/mint/1-19-ec3/sys-root/tmp      u:/tmp
#sln e:/usr      u:/usr
sln c:/mint/1-19-ec3/sys-root/var      u:/var

# Some people want also to do this:

#sln u:/pipe/pty.A u:/dev/pty.A 
#sln u:/pipe/pty.B u:/dev/pty.B 
#sln u:/pipe/pty.C u:/dev/pty.C 
#sln u:/pipe/pty.D u:/dev/pty.D 
#sln u:/pipe/pty.E u:/dev/pty.E 
#sln u:/pipe/pty.F u:/dev/pty.F 
#sln u:/pipe/pty.G u:/dev/pty.G 
#sln u:/pipe/pty.H u:/dev/pty.H 
#sln u:/pipe/pty.I u:/dev/pty.I 
#sln u:/pipe/pty.J u:/dev/pty.J 
#sln u:/pipe/pty.K u:/dev/pty.K 

# PCONVERT and UNIXMODE variables control some internals of
# MiNT Library.
#
# FreeMiNT 1.16.0 sets these two below automatically.
# Default values are as below.

#setenv PCONVERT PATH,HOME,SHELL
#setenv UNIXMODE /brUs

# Default path
#
# Default on 1.16.0 is c:/, on 1.16.1 this is the sysdir.

setenv PATH /sbin;/bin;/usr/sbin;/usr/bin

# Default path to search the SLBs (MagiC style 'shared libraries
# Default - on 1.16.0 - is the system directory (so called sysdir).
#
# Note, that FreeMiNT 1.16.0 and up will search SLBs in the sysdir
# automatically, if found nowhere else, so it is useless to
# explicitly add this here.

setenv SLBPATH /c/mint/slb

# It is advisable to set this here to a preferred name

setenv HOSTNAME saturn

# This also can be useful

setenv TMPDIR u:/tmp

# Checking filesystem if necessary
# Note: you need a correct /etc/fstab

#exec u:/c/mint/bin/sh u:/c/mint/bin/fscheck.sh
#echo

# Alternative method, if you have e2fsck.ttp in /c/mint,
# and e: is your ext2fs drive.

#exec u:/c/mint/e2fsck.ttp -C 0 -p e:

# Set up time stuff. Note that you need MiNT Lib timezone package
# (installed along with the library) for this below to work.
#
# Such settings are valid if your clock ticks in UTC. For local
# time you have to add -l to the tzinit.

#setenv TZ 'Europe/London'
#exec u:/sbin/tzinit
#exec u:/sbin/tzinit -l

# The "exec" command is used to launch programs. Note that programs
# so launched are started before GEM is, so they must be TOS/TTP
# programs.

# Start Draconis to MiNT-Net gateway

#exec u:/c/mint/mgw.prg
#echo

# Start Gluestik

#exec u:/c/mint/gluestik.prg
#echo

# Default login variables. Leave them commented out, if you use
# UNIX style login. If you're using plain MultiTOS and want to
# run UNIX shells under TOSWIN, please uncomment it.

setenv LOGNAME root
setenv USER    root
setenv HOME    /root
setenv SHELL   /bin/bash

# These lines (with proper pathnames) are obligatory, if you're
# going to use N.AES and Thing Desktop, respectively.
#
# Note that of you don't set the THINGDIR, the Thing desktop
# will store all its files in your $HOME.

#setenv AESDIR   u:/c/mint/n_aes/
#setenv THINGDIR u:/c/mint/thing/

# The best option is to have INIT= command here, after all pathnames
# are already set up by commands above.

# If the MiNT is supposed to execute GEM, you should specify the full
# path and filename like that:

GEM=u:/c/mint/1-19-ec3/xaaes/xaloader.prg

# You can also request MiNT to execute the TOS AES residing in ROM.
# WARNING: this is not recommended, you should use a GEM version
# instead, that is multitasking friendly.

#GEM=ROM

# Otherwise, if your init program is not GEM, you should use INIT= as
# follows:

#INIT=u:/c/mint/init.prg

# If you leave both commands above commented out, the MiNT will
# attempt to execute a file called `sh.tos' found in the system
# directory (the same where the mint.cnf resides), and if this
# fails, the internal minimum shell will be executed.

# Before the MiNT executes the rest of the operating system, it is
# usually the best to change the current directory to the top
# directory of all filesystems.
#
# FreeMiNT 1.16.0 does this automatically.

#cd u:/

#
# The "echo" command is really straightforward.
#

echo Setup complete, now booting the system...
echo
