5 K 4034: 10 Dec 92 Kees J. Bot Little monitor document (Message # 5: 4034 bytes, KEEP) Received: from spanker.cs.vu.nl by top.cs.vu.nl id aa00984; 10 Dec 92 9:49 MET Received: from hornet.cs.vu.nl by spanker.cs.vu.nl id aa00324; 10 Dec 92 9:49 MET Date: Thu, 10 Dec 92 9:49:24 MET From: "Kees J. Bot" To: ast@cs.vu.nl Subject: Little monitor document Message-ID: <9212100949.aa16951@hornet.cs.vu.nl> I've written a small document on the monitor as you requested. Below is a shar file with the nroff source. The command nroff -ms mon.doc.ms | colcrt - > mon.doc will turn it into a flat file. Only the page breaks are left to be removed. (I should be less vocal on the net, now someone sent his Minix questions to me, but the praise still goes to you: "Tell Andy he did a superb job putting this OS together." Just passing it on. :-) -- Kees. _._. .._ _ ._ ._.. ___ _. __. _ .... . _.. ___ _ _ . _.. ._.. .. _. . : This is a shar archive. Extract with sh, not csh. : This archive ends with exit, so do not worry about trailing junk. : --------------------------- cut here -------------------------- PATH=/bin:/usr/bin:/usr/ucb echo Extracting 'mon.doc.ms' sed 's/^X//' > 'mon.doc.ms' << '+ END-OF-FILE ''mon.doc.ms' X.SH XDoing more with the Minix Boot Monitor. X.PP XThis text describes the menu interface of the Minix Boot Monitor, and Xthe commands that may be used to customize it. X.LP XFirst of all, the monitor mode as distributed normally hides some of the Xfunctionality, but shows you an explanation of the environment Xvariables instead. If you add -DEXTENDED_LIST to CFLAGS in the Makefile Xand recompile, then you will no longer see the long explanation (you Xshould know it by now), but you will see all the commands the monitor Xknows about. X.SH XThe commands. X.PP XThe boot command has two functions, one is to load and start Minix, the Xother is to boot a different operating system. If the first partition Xon your hard disk contains MS-DOS, then X.DS X.B Xboot hd1 X.R X.DE Xwill boot MS-DOS. (Not all operating systems like to be called this Xway, some insist on being on the active partition.) X.LP XThe delay, ls, and other simple commands are not too difficult to Xunderstand, just try them out. The trap command may be used to execute Xa function after a delay. You can show a menu first and boot Minix Xafter 5 seconds of inactivity like this: X.DS X.B Xtrap 5000 boot; menu X.R X.DE X(This must be typed on one line, traps are cancelled when the prompt is Xprinted.) X.SH XFunctions. X.PP XFunctions are used to bundle commands, or to build menu items. The best Xexample of a simple function is 'main', the function executed by the Xmonitor on startup. Main is by default defined as: X.DS X.B Xmain() { menu } X.R X.DE XSo that's why you see a menu at the start. The example with 'trap' Xabove could be executed by main if you type: X.DS X.B Xmain() { trap 5000 boot; menu } Xsave X.R X.DE XThe save command will save the changed environment of the monitor to the Xsecond half of the boot block, the "boot parameters sector". X.LP XFunctions may have one or two arguments, the first is a key to be Xpressed from the menu to execute the function, the optional second Xargument is the text that is to be displayed on the menu. The single Xargument functions should only be produced by construct, like this Xone: X.DS X.B XAT(a) {label=AT;image=42:626;echo AT kernel selected;menu} X.R X.DE XIt invites you to choose one of many kernels on a special boot floppy. X.LP XThe two argument functions are used to customize the menu, once you Xdefine one the default option disappears, so your first function will Xprobably be one to start Minix. Example: X.DS X.B Xminix(=,Start Minix) { boot } Xdos(d,Boot MS-DOS) { boot hd1 } Xsave Xmenu X.R X.DE XNow you can type '=' or 'd' to choose between Minix and DOS. + END-OF-FILE mon.doc.ms chmod 'u=rw,g=r,o=r' 'mon.doc.ms' set `wc -c 'mon.doc.ms'` count=$1 case $count in 2542) :;; *) echo 'Bad character count in ''mon.doc.ms' >&2 echo 'Count should be 2542' >&2 esac exit 0