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