home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.os.minix:4820 fj.os.minix:257 fj.sources:857
- Path: sparky!uunet!cs.utexas.edu!sun-barr!sh.wide!ascwide!ascgw!uitecgw!nemossan
- From: nemossan@uitec.ac.jp (Sakurao NEMOTO)
- Newsgroups: comp.os.minix,fj.os.minix,fj.sources
- Subject: minix-V OFFICIAL Update 6/6 English-Document
- Message-ID: <1502@uitecgw.uitec.ac.jp>
- Date: 23 Nov 92 21:26:10 GMT
- References: <1474@uitecgw.uitec.ac.jp> <1475@uitecgw.uitec.ac.jp>
- Followup-To: comp.os.minix
- Organization: Univ. Industrial Tech., Sagamihara, JAPAN
- Lines: 1035
-
- takamiti@mix released "minix-V-1.00", which is the system to display
- 2-byte coded Fonts, such as Japanese KANJI, in IBM-PC and its clones
- under Minix.
-
-
- Past posting of minix-V were done at Aug/12 1992, in two-packages
- minix-V package of version 0.9 and
- font-package
-
- Then minor-fixes to version 0.9a is posted.
-
-
- These versions v0.9 and v0.9a are superseded by this new version 1.00,
- but font-package is not changed, so please use the same font-package in
- v.1.00, too.
-
- "minix-V OFFICIAL Update" postings are in seven-articles, from "0 of 6"
- to "6 of 6", and "0/6" is original document for minix-V 1.00 written by
- takamiti@mix in Japanese Language, and posted only to "fj.sources" and
- "fj.os.minix", while from "1/6" to "6/6" are posted to "comp.os.minix"
- besides the NewsGroups mentioned above. Articles from "1/6" to "5/6" are
- Sources and CDIFFs (to PH's 1.5), those have been posted one-week ago,
- and the final "6/6" (which you are reading now) is (broken) English
- translation of the document by nemossan@mix == nemossan@uitec.ac.jp.
-
-
- news: takamiti@mix released "minix-V1.01a", which can display 100-col*
- 40-lines under SVGA 800*600/16-color mode, and 80-col*32-lines
- under VGA 640*480 dots, but redistribution of it is, currently,
- inhibited. (Nov 23 1992 <nemossan)
-
- ------------------------------------------------------------------------
-
- Table of contents
- ~~~~~~~~~~~~~~~~~
- 1 what is minix-V
- 1.1 features of minix-V
- 1.2 necessities of your Environments
-
- 2 Installation of sources
- 2.0 Files on this issue
- 2.1 Place where the files be put
- 2.2 Extraction of Files
- 2.3 Configuration of "minix/config.h"
- 2.4 use of "configsrc" script
- 2.4.a when no SCSI-driver is used
- 2.4.b when use SCSI-drivers
- 2.4.c confirmation from "configsrc"-script
- 2.5 modification of makefile-s
- 2.6 Compilation of kernel
-
- 3 On the Japanese key-board
-
- 4 CDIFFs for FDD drivers of ps55/note.
-
- 5 "ide_wini.c" usable for "ps55/note"
-
- 6 SCSI-drivers
- 6.1 AHA-SCSI-driver
- 6.2 mini-SCSI-driver
- 6.3 mtio.h and mtio.c
-
- 7 Installation of KANJI-fonts
-
- 8 system initialization by "/system/config" file
- 8.1 its rules
- 8.2 Keywords and parameters
- 8.3 Examples of "/system/config" file
-
- 9 Booting minix-V
- 9.1 Booting minix-V
- 9.2 Hot-keys: PF-3
- 9.2.1 Shift + PF-3 toggle Kanji-codes
- 9.2.2 ALT + PF-3 toggle ANK-fonts
- 9.2.3 ALT + CTRL + PF-3 reinitialise the screen
- 9.3 Toggle KANJI-code by ioctl()
- 9.4 two-byte-coded languages other than Japanese
-
- 10 to whom does not know MXboot
- 10.1 trial run of MXboot from floppy
-
- 11 How to taste minix-V
-
- Acknowledgements
- ------------------------------------------------------------------------
-
-
-
- 1 What is minix-V?
- Minix-V is the Minix-kernel to display Japanese 2-byte-coded fonts
- on IBM-ATs and its clones. Here we release the patches for Minix-1.5
- sold by Prentice Hall and newly written source-codes.
-
- IBM-ATs and its clones have no hardware to display 2-byte-coded
- fonts, so displaying them should be done by software approach like DOS/V
- from IBM-Japan. The load of CPU may increase, but current hardware has
- no problem for it.
-
- Minix-V supports all of Japanese-fonts including Hankaku-Katakana,
- thus if you have Japanized application such as "ari" (vi-like editor to
- input/display/edit Japanese Language) on Minix, you can make up com-
- fortable Japanese environment on Minix.
-
-
-
- 1.1 features of minix-V
- This is the release 1.00 of the minix-V, and its features are;
-
- 1) Displays 80-ascii characters (40 Zenkaku characters) per
- line and 30-lines per screen using 0x12-mode of VGA-display.
-
- 2) Internal-code of the kernel has two-types Japanese Kanji-
- code, Shift-JIS and EUC, both are widely used in Japan.
-
- 3) These Kanji-codes can be toggled together by ioctl() or
- hot-key.
-
- 4) Supports OADG-keyboard, from IBM-Japan(?). "OADG" stands for
- "Open Architecture Developper's Group".
-
- 5) Supports graphics functions like Tektronix 4010.
-
- 6) Supports SCSI-devices interfaced by Adaptec-154x or mini-
- SCSI-IF.
-
-
-
- 1.2 Necessities of your Environments
- Minix-V requires IBM-ATs or its clones and the following hardwares.
- 1) CPU should be 80286 or higher (8086/8088 is not supported
- now).
-
- 2) Protect-memory more than 1-MB.
-
- 3) VGA-display or upper.
-
- 4) You should be able to reconfigure/recompile original kernel
- of Minix from PH.
-
- 5) You'll be comfortable, if you can boot-up Minix by MXboot.
- Minix-V is intended to be used under MXboot. Of course it
- can be used by floppy-boot.
-
- Minix-V loads Kanji-fonts into protected-memory, thus the usage of
- 8086 or 8088, which do not support protected-memory, needs a lots of
- modification of sources. In Japan, IBM-machines were minor, thus
- there are very few amount of IBM-PCs/XTs and almost all of IBM/clones
- are ATs or higher, thus restriction to 80286-CPU or higher has no-
- problem in Japan.
-
-
-
- 2 Installation of sources
- Minix-V is based on Minix-1.5 from PH, thus you should install
- original source-code and be compilable them. Compilation can be done by
- both original ACK-16-bits CC or BCC 32-bits compiler. If you have
- already installed 32-bits environment, you can install minix-V on it,
- and also you can install on 16-bits environment and move into 32-bits
- in future.
-
-
-
- 2.0: Files on this issue
- CDIFFs and newly provided source-codes for minix-V are archived by
- TAR, according to its sub-directories. "configsrc" is a shell-script and
- supports to setup environments and makefile-s, and should be placed in
- the same directory as fs, kernel, mm or tools subdirectories (see next).
-
- configsrc shell-script to configure
- minix.tar CDIFFs for sources in /usr/include/minix subdirectory
- kernel.tar " /usr/src/kernel "
- mm.tar " /usr/src/mm "
- fs.tar " /usr/src/fs "
- tools.tar " /usr/src/tools "
-
- These are the contents of the "minix-V package", and you may be
- necessary to prepare files on "font package" which contains;
-
- 7x14.bdf, 7x14.bit, 7x14rk.bdf, 7x14rk.bit,
- bdf2vfnt.c, fonted.c,
- kh.kana
- header.k14,
- publicfont.ank, publicfont.k14
- font_ed.doc
-
- You will find the detailed explanation on them in "font package".
- "publicfont.ank" and "publicfont.k14" are the minimum necessities for
- minix-V, and they are Alpha-Numeric-Kana and Kanji font files, respect-
- ively.
-
-
-
- 2.1: Place where the files be put
- "configsrc"-script and *.tar files should be placed as follows;
- /usr/include/minix/minix.tar
- /usr/src/configsrc
- /fs/fs.tar
- /kernel/kernel.tar
- /mm/mm.tar
- /tools/tools.tar
- |
- +-- .....
-
-
-
- 2.2: Extraction of Files
- Extraction of *.tar files in every sub-directory will give you
- CRCLIST, and makefile.cpp besides CDIFFs and newly provided source-
- codes.
-
- "ahascsi.tar" extracted from "kernel.tar" contains aha_scsi.c, its
- documents and header-file, "mtio.h". If you do not use any SCSI-inter-
- faced devices, you need not extract them, but if you use, "mtio.h"
- header file from "ahascsi.tar" is necessary, and copy it to
- /usr/include/sys. "mkscsi" script is necessary to make device-files.
-
-
-
- 2.3: Configuration of /usr/include/minix/config.h
- This file contains definitions to affect several subdirectories on
- configuation of kernel. "config.h" file actually used will be derived
- from "config.seed" in this packages by "configsrc"-script. Additions of
- definitions to minix-V are only two;
-
- DBCS_CONSOLE and LANGUAGE
-
- "DBCS_CONSOLE" flag is for making up the console to be able to process
- 2-byte-coded characteres. When and ONLY when this flag is defined, the
- LANGUAGE flag is valid. Current minix-V has only the function to display
- Japanese language. If you want to make Japanese-Language cosole by
- minix-V, remain these two definitions as is.
-
- The other definitions are;
- RS_DTR_CTRL: adds dis-connect of Modems by DTR's on/off or
- issue SIGHUP by CD (Carrier Detect) off.
- ENABLE_SCSI: adds task for aha-154x/mini-SCSI interfaces.
- AHA_SCSI: adds driver-task for Adaptec's aha-154x SCSI/IF.
- MINI_SCSI: adds driver-task for mini-SCSI/IF.
-
- "ENABLE_SCSI" compile switch should be one of the following three;
- NO_SCSI_IF: in case not use any SCSI interface.
- AHA_154x_IF: in case use Adaptec's AHA-154x.
- MINI_SCSI_IF: in case use mini-SCSI interface.
-
- "AHA_SCSI" and "MINI_SCSI" flags show which SCSI-interfaces is used,
- and defined by "ENABLE_SCSI" switch, so user need not to specify it.
-
- These switches (definitions) are valid only if not defined in
- command-line so you may setup by OPTION of makefile, but these
- infulence to plural subdirectories, so be careful not to mismatch.
-
- "config.seed" (will be changed to "config.h") derived from minix.tar
- contains the following definitions;
-
- #define RS_DTR_CTRL 1
- #define ENABLE_SCSI WHAT_SCSI_IF
-
- here, "WHAT_SCSI_IF" is undefined in the kernel-source code, and they
- are defined by shell-script "configsrc" according to the user's specifi-
- cations. So, users are need not modify them by editor etc.
-
-
-
- 2.4: use of "configsrc"-script
- Before running the "configsrc"-script, you should do install all of
- the sources (including header-files) to appropriate positions.
-
-
-
- 2.4.a: when no SCSI-driver is used
- Move into the subdirectory where "configsrc" is, (/usr/src), and run
- it to setup your environments such as "/usr/include/minix/config.h",
- "kerne/wini.c", "kernel/scsi.c" and "makefile"s in any subdirectories.
- "configsrc" script takes ONE or THREE parameters, meaning of them are
- as follows;
-
-
- 1st param: driver-name to be linked to "wini.c".
- ide, at, xt, ps, esdi, no, bios [clean]
- This parameter specifies HD-driver source to be linked
- to "wini.c", and it may be the one of [ide| at| xt| ps|
- esdi| no| bios]. Some of them (ex. esdi_wini.c ) are
- not contained in PH's original source code, and you
- need prepare by yourselves.
- 1st param: clean
- "clean" flag as the first parameter is also valid, and
- specifies to clean-up intermediate files.
-
-
- 2nd and 3rd parameters are valid ONLY in Minix-386 systems.
-
- 2nd param: type of CPU and usage of NPX
- 386, 386+387, 486
- This is for 32-bits kernel and means whether Numeric-
- coprocesser is used or not. Use appropreate one ac-
- cording to your machines.
-
- 3rd param: environment to make Minix-386 (cross or self)
- To specify making kernel under 16-bit-system cross-
- compiling 32-bit kernel or under 32-bit-system compiling
- its own sytem by itself.
-
- Examples:
- configsrc clean # clean up every subdirectory
- configsrc at # makes 16-bit kernel using at_wini.c.
- configsrc at 386 cross # makes 32-bit kernel using at_wini.c
- # under 16-bit environment.
- configsrc at 486 self # makes 32-bit kernel using at_wini.c
- # under 32-bit environment and 80486-CPU.
-
-
-
- 2.4.b another usage of "configsrc" script (when use SCSI-drives)
- To use SCSI-driver, you are necessary to show which SCSI-driver is
- used (aha/mini). This additional parameter should be placed after the
- first-parameter at the item "2.4.a", and have the effect to setting up
- "/usr/include/minix/config.h". The parameters for Minix-386 (type of
- CPU and its environment---cross/self) should be followed, thus maximum
- number of the parameter can be 4, and every parameter has the following
- meaning;
-
- 1st param: driver-name to be linked with "wini.c"
- ide, at, xt, ps, esdi, no or clean
-
- 2nd param: type of SCSI-interface
- aha or mini
-
- 3rd param: type of CPU (and numerical coprocesser, NPX)
- 386, 386+387 or 486
-
- 4th param: environment to make Minix-386
- cross or self
-
- The third and fourth parameters are valid only in Minix-386, I mean, you
- need not them in 16-bits kernel.
-
-
- Examples:
- configsrc at aha # makes 16-bit kernel with at_wini
- # and aha-154x (SCSI-driver).
-
- configsrc at mini # 16-bit kernel with at_wini and mini-SCSI
- # for SCSI-driver.
-
- configsrc no aha # make "wini.c" as dummy-task. This is for
- # Minix which use only SCSI-drives.
-
- configsrc at aha 386 cross # make 32-bit kernel by cross-compiling
- # with at_wini and aha-154x for SCSI-drivers.
-
- configsrc at aha 486 self # make 32-bit kernel by 32-bit environment
- # for at_wini and aha-154x for SCSI-drivers.
-
-
-
- 2.4.c confirmation from "configsrc"-script
- Starting up by these parameters, "configsrc"-script shows its own re-
- cognitions and prompts your confirmation. If OK, answer in "y" (small-
- letter of Y), otherwise it quits running, thus neither rewriting
- /usr/include/minix/config.h nor making "makefile"s nor linking drivers
- will be done.
-
-
-
- 2.5: modification of "makefile"s
- The step-4 mentioned above, makes "makefile"s ready to go, but there
- are some options in the makefile-s to be your kernel more fittable for
- you, so lookup makefile-s and modifiy the right of "OPTION=". I have
- prepared the following options in the makefile-s.
-
-
- (note1: At least, you have to see "tools/makefile" to check.
- Original Document says "ready-to-go", but you have to
- edit the file, otherwise you will see
- "Please edit me" message. < nemossan )
-
- (note2: In "tools/makefile.cpp", the following is written,
- ROOT_DEV = #
- |
- all: init built bootblok menu mxinstall mxboot
- if you have any hesitation to make mxinstall/mxboot,
- you may be better put "#" between "menu" and
- "mxinstall", or define "ROOT_DEV = /dev/null".
- Otherwise "make all" does "mxinstall" and "mxboot",
- but which is no-harm, I think.
- < nemossan )
-
-
- kernel/makefile
- -DGRAPHICS: to be active the graphic-routine
- -DNUM_LOCK: to be active Num-Lock key at boot,
- if so, Numerical 10-keys can be used as
- 10-keys in 101-keyboard.
- -DSKK: adds a function to use SKK (Japanese Language
- Front End Processer) in OADG-keyboard into
- keyboard.c. This patch is made by isibasi@mix.
-
- { -DUSE_NPX: This is for Numerical-coProcesser in 32-bits
- kernel, and will be provided by "configsrc"-
- script, so you need not specify. This is
- originally in c386-patch.
- }
-
-
- mm/makefile
- -DGNU_AOUT_TOO: This addes the function to load GNU's a.out
- format directly, this is valid only 32-bit
- kernel.
-
- fs/makefile
- There is no option here.
-
- tools/makefile
- There is no option here.
-
-
-
- 2.6: Compilation of kernel
- After above processes, and modification of /usr/src/include/minix/config.h,
- and makefile-s besides source-files, then go to fs-subdirectory and type
- "make", then go to "mm" and make,.... finally to tools-dir. After
- "make all" type as "make image". This makes "/system/minix.sys" which
- is bootable kernel under MXboot or floppy. See /usr/src/tools/makefile
- for details.
-
-
-
- 3 On the Japanese key-board.
- Minix-V contains patches for IBM-Japan's OADG-keyboard, made by
- isibasi@mix. OADG-keyboard looks like JIS-layout keyboard, but it is
- World-Standard keyboard, thus at the boot-up, scan-code of it and key-
- tops of it does *not* concide in some key-switches.
-
- MXboot's boot-up-routine automatically recognises the following
- 6-keyboards from IBM-Japan.
- 5535-S with and without numeric-key-pad
- 5576-A01
- 5576-001
- 5576-002
- 5576-003
-
- This is senced by Keyboard-ID-value from BIOS, (may be) extended by IBM-
- Japan. Any other keyboards from ones mentioned above table are recog-
- nised as 101-keyboard, so if you are using imported ATs (clones) with
- OADG-keyboard made in Japan, the key-board is not senced correctly. In
- such a case, you should write your keyboard type in /system/config file,
- as shown later. If the keyboard is recognized as one of the ps??-key-
- board above, and it has no numeric-key-pad (ten-keys), Num-Lock will be
- OFF at boot-time, even if you have specified -DNUM_LOCK flag in kernel/
- makefile. Such a keyboard-type as 101-key, which has ten-keys, initial
- condition of ten-keys are defined by compile-switch NUM_LOCK.
-
- If you boot-up from floppy, press "=" key as printed on the key-
- tops. Utilizing the differences between AT-101-keys and OADG-keys, table
- used in /usr/src/kernel/keyboard.c will be changed.
-
-
-
- 4 CDIFFs for FDD drivers of ps55/note.
- This is also made by isibasi@mix. CDIFFs for the FDD is the patch
- for AUTO-CPU-speed switch, and is placed /usr/src/kernel/kernel.tar as
- floppy55n.cdif. Usual desk-top-machines can be used by original
- floppy.c.
-
-
-
- 5 "ide_wini.c" usable for "ps55/note"
- "ide_wini.c" has its base on modification of "at_wini.c" made by
- isibasi@mix. It looks HDC to know the number of Hard-drives or their
- parameters instead of using BIOS, thus it gets correct parameters even
- under IDE+SCSI environment. This driver can work for IDE/IF recently
- used in many clones.
-
- Basic part of ide_wini.c is the same with at_wini.c, and it differs
- at initialize routine. In old machines or some IDE/IF, it may fail, if
- so use original at_wini.c. If you use "ide_wini.c" with one of SCSI-
- drivers, modify *_wini.c as shown later.
-
-
-
- 6 SCSI-drivers
- 6.1 AHA-SCSI-driver
- In minix-V, you can use SCSI-drivers posted by jsd@cs.umd.edu to
- "comp.os.minix", which is for Adaptec's AHA-154x. This driver supports
- not only HDD, but also Tapes, and very useful. To my regret, it may be
- written in 32-bits, so it cannot be used under 16-bits-Minix and ACK-CC.
- Source-files in Minix-V are modified to be used under both 16/32-bits
- environments.
-
- Tests for Quarter-Inch-Tapes (QIC) are done by Archive's Viper 2150s
- /2525s. Between the two drives, return values of SCSI_LIMITS commands
- differ, thus in case of 2525s, original source-code cannot be used.
- So, "aha_scsi.c" in minix-V package sets up parameters after getting re-
- source information and knowing which (2525s/2150s) is used.
- And I have added ERASE-function and RETENTION in tpioctl() and mt.c.
- The tape-drives will return normal return-code at receiving the command,
- but erasing-motion takes several (?) seconds, so before completion, you
- cannot access tape-drive(s). If you access it before completion, tape-
- driver will respond you "I/O error". It is the same for REWIND command.
- I've set so because it may decrease the load of the CPU, instead of
- executing in back-ground. If you want to wait until READY, please define
- IMMED_BIT 0 in aha_scsi.c as
-
- #define IMMED_BIT 0
-
- (I don't know whether this is "vender unique" or not. If so, it is only
- for Archive's Viper-series.)
-
-
- Maximum number treatable by modified aha_scsi.c is five, but original
- "mkscsi" script can make upto two device files. If you need more,
- please help yourselves :-) Max-Num of tape drives are two, as original.
-
-
- Winchester driver to be used with aha_scsi is ONLY "ide_wini.c",now.
- If you use at_wini.c/esdi_wini.c/ps_wini.c, you are necessary to modify
- their source code to get resource information from HDControler and init-
- ialize, or modify "MAX_DRIVES" flag in *_wini.c according to your number
- of drives like (but I didn't try.)
-
-
- #define MAX_DRIVES 2
-
- |
- |
- v
-
- #if AHA_SCSI <-- this is defined by minix/config.h
- #define MAX_DRIVES 1 <-- your number of drives
- #else
- #define MAXDRIVES 2
- #endif
-
-
-
- 6.2 mini-SCSI driver
- This is the driver for mini-SCSI-I/F, made by mintk@mix.
- "mini-SCSI" is the SCSI-interface to be connencted to printer port,
- and enables the usage of SCSI-devices even if the machine has no ex-
- tention slots, as is the case in laptop machines. This mini-SCSI driver
- adds a task like aha-scsi, but it has no interrupt function, and it will
- not be recognised by Disk-BIOS at the time of booting, so differences
- for sources are comparably small than in the case of AHA-154x.
-
- The functions of mini-SCSI is very good, I think, and it supports
- also tape-drives. Actually, supporting tpioctl() in "aha_scsi.c" is
- quoted from the function of mini-SCSI-driver. It may be suitable for
- Japanese rabbit house to adopt mini-SCSI, rather than be occupied by
- large machine(s) in small room :-)
-
- At running "configsrc"-script,if you specify "mini" following to the
- drive-name of "wini.c" and its number on the command parameters of
- configsrc, the source-code will be setup. The device files supported by
- "mini_scsi.c" is the same with the one of aha_scsi.c, so de-archive
- "ahascsi.tar" from "kernel.tar", and use "mkscsi"-script. Don't forget
- copy "mtio.h" to /usr/include/sys.
-
-
-
- 6.3 "mtio.h" and "mtio.c"
- This is the source-codes originally accompanied with "aha_scsi.c" by
- jsd@cs.umd.edu, and it can be used both in "aha_scsi.c" and
- "mini_scsi.c". "mintk@mix" made several modification to be used in 16-
- bit-Minix, and added several functions such as erasing tapes, or re-
- tension.
-
- Operation of "mt erase" differs between mini_scsi.c and aha_scsi.c.
- In case of the kernel by "mini_scsi.c", erasing will be done after re-
- winding the tape, while in case of "aha_scsi.c", erasing is done at the
- current point of the tape. This is from the internal processes of the
- both drivers.
-
-
-
- 7 Installation of KANJI-fonts.
- Minix-V extracts internal-font of VGA-drivers, so even you have no
- KANJI-fonts, it works showing only Alpha-Numeric characters of VGA. But
- it has no-merits to install minix-V, then. :-)
-
- Minix-V uses free-font originally made by Mr.Tachibana, and donated
- to Xconsortiam, and expands it to cosole for displaying Japanese Fonts.
- You will find the fonts in "core/mit/fonts/bdf/misc" directory as
- "k14.bdf" and "7x14rk.bdf" in ".bdf" (Bitmap Distribution Format), of
- the distributed tape of "X11R5". Of course, you can use another fonts
- if you prepare by yourselves, ex. extraction from NEC-PC9801/Toshiba-
- J3100/dosV etc etc.
-
- Minix-V displays one-ZENKAKU-character on 16*16 dots of CRT.
- Minix-V expects the header (1-kB) of the font-files, and utilizes it
- to expand fonts by console drivers;
-
- ------------------------------------------------------------------------
- struct font_header {
- short font_size; /* bytes number per one character pattern */
- short font_hight; /* font height in dots */
- short font_width; /* font width in dots */
- unsigned short top_code;
- unsigned short end_code;
- char _unused[502]; /* empty */
- char memo[508];
- long sum;
- };
- #define FONT_HEAD_SIZE sizeof(struct font_header)
- ------------------------------------------------------------------------
-
-
- The "font package for minix-V" accompanied with this "minix-V package"
- contains ready-to-use font Files, which contains those header,
-
- publicfont.ank
- publicfont.k14
-
- so, copy them for install the fonts as
-
- # cp publicfont.ank /system/sysfont.ANK
- # cp publicfont.k14 /system/sysfont.STD
-
-
- The bootup routine of minix-V knows
-
- /system/sysfont.ANK font for Alpha-Numeric-Kana (1-byte-code)
- /system/sysfont.STD font for Japanese Zenkaku-chars (2-byte).
- JIS's level-1 and level-2.
- /system/sysfont.OPT font for JIS's level-3 fonts.
- (currently not available)
-
- The "minix-V font package" contains "header.k14" which is the header for
- k14 font, if you use publicfont.* (which contains the header), it is not
- necessary.
-
- "sysfont.ANK" should be the same format with VGA's ROM font, and
- should have 8*16 dots including KATAKANA-fonts. If you will use
- another, ex. extracted by ROM-fonts/dosV-fonts, prepare header files by
- yourselves. In such a case, please record its history on memo-field of
- the header, and don't distribute the font-file(s) keeping it as your
- private fonts.
-
- We have made tools to extract them from NEC-PC9801/Toshiba-J3100 or
- dosV:IBM-Japan. These tools extract fonts from (ROM)-fonts and add
- header making font-file (these tools are not included in the packages).
- These tools are made by different persons, so they have slightly
- different specifications. Ex., tool for J3[13]00 extracts all of the
- 255-fonts, and for NEC-PC9801 extracts only KATAKANAs and adds to VGA's
- fonts. Font-extracter for dos/V supports both Hankaku and Zenkaku-fonts
- from dos/V.
- Fonts thus extracted from your machines, should NOT be distributed,
- otherwise, it violates copyrights of fonts.
-
-
-
- 8 system intialization by "/system/config" file
- 8.1 its rules
- You can configure at bootup time by "/system/cofnig" file in minix-V
- version 1.00. This is normal text-file, and you can make it by usual
- editor like elle, elvis... Every line of it should be written according
- to the following rules
-
- (1) descriptions after "#" in every line are regarded as
- comment. Null line is permitted.
- (2) Space-character (' ', '\t') at the top of a line or bet-
- ween keywords/parameters will be neglected.
- (3) Keywords are defined after '=' character.
- (4) Keywords are all in small-letter, and the followings are
- defined with the meaning as written.
-
-
-
- 8.2 Keywords and parameters
- ramsize
- Specifies the size of RamDisk in KB.
- If omitted, set by "DRAMSIZE" in "include/minix/boot.h".
- ex. ramsize = 2048 # reserve 2MB of RamDisk
-
-
- rootdev
- Specifies the device of root-file-system in Minix's
- device-name. If omitted,"DROOTDEV" in
- "include/minix/boot.h" is its initial, but if it
- has been booted via MXboot, booted drive and parti-
- tion (from /dev/hd1 to /dev/hd9 except /dev/hd5) is
- set automatically (of course /dev/fd? is not set).
-
- Setting of "rootdev" is unnecessary when root-file-
- system is on "/dev/hd?". This is necessary when the
- system is <IDE+SCSI> or <SCSI+SCSI> and booted from
- MXboot.
- "setparam()" in "menu.c" assumes that booted parti-
- tion is controled by winchester-driver recognized by
- BIOS. And if the drive is the first one, it sets the
- device as /dev/hd[1-4] and if second /dev/hd[6-9].
- If <IDE+SCSI> the second-drive, and if <SCSI+SCSI>
- the both drives, will conflict with the device-name
- in Minix, and booting will fail. So this is needed.
-
- If you specify whole device like "/dev/??0" or
- "/dev/??5", adjusted partition number reported by
- MXboot is set as root-device.
-
- ex. rootdev = /dev/sd2
- # sets "/dev/sd2" as root-device
- rootdev = /dev/sd0
- # if you booted by MXboot and it
- # was 4-th partition of first
- # SCSI drive, /dev/sd4 is root.
-
-
- keyboard
- Specifies the keyboard type connected from one of
- the followings;
- standard
- olivetti
- dutch-ext
- us-ext
- jpn-oadg
- If omitted, minix-V assumes type of keyboard as the
- one written by "DSCANCODE" in include/minix/boot.h.
- If you are using 55??-* type keyboard from IBM-
- Japan, this will be checked before interpretion of
- /system/config,so you need not write "jpn-oadg", and
- if you write, contents of this file superseds the
- checking, so some inconsistency may occur ex. ten-
- keys. This "jpn-oadg" should be written when you
- are using imported machines with JIS-aligned (looks
- like) OADG-keyboard.
-
- ex. keyboard = jpn-oadg
-
-
- sbcfont
- dbcfont
- optionalfont
- Specifies font-file names at booting. These are cor-
- respond to "Single Byte" for Alpha-Numeric-Kana,
- "Double Byte" for ZENKAKU, and Extended 2-byte fonts
- such as JIS-level-3 fonts.
- If omitted, font-files specified by "usr_font[][]"
- in "tools/option.c" will be used. If the file is
- not found in /system directory or the header of it
- is broken, the file will not be loaded, but this
- check is very simple, so sometimes miss-check occur
- displaying invalid fonts. Path for font-files are
- limited only to "/system" directory. Currently op-
- tional font is not prepared.
-
- ex. sbcfont = bold.ank
- # use "bold.ank" file to Single-Byte
-
- dbcfont = jisx9051.16
- # use Kanji Font in JIS-X9051 font
-
-
- kanjicode
- Specifies Kanji-code used as Shift-JIS or EUC.
- ("Shift-JIS" is widely used in M?-DOS, and "Extended
- Unix Code: EUC is in Unix-machines).
- If omitted, definition by "DEFAULT_DBCS_CODE" in
- "include/minix/font.h" is used (usually SJIS, if not
- changed.) "stty default" will set Kanji-code as
- defined in this compiler-flag.
-
- ex. kanjicode = sjis # sets Shift-JIS
- kanjicode = euc # sets EUC
-
-
-
- 8.3 Examples of "/system/config" file
- If you have following environment,
-
- 1. Imported clone
- 2. OADG-keyboard (looks like JIS-arranged)
- 3. Both one IDE and one SCSI hard-drive
- 4. Minix is installed one of the SCSI-partition
- 5. root file device is "4." above
-
- "/system/config" file may be
- ----------------------------------------------------------
- #
- # system configuration for minix-V
- #
-
- #ramsize = 2048
- #kanjicode = euc
- rootdev = /dev/sd0 # :-)
- keyboard = jpn-oadg
-
- # end of config-file
- -----------------------------------------------------------
-
-
-
- 9 Booting minix-V
- 9.1 Booting minix-V
- By patched sources and newly made makefile-s, and make-s in every
- subdirectory, and "make image" at the /usr/src/tools, you will see new
- kernel-image as "/system/minix.sys", and if you have installed font-
- files and setting-up in"/system/confg" file, you can boot-up minix-V by
- MXboot.
-
-
-
- 9.2 Hot-keys -- PF-3
- Original Minix from PH uses PF-3 to toggle scroll-modes. In minix-V,
- I have added three more functions in PF-3. Functions (1) and (2) below
- toggles like single-PF-3.
-
-
- (1) Shift + PF-3 toggle KANJI-codes
- In minix-V, both Shift-JIS-code (used in MS-DOS) and EUC-
- code (Extended Unix Code, used in Unix) can be dislayed. At
- the time of booting, Kanji-code is set to one written in
- "/system/config" (if not specified, it obeys the definition
- of source-code in kernel, usually Shift-JIS), but you can
- toggle displaying from S-JIS to EUC, and EUC to S-JIS, at
- any instance by <Shift>+<PF3>. Switching Kanji-code can be
- made even from application-software, as you will see later.
-
-
- (2) ALT + PF-3 switches ANK-character-tables
- Minix-V has two sets of one-byte-fonts, one is VGA-fonts
- and the other is user prepared ANK-fonts (i.e.
- /system/sysfont.ANK). If sysfont.ANK could be loaded at the
- boot-up time, it will be primarily used. If this font is
- broken or the operator wants to display VGA's font, he can
- toggle by "ALT + PF-3", if the sysfont.ANK is successfully
- loaded. But if not loaded, he cannot toggle (only VGA-fonts
- are used), of course.
-
-
- (3) ALT + CTRL + PF-3 force to re-initialize the screen
- In minix-V, graphic functions like Tektronix 4010 graphic
- terminal is supported.
- If some binary files are displayed on CRT,and if it contains
- some sequences to enter graphic-mode, the screen will show
- some unpredictable patterns. Don't you have such an ex-
- perience as
-
- $ dosread B minixv10.taz minixV10.tar.Z
-
- which missing ">" redirection option?
-
- In such a case, you can reinitialize the screen by
- "ALT + CTRL + PF-3". All of the settings except selection
- of KANJI-code will be re-initialized by this hot-key.
-
-
-
- 9.3 toggle KANJI-code by ioctl()
- In minix-V, you can toggle KANJI-code not only by hot-key
- "Shift + PF-3" but also by ioctl. Switching by ioctl will be made by
- change parity-bit for console, ODD-parity for Shift-JIS, and EVEN-parity
- for EUC. The following script can be used to know which is active
- currently, or to set specified KANJI-code, this is an example of
- switching by ioctl.
-
- ------------
- # kcode - show/set Kanji code for MINIX-V
-
- Errmsg="`basename $0`: Illegal parameter."
- case $# in
- 0) set `stty`
- case $4 in
- "odd") echo 'current KANJI code is SHIFT-JIS';;
- "even") echo 'current KANJI code is EUC';;
- *) echo 'ANK only!';;
- esac
- ;;
- 1) case $1 in
- "sjis") stty odd;;
- "euc") stty even;;
- "def") stty default;;
- *) echo $Errmsg;;
- esac
- ;;
- *) echo $Errmsg;;
- esac
- ----------
-
-
-
- 9.4 2-byte-coded languages other than Japanese
- The console driver of minix-V expands fonts on VGA-graphic-display
- and it does not use any special hardwares such as KANJI-character-
- generator, so if you modify some of the source-codes and prepare font-
- files, you can display 2-byte-coded Languages such as Kerean, Chinese
- etc etc, easily.
-
- I'll write "inside.doc" for minix-V to show how to maintain fonts
- or how to expand them, refer it for details.
-
-
-
- 10 to whom does not know MXboot.
- You have seen many times "MXboot", in this document. This is a local
- tool in Nikkei-mix, commercial BBS system in Janan, and you may not know
- it (but its newest version v2.01 has been posted twice to comp.os.minix,
- so you may get from some archive-sites.)
-
- The newest version of MXboot is v2.01, and it supports not only
- V1-File-System used in Minix-1.5, but it also supports V2-FS to be
- adopted in Minix-2.0.
-
- By this "MXboot" and "assistIPL" (contained here), you can boot-up
- Minix from any-HDD-drives and any partitions. And by assistIPL the
- other OSs than Minix will be selectively booted up, I'm sure it is very
- useful for the persons who maintain several OSs in a HDD.
-
-
-
- 10.1 trial run of MXboot system from floppy
- If you don't know MXboot, you may hesitate to use it, but minix-V
- -kit contains MXboot-V2.01 kit as well as source-codes and CDIFFs. It is
- put in tools.tar, so just try it on floppy. To do so, please prepare
- formatted blank-diskette, and go ahead. This trial run does not harm any
- source-codes nor binary files you have already used/installed.
-
- De-tar tools.tar of minix-V-kit at the /usr/src/tools subdirectory,
- and prepare makefile (not "Makefile", original from PH) for trial-run of
- MXboot as follows from "makefile.cpp" in this kit as;
-
- if 16-bit environment and ACK-CC
- /usr/lib/cpp -P -DACK makefile.cpp | uniq > makefile
-
- if 32-bit environment and BCC
- /usr/lib/cpp -P -DINTEL_32BITS -DSELF386 makefile.cpp | uniq > makefile
-
- Then specify the device-name of HD-partition which you want to use as
- root-file-sytem in the newly made makefile, at the right-side of
- "ROOTDEV =".
-
- For example, if you want to use /dev/hd2 as root-file-system,
-
- ROOTDEV = /dev/hd2
-
- Then the following precess is enough to make MXboot and install it.
-
- make mxinstall
- make mxboot
-
- This makes "MXboot" stay on boot-block (reserved by mkfs) of specified
- partition, and waits to be awaken. "assistIPL" will awake this MXboot,
- and usually it is replaced with master-IPL of the top of the HDD, but
- this is a trial-run, so make an experience by a floppy.
-
- To have an experience of assistIPL with floppy-diskette, use FDassist.
- Insert the formatted blank-diskette into FDD#0, and
-
- make FDassist
- cp FDassist /dev/fd0
- sync
-
- will install FDassist onto the floppy. Then you need kernel-image to be
- read by MXboot. It may be the same from one of for floppy-disk, and if
- you have it in somewhere, copy it as /system/minix.sys. If you have
- only boot-disk, extract boot-image as follows (boot-disk should be on
- FDD#0);
-
- cc -o bi bi.c # compilation of bi.c
- # "bi.c" is contained in tools.tar
- mkdir /system # MXboot finds core-image here
- bi -v /dev/fd0 /system/minix.sys # extracts core-image
-
- Thus the all preparations are made, "logout" and set the floppy-disk
- (where FDassist is written) on FDD#0, and reboot the system. While
- rebooting, don't forget to keep pressing <shift>-key, otherwise the
- system will reboot according to the partition where boot-flag is set.
- Pressing shift-key while booting forces assistIPL (FDassist) to enter
- into selection mode of partition, and you will see "system-ID" and
- partition-No. on the left-top corner of screen, so specify partition-
- No. (example mentioned above is /dev/hd2, thus here press "2") and press
- <Enter>-key.
-
- Then you will see the usual menu-display, so set root-file-sysstem
- (ex. /dev/hd2) and Minix will boot-up after "=". If you have not set up
- root-file-system correctly, it *NEVER* boots, of cource, check /dev/hd2
- and /dev/* /etc/* ...
-
- Normal MXboot will boot-up without displaying menu-screen (of course
- you can set up to display menu) and shows "login:" prompt setting the
- partition where boot-up as root-file-system. And "assistIPL" allows
- boot-up OSs from non-active partition, and if limited to Minix, it can
- be booted-up from even second-HDD-drives.
-
- If interested, try to get MXboot's document, which is available from
- some archive-site, there you will see detailed installation manual of
- MXboot.
-
- MXboot is ported into Linux by iga@mix, and "IPLaid" for MS-DOS is
- also avaiable, the latter is ready-to-use for ex. 386bsd.
-
-
-
- 11 How to taste minix-V
- The developper of minix-V uses MXboot at its maximum limits, so
- minix-V expects MXbooot. To tel the truth, he has never booted minix-V
- from floppy-disks. So, my reccomendation process is as follows;
-
- 1st: install standard Minix which boots from floppy.
- 2nd: install MXboot. If you have any hesitation to install
- MXboot on HDD rewriting master-IPL of the drive, try
- MXboot using FDassist. In this case the operation
- process is the same as one of normal FD-booted Minix.
- 3rd: install minix-V according to this document.
-
- Then, you can use Japanese Language on the machine made (originally) in
- the USA and under the Operating-system made in Holland.
-
-
-
- Acknowledgements:
- Minix-V owes very much to the Public-Domain Fonts, k14 and 7x14*,
- originally made by Mr.Tachibana and donated by kagotani@cs.titech.ac.jp
- and his group to Xconsortiam. I'd like to express sincere thanks to
- them.
-
- CDIFFs/Sources for minix-V from PH's Minix-1.5 contain raw source
- codes for Minix-386 related portion, *386.x, this is from
- evans@syd.dit.CSIRO.AU (Bruce.Evans), who allowed us to distribute his
- raw source codes. I'd like to express sincere thanks to Bruce.
-
- And also I want to express thanks to jsd@cs.umd.edu who released
- SCSI-device-drivers for Adaptec AHA-154x, this is very timely release
- for these days expanding SCSI-IF's usage.
-
- I want to express thanks all of the participants of Nikkei-mix,
- who checked minix-V and provided many patches and device-drivers,
- including k.h@mix, isibasi@mix, and mintk@mix.
-
- The best thanks may be given to Prof. Andy, who taught us the deli-
- cious taste of a cup of water, when we have too much enough foods.
- (This is the word from gideon.n@mix, in the magazine "bit" published in
- Japan.)
- ------------------------------------------------------------------------
- Originally written by takamimti@mix in Japanese-language,
- slightly modified and trially translated into English by
- nemossan@mix == nemossan@uitec.ac.jp. (1992 Nov. 23)
-