I will dedicate my time now to developing a new FreeDOS installer, one which 
will be easy, fully functional, and not necessarily make everybody happy - that 
is just impossible here, but it will be good to go.  I will keep you all 
updated as progress commences.

Joe

-------------- Original message -------------- 
From: Eric Auer <[EMAIL PROTECTED]> 

> 
> Hi and merry xmas to everybody :-) 
> 
> I have been trying to understand the installer batch 
> files, but they turned out to be too complex... What 
> I did find out is that there are many variables: 
> 
> Autoexec: DEBUG NLSPATH dircmd lang config PATH cputype 
> ... plus runs GETARGS > temp bat and then calls that. 
> 
> Others: CD DIRECTORY OS destdrv autofile cfgfile GUI_inst kernel 
> cddrv destdsk choice cdrom color instparm rd currdir isofile dest 
> locmsg dosdir xms msg mkisoexe BASEDIR temp fdosroot lang usemse 
> header INSTDAT INSTMAX INSTMIN instmode kblayout keybrest menu2_nr 
> menu1_nr params2 path os CFGFILE FC display frmterr hello basedir 
> keybfile line1 oldnls AUTOFILE TEXTMENU loadcd oldlang opt DISTRO 
> KEY VM oemcmd pqbackup pqpart initrd cputype fdosdir nlspath key 
> 
> Generic: %%x %%X %%D %1 %2 ... PATH errorlevel _CWD comspec 
> path config dircmd NLSPATH ... those all have special meanings. 
> 
> First suggestion: Reduce the number of used variables a lot, and 
> use consistent upper / lower case for easier reading. I think it 
> would be nice to always use UPPER CASE for variable names. Some 
> variables seem to be unused, while in other cases there are a 
> number of variables which all hold the same value. 
> 
> Examples of removable variables: autofile cfgfile (use fixed 
> fdconfig, fdauto on %destdsk%) GUI_inst (always use textinst) 
> kernel (always use fat32 386+ kernel) color (always use color) 
> cputype (always use 386) mkisoexe (just put exe in same dir as 
> the makeiso batch file) usemse (used as pbatch option but is 
> never set? seems to be for enabling the mouse?) ... There are 
> several variables for "cdrom drive", "destination drive" and 
> "ramdisk drive", but it would be easier to use fixed letters. 
> 
> DISTRO / VM is used but never set, and there is no XOSL - all 
> probably old "forgotten to remove" hooks from beta8 or beta9. 
> The hooks for drive img / part magic / oem should be removed: 
> oemcmd, pqbackup, pqpart variables are leftovers of those. 
> Note that support for pre-386 / mono can be given on diskette 
> distros if wanted. You cannot boot from CD on pre-386 anyway. 
> By the way, what actually creates the postinst / config...? 
> 
> 
> 
> Next part: Who calls whom during install? First, you have the 
> fdconfig and fdauto files on the diskette image. Because the 
> image only contains 240k of data, it would be very nice to 
> have a zip with a copy of the files in the isolinux directory, 
> to make it easy for users to access them (actually there is 
> a tool called "extract" on the CD to read from the gzipped 
> diskette image but UNZIP is easier to figure out ;-)). This 
> diskimage contains himem, emm386, cdrom drivers, caches and 
> devload. There is a basic freedos system and a few helpers: 
> getargs, xmssize, iniadd, oscheck, append, localize, choice 
> and sys. Those should also be in the "odin" directory on the 
> CDROM, so people can use the cdrom after booting from ANY 
> dos diskette, not only after booting a 1.0 installer disk. 
> 
> The autoexec / fdauto sets: DEBUG (unused!?) NLSPATH dircmd 
> (no problem) lang (always EN) config PATH and cputype (to 
> 80286 or 80386). Initial PATH is "freedos" and "driver" on 
> A: and the ODIN directory on X: ... This step also takes 
> care to read ISOLINUX options with GETARGS and makes sure 
> that the CDROM (or ISO) is mounted on drive letter X: ... 
> Then it loads ctmouse (mouse driver) and runs setup :-). 
> 
> So... If you put copies of the boot disk image contents in 
> an easy to access zip and write a short readme like "you 
> have to make the CD contents available on X:, set PATH and 
> NLSPATH and then run SETUP", it will be easier to run the 
> SETUP from an existing previous DOS version. As long as the 
> tools like LOCALIZE and OSCHECK are added to the ODIN dir 
> on the cdrom, of course. I think config / lang / cputype as 
> set by the boot diskimage should not be required by SETUP. 
> 
> 
> 
> Next step is SETUP: It loads shsurdrv (ramdisk) and checks 
> if the ODIN dir is there and SET /E work. The cddrv variable 
> is set to the current drive, so I guess there is no need to 
> always use X: with this version of setup. The nlspath, path 
> and lang are updated and fdosroot is set... A language menu 
> with 10 choices is shown: EN DE FR PL NL IT SV PT ES RU. 
> The 11th choice is "other", showing a much bigger menu... 
> The choice is then passed to the REGIONAL batch. This can 
> load a font and a keyboard layout. It does not add those 
> settings to the target config, though. 
> 
> Next, a list of drives is generated. If more than one dest 
> drive candidate exists, the user is asked to pick one. Now 
> setup tries to CDD to that drive, and shows a FDISK menu 
> if that fails. Options here: Xfdisk, abort, warmboot, and 
> make bootdisk... Note that there is a separate BOOTDISK 
> batch file which can do multi-system boot disks which is 
> probably a bit overkill. The "get drives" thing is in a 
> separate batch file, why that? 
> 
> Now the target drive is checked by making a test directory 
> and by running oscheck (why not other way round?). Depending 
> on the result, the metakern boot menu is installed, the user 
> is asked whether he wants to run format /q, sys is run. The 
> latter depends on the freedos boot diskimage, it would be 
> better to explicitly use a kernel / shell from ODIN the dir. 
> Finally the ramdisk is removed. 
> 
> 
> 
> Third step is AUTORUN: This contains two main menus, which 
> both consist of several files including a batch file each. 
> I think this should be simplified a lot, for example with 
> inlined localize or pbatch calls, the former being the 
> preferred option as this allows to inline English default 
> messages. This would be useful for both -reading- the bat 
> and for -using- it if you forget to set NLSPATH. Because 
> if you forget that, all non-inlined messages vanish and 
> you are expected to answer questions without seeing what 
> the question is. For some reason, there is also code to 
> set color to Mono or Color depending on cpu type if the 
> key or lang variables are not set...?? 
> 
> Menu 1 items are: "install" (leads to menu 2), "bootdisk" 
> (duplicates code discussed in SETUP), "quit", "readme", 
> "reboot", "xfdisk", "spfdisk", "fdisk", "format". If you 
> ask me, setup and autorun should be merged into one file 
> to avoid duplicating the language selection (see below) 
> and bootdisk and fdisk menu areas. 
> 
> Menu 2 items are: "quit", "keyboard" (language selection, 
> duplicates code from SETUP), "install" (runs TEXTMENU and 
> POSTINST), "return to English", "screen" (color or mono, a 
> superfluous menu item imho), "mode". The latter is a non- 
> intuitive name for a sub menu, choices: full, mini, maxi? 
> 
> TEXTMENU choices depend on whether games (non-base) and/ 
> or sources (of games or of base) are available. I think 
> there should NOT be a pre-made choice "install all the 
> sources". No Linux distro would include such a choice. 
> 
> For some reason, TEXTMENU also seems to iniadd DOS to 
> WinNT/WinXP boot.ini - which would only work if those 
> are installed on FAT drives. Also does metakern again?? 
> 
> Users can always use the package mgr to install sources 
> of single packages at any time. Installing all sources 
> of fdfullws might consume 100s of megabytes. Remember 
> that this includes "source of openwatcom" etc ;-). I do 
> think that there should be a choice "install everything 
> which can be installed without INTERNET connection": 
> 
> Many people got stuck during install because the WGET 
> which tried to download additional files got stuck at 
> some point sooner or later :-(. 
> 
> 
> 
> Before POSTINST is run, the TEXTMENU calls TEXTINST 
> which is the tool which actually unzips everything 
> and which asks you which packages to install, based 
> on default sets selected by textmenu. Problem with 
> TEXTINST is that it flickers a lot. By using a black 
> background and by NOT using shadow effects, the tool 
> can be made simpler, flicker can be eliminated and 
> the mono / color decision can be removed :-). 
> 
> 
> 
> I guess something also creates the target config 
> and autoexec, but I cannot find this. But I know 
> that it needs some repairs: The trailing space 
> after the LANG setting in (fd)config, the missing 
> 4?ECHO no drivers in (fd)config, the missing load 
> disk cache line, the complexity of fdauto. For the 
> latter, I recommend to add at some point: 
> if "%config%"=="4" goto nodrivers (...) 
> ... instead of having many if-config lines. 
> 
> I myself load fdapm apmdos for all other choices, 
> as shsucdhd (mount ISO file as virtual CDROM) and 
> my fm801 drivers. I made loading DISPLAY, SHARE and 
> DOSLFN conditional as those use a lot of RAM. Note 
> that you should NOT use LH with MODE (yet another 
> small flaw in 1.0) or MOUSE. The latter because 
> CTMOUSE LHs itself anyway. For the CTMOUSE 2.1b3 
> driver, please use the /O /Y options to suppress 
> wheel (QEMU bug) and Mouse Systems / Genius mouse 
> mode (can get triggered by non-mouse devices). 
> 
> The path can be shortened - faster DOS - by using 
> wrappers for emacs, setedit, vim, fbc, dog and the 
> pacific c compiler. The latter 2 have several exes 
> so it is probably okay to keep them in PATH. Other 
> variables set in autoexec: dosdir, PATH, NLSPATH, 
> HELPPATH, temp, tmp, BLASTER, CFGFILE, WATTCP.CFG 
> and VIM. The LANG and dircmd variables are already 
> set in (fd)config sys. 
> 
> 
> 
> This summary hopefully helps some people to understand 
> more about the FreeDOS 1.0 installer and helps others 
> to make the FreeDOS 1.1 installer a lot simpler (!). 
> 
> Have a nice day :-) Eric 
> 
> 
> 
> PS: See fd-doc.sourceforge.net/wiki/index.php?n=FdDocEn.FdInstall 
> for other known problems in FreeDOS 1.0 / install ... 
> 
> 
> 
> ------------------------------------------------------------------------- 
> This SF.net email is sponsored by: Microsoft 
> Defy all challenges. Microsoft(R) Visual Studio 2005. 
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ 
> _______________________________________________ 
> Freedos-devel mailing list 
> [email protected] 
> https://lists.sourceforge.net/lists/listinfo/freedos-devel 
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to