Hi there,

First of all, I am new to this list, though I am reading it for a long
time now. I really like spending hours on reading topics...
I don't know which is the best place for this message. As it is about
development I stick to freedos-devel. Is it ok to also send to
freedos-user, because in the end it will affect users when used. And
maybe users have suggestions for easy usage ;)
Or would it be better to wait until I have something to release and then
put another message on freedos-user without the dev related stuff?

I am in progress of making a floppy disk distribution of FreeDOS. I am
not totally ready to publish it and more and more questions arise, this
is why I write here, before doing all the work to the end and then
realize it was the wrong way ;)
Mainly I want encouragement or a "hey, this is not going to work like
this!". The section "Desc. of Installer / Please comment" describes the
installation process. I want you guys to comment on that. Do you have
any suggestions on this procedure? The whole mail is spotted with
questions and assumptions. I want answers and corrections ;)


# why?

I don't need FreeDOS on computers that have a CD-drive, for these I use
more unix-like OSes (minix, linux, *bsd). I use it on 2 single board
computers, an old laptop that has no CD, no LAN. I have searched for
floppy images and found a post on mailing list or a bug, which I can't
find right now to link it here, that asks for floppy images. Someone
(maybe Jim Hall?) answered that it is possible but due to lack of demand
and man-power no one has made it.


# What is it?

It is *not* a full blown FreeDOS installation. It is a base-system+self
written installer that fits on one single floppy disk. Installer has the
ability to "install additional disks". This menu-entry will, if
selected, wait for floppy change and then execute a .bat file on this
disk. This makes it very easy for users to build their own custom
additional disks.
For example a file commander (like VC) in a zip file on a disk, can be
copied and unpacked by this bat to disk.


# Screenshots
As my message was too big with screenshots, I have uploaded em here:
https://raw.githubusercontent.com/spacerace/snippets/master/screenshots/dosinst/di00.png
https://raw.githubusercontent.com/spacerace/snippets/master/screenshots/dosinst/di01.png
https://raw.githubusercontent.com/spacerace/snippets/master/screenshots/dosinst/di02.png
https://raw.githubusercontent.com/spacerace/snippets/master/screenshots/dosinst/di03.png
https://raw.githubusercontent.com/spacerace/snippets/master/screenshots/dosinst/di04.png
https://raw.githubusercontent.com/spacerace/snippets/master/screenshots/dosinst/di05.png
These screenshots were taken using dosbox on linux.

# Description of Installer / Please comment

It is a menu based design, rather than the step-by-step design like
MS-DOS installer uses. I wanted to have this for most flexibility and
easy usage.
As you can see on screenshots I have implemented it with these steps:
* Setup Keyboard
* Setup HDD (executes fdisk, asks for executing format C:, asks for sys C:)
* Configure (Date, Time, DOS-Folder, xcdrom, ctmouse, himem, emm386)
* Do the installation
* Run A:POSTINST.BAT for easy adding stuff by user
* Additional Disks (executes bat on another disk)

Every step may be omitted. For example, if you already have a properly
set up hard disk or if you don't need a keyboard driver (for default EN
keyboard).
Due to "it was too complex and is not needed by me up to now" I have
fixed every possible drive-selection for destination to C, for source to
A. I have never needed something else, if you think else, please write back.

I also have added a few command line options, as you can see in last
screenshot.
/AUTO will do a default installation, totally automatic including
fdisk,format,sys,copy,...
/COMPATVIDEO forces the installer to use VIDEO BIOS rather than direct
video card access. This is useful if you have a not 100% IBM compatible
machine, but makes video out notably slower.
/MONOVIDEO forces black/white color scheme, if you have problems reading
text on a mono display.
/README is the same as pressing "F1" in installer, it pages A:README.TXT
/? /H /HELP is the same, prints help like seen on last screenshot.


# Packages
I have taken the base-packages (zips) and removed everything
unneccessary in these, only leaving the bins in zip. These packages are
on disk right now:
APPEND
ASSIGN
ATTRIB
CHKDSK
CHOICE
COMMAND
COMP
CPIDOS
CTMOUSE
DEBUG
DEFRAG
DELTREE
DEVLOAD
DISKCOMP
DISKCOPY
DISPLAY
DOSFSCK
EDIT
EXE2BIN
FC
FDAPM
FDISK
FDXMS
FDXMS286
FIND
FORMAT
GRAPHICS
HIMEMX
JEMM
KERNEL
KEYB
KEYB_LAY
LABEL
LBACACHE
MEM
MIRROR
MKEYB
MODE
MORE
MOVE
NANSI
NLSFUNC
PRINT
RECOVER
REPLACE
SHARE
SHSUCDX
SORT
SWSUBST
TREE
UNDELETE
UNFORMAT
XCOPY
They makes 1.240k in total. cdrom driver is still missing on floppy (not
worked on this yet). command, format, sys, mkeyb and pkunzip are on
floppy unzipped. This takes some space. I have approx. ~100k free for my
installer and configuration stuff.



# size

The installer's size right now is at ~30k (bin size), I use upx to
compress it for floppy distribution, which makes a ~60%-sized binary. If
upx causes any problems, I won't stick to it.
Do you know about common problems with upx? For example something like
"It does not work at all on a 286". As 286-486 are the main desired
targets of this floppy it would be a pity, having a not-working installer...



# the smallest unzip?

The smallest unzip tool I could find is pkunzip. As this is not free, is
there another, very small!, unzipper?Is there another compression
method, that would give me better results that does not neet DPMI or is
300k in size - this wouldn't be a step forward. pkunzip comes in less
than 30k.
As DPMI is limited to half of the machines, this distribution is
intended for, it is not an option.



# Tested

I do not remember all the product number of all my machines. If it is
missing and the description is too short, feel free to ask -> I'll have
a look and send it. I have tested this on following machines:

* A single board computer, VOX Tech. AP40AHD. 486DX2/66, 16MB RAM,
ET4000, 250MB IDE-HDD
* A single board computer from an church organ, no model number on it,
486SX/25, 4MB RAM, 128MB CF-IDE, Trident 8900 VGA
* Compaq 486 Laptop, model number ripped off case, 8MB RAM, 250MB IDE HDD
* HP Omnibook 2100 Pentium 2/233, 192MB RAM, 30GB HDD
* Pentium 2, Gigabyte GA686LX, ATI Rage2C VGA, 64MB RAM, 8GB CF-IDE
* Dell OptiPlex something bla bla, Celeron 1.4GHz, 256MB RAM, 40GB HDD
* A cash register with AMD K6/266, 128MB RAM, Chips CS56... or something
like that (a LCD panel controller), 20GB HDD
* AMD Duron 900, 256MB RAM, S3 PCI VGA and ATI Rage2C AGP (both tested
alone, not together), 80GB HDD
* AMD Athlon XP 2400+, 2GB RAM, Geforce2 MX440 64MB AGP, 80GB SATA HDD

I do not own any older (8086/88, 286, 386) machines, I am going to set
up a few PCEM-machines...
I also have tested on qemu, virtualbox and bochs, host is gentoo linux
on an i5-520m with 2GB RAM.


# Disks

I've never seen any 2.88MB floppy out in the wild, so I decided to use
1.44MB. 1.7MB formatted floppies are tricky to get an image on it with
USB-floppies, if not impossible. Any suggestions or should i stick to
1.44MB disks for maximum compatiblity?


# what license for installer?

What license do you guys suggest? I want to keep away people trying to
make money, but I don't want any further restrictions.
Also I want to keep the right to do a fork with a new license in a few
years. For example, if someone wants to buy this software to legally
remove copyright messages, I want to be able to offer under a new,
custom, license, assuming that I am still the only rights-holder.


# where is this leading to?

I want to make such a distribtion for FD1.2, also for upcoming releases.
I want to make additional disks (like explained above) (dev-tools,
disk-utils, networking, games, ...   splitted it categories like these)


# Hosting

As I assume, this is not going to be something official and supported I
think I will release it on my github account along with some
documentation to it.
Any other suggestions?


# toolchain
As I've read on the mailing list, somewhere in past people were
complaining about non-free tools. I am using Borland C++ 3.1 for a few
reasons:

* I do the development on an 486 Laptop with 8MB RAM and 80x25
Text/640*480 GFX, it has to work on this old machine.
* There is no text mode IDE that has syntax highlighting, online help
(go to a keyword, press CTRL-F1, you're directly at it's documentation)
and debugger, that works as good as BCPP3.
* For me it's free as I own a legal copy and didn't have to pay for it.
If you need, mail me off list. There are several places on the net
sharing this software, I can point to.

I really don't care about using non-free tools to build free software,
as long as people can get hands on it without much effort. It is not a
religious question for me and please, I don't want to discuss that.
If some comminuty rules or license terms would make my software totally
incompatible to FreeDOS I am willing to rethink and change to Watcom or
bcc/dev86. Everything is written by myself, no windowing-libs like
TurboVISION, it should be pretty straight forward to port to another
compiler.

And yes, I know rhide, I dont like it. It's usage and look is similar to
Borland's, but it is not Borland. Also djgpp is so fucking slow and
binaries are too big for usage on a floppy disk distribution. Also
djgpp's binaries are limited to 32bit machines, not very dos-like and
same problem as with DPMI.



PS: I thought about writing a quick mail about the installer, but this
message has taken 2 hours and I still have unwritten things on my mind,
but these later.

I hope for response.


Thanks,
Nils Stec




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to