Xpresso LINUX. This file gives details of a safe simple and almost completely automatic installation of the Linux operating system for PC users running DOS and/or Microsoft Windows. This file is the outline of the program. This file is named linux_x1.txt. Date of last edit 21 March 1999. Number of characters 19582. PART ONE The program Xpresso LINUX will comprise the following steps. Program code design and implementation can be structured in any way and will be decided by the program master(s). The user is asked just a few questions during the program, but is given the option at the beginning to use a fully automated runtime program (no questions asked). The question asked are not technical and have nothing to do with the computer itself - see below. 1. The program asks user to insert one 1.4 Mb floppy disk in machine and then program formats this. Program closes MS Windows if running. The Xpresso LINUX program runs on DOS from C:\ prompt.....with a graphical interface (or just a yellow screen with red letters to show Xpresso LINUX and a chart to inform user of progress and stop them thinking nothing is happening (?!?) 2. Check memory size (minimum 8 Mb recommended (though 4 Mb will work OK) and 16Mb + highly recommended to run Linux OS well). (The more the better!) Program prints this advice to screen. Automated install does not terminate for low memory. 3. Check data storage space of hard disk(s) available - (200 Mb needed for basic Linux OS plus 30Mb for Linux OS swap space - minimum - but this will change and be known at the end of this program construction). 4. Check CMOS (?) and MS DOS and Windows files (autoexec.*, config.*, Registry, .ini, .inf., .dat etc.) to identify all hardware installed, and keyb*= and country= to identify keyboard sys. to install correct keyboard mapping driver under Linux and country of user. When country= found, program displays words Welcome to Xpresso Linux in language of user on screen. 4a. Alternatively obtain all DOS/MS Windows (3.1, 95/98, NT) hardware drivers for CD Roms, modems, printers, sound cards etc. from manufacturer's web sites or Microsoft's web site and create an algorithm to obtain a unique byte string which identifies each driver. The Xpresso program will then search primary memory and hard disk(s) to locate any of these driver byte strings (fingerprint). Primary memory drivers selected in preference to other hard disk drivers found. 5. FROM ABOVE CREATE HARDWARE DATA FILE in Directory C:\XPRESSOX\ 6. The program has now checked memory, data storage space (hard disk) and hardware installed. This is printed to screen in English and their own language, informing user of the data with recommendations to - (a) End installation if insufficient hard disk space. (b) User is recommended buy more memory if less than 8 Mb, though less (4Mb minimum) will work. (c) User can check hardware found and change to others from drop down list if they wish. Program asks user to confirm if installation should continue? (Screen should show a Terminate program key such as F3 at all times so that installation program may be stopped). If fully automated runtime has been chosen, program closes now only if insufficient hard disk space. 7. Windows virtual memory (swap) is changed to temporary from permanent, if permanent is set (.ini... file). DOS/Windows SCANDISK.EXE and DEFRAG.EXE are run, if available on hard disk, to push data to start of hard disk partition(s). Due to time taken for this user is asked Yes/No?. Automated runtime choice starts each program sequentially and automatically if found. 8. Program checks CMOS for Video BIOS shadowing - ROM to RAM. If enabled program changes to disabled (as Video BIOS shadowing may cause Linux or other Unix X Windows XFree86 program to misbehave!). 9. Program runs FIPS.EXE and FDISK.EXE ( to partition hard disk and create/format one new Linux partition (file format EXT2) plus a Linux swap partition. Each large enough - 200 Mb minimum for Linux software and 30 Mb for swap (? depending on eventual size of this program), increasing up to 120 Mb maximum for swap if space is available. If available space is over 3 Gb, two swap spaces each of 120 Mb are formed. (There is also another program FIPS20.EXE available for use on Win FAT32 partitions - use this (?) if freeware??) An algorithm will recommend the partition sizes based upon total space then 5 - 5 - 1 division DOS/Windows - Linux - Linux swap (up to maximum 2 times 120 Mb for Linux swap). Thereafter division remaining space is 50/50 DOS/Windows and Linux). 10. Program installs Linux, selecting from choices of Linux OS files to match the hardware - correct modules - or writing to system files instead of choosing, for correct configuration of hardware drivers and X Windows system etc. For example 640 x 480 screen is given a 640 x 480 Linux XF86Config file Virtual screen entry and not Virtual 800 x 600 entry unlike some other Linux installations, causing unnecessary headaches for the user!! CD Rom is correctly detailed in /etc/fstab/ - one trial installation program from another company entered /dev/cdrom instead of /dev/sbpcd0 in /etc/fstab file!! 11. Linux kernel is created/compiled by make kernel based upon all the above and written to hard disk. 12. Program asks user to insert floppy disk in machine (if not there) and program creates a Linux BOOT disk to enable Linux to be started with this inserted in floppy drive. (Files include correct CD Rom driver etc). This floppy disk should already be in machine as user is asked to do this at start. 13. Program installs a file LINUX.BAT file on the DOS partition of hard disk and creates a LINUX DOS directory (C:\LINUX ) with files to boot Linux (using program LOADLIN.EXE). User can then boot Linux from DOS C:\ prompt by typing Linux and batch file will run. Or insert Linux BOOT floppy disk. (There are now two ways to start Linux.) Program checks CMOS for BOOT order and changes to A: , C: if different (e.g. C:, A:) to enable Linux BOOT from floppy drive when disk inserted. 14. Thirdly an absolutely fail SAFE installation of LILO to the hard disk file /MBR (master boot record file) will be created. This will be done so that the computer automatically boots into LILO. A file lilo.xx (?) will be correctly written with both DOS and Linux start up options (entries for other= will be included correctly written to file!!) It is essential that user is able to boot their computer into DOS/Windows as well as the new Xpresso LINUX! Lilo.xx file copies existing /MBR data adding entry for Linux as well as all other boot options. 15. Installation of Xpresso LINUX is complete and screen says in English and their own language to either (1) insert Linux floppy boot disk and reset (turn computer on) to start Linux, or (2) with MS Windows closed to type Linux from the C:\ prompt (not recommended due to small loss of memory where DOS start up files written to memory), or (3) simply turn computer off then back on where the DOS and/or LILO /MBR option has been created. (This removes any existing /MBR such as BootMagic etc, and programming must ensure that all existing Boot options are correctly entered into Lilo.xx /MBR file.) 16. Further instructions for user to enter Linux OS and work inside it are in manual - starting Linux (entering name and password), starting X Windows (startx), the DOS and Linux commands (in logical use and alphabetical use orders). After startx - using the KDE graphical interface...see file Linux_x2.txt (the manual). 17. PART TWO - after installation - XPRESSOX. Up to now a standard latest stable kernel version of Linux OS (2.0.36 (yes) or 2.2 (?) will be chosen) as at 15 March 1998) has been installed, the actual kernel MADE for the specific hardware (correct drivers/modules etc). KDE version 1.1 will be the chosen primary GUI. A small number FREE Linux programs available will also be installed by the program and correctly added to the menu of KDE graphical user X Windows shell, depending on whether the user is downloading or installing from CD Rom and has space available (?) The final choice of programs is still being compiled. Likely choices are a text editor, a few games (XTetris, Chess), Xfishtank (a very nice looking full screen aquarium with swimming fish)....Final choice still to be made. (This will depend on the Xpresso LINUX program and the CD Rom space say 600Kb. and the space available on the user's hard disk). Star Office for Linux may be offered for installation if licensing is agreed with Star Office and subject to 1. space on CD Rom and 2. space on user's new hard disk Linux partition. Source code and programming tools will not be part of the Xpresso Linux program. They will be available on either (1) a second CD Rom or (2) by download. The reason is that the Xpresso LINUX program is aimed at the 95% of DOS/MS Windows users who don't know the difference between source code and the Martian alphabet. A first rate graphical (X windows) Linux File Manager is essential and a necessary part of any computer. One must be found or built. Something very similar to Microsoft's program Winfile ( this is on your hard disk if you have W3.1, W95 or W98 ). Under Linux when a CD Rom is mounted the hardware controls are interrupted causing an inability to eject a CD Rom until it is unmounted ( umount /cdrom ). The proposed Linux File Manager will have automatic mount/unmount as the floppy drive, CD Rom, hard disk are clicked or address for file name typed... Unusual names for the new user (/dev/hda5/ ) will be indicated as Linux Files1, (/dev/hda1/) DOS Files1, by a bubble help when mouse cursor is placed over the toolbar item. Menu commands (and toolbar buttons) will have bubble help as above. The aim is so that a MS Windows user will in a few seconds see how to copy files from the hard disk to a floppy, make directories, etc. File associate will be automatically shown with list of recommended programs to Run or View file. Due to the importance of the Xpresso Linux graphical File Manager, it is unlikely that the program will be released until this is ready (?) As all computers use files so it is obvious a File Manager is the top most wanted program (!?!). Users need to make files in programs (words etc..) and then copy files to floppy disk or other media, also move files, delete files and so on. File Delete (script is rm ...etc) will have double safety warning as with MS Windows (Are you SURE - Delete File xyz.ab..???) Copy file name xyz.ab.. will have point and click for available media and ask user to insert floppy, zip disk etc. If chosen. File copy will tell user that floppy needs formatting -click for Yes (all data will be lost) etc. Xpresso LINUX is designed for existing computer users running DOS/MS Windows. Computer manufacturers will be offered the program soon after completion with a select hardware from list choice - they of course know what they are building/installing! The primary target for the program however are existing MS DOS/Windows users. After the installation of Xpresso LINUX the user will wish to upgrade kernel later on (?) and also install/remove programs and maybe add/remove hardware. Now of course they or the company doing this will know exactly what hardware it is! Therefore after installing Xpresso LINUX from DOS, the Xpresso LINUX program will have a further Linux program that can be selected from the KDE shell or run from the prompt. This will program be XPRESSOX and offer a choice of 1. Add/remove programs... 2. Add/remove hardware.... This will automate each process fully. No one will be expected to write their own script for anything!! Please consider the following for a moment. Computer programmers know that memory was and always will be in short supply ( both for man and machine!!) With computers it was decided to shorten the date from xxxx to xx. The cost a few years later (year 2000) is horrendous! An idea currently in vogue is sharing library modules between different programs. Not you note one group of programs under the control of one team. And programs added are allowed to make changes - updates(!?). Sure enough, MS Windows now find that such files as .dll are removed by one company's installation and replaced by their own version. In fact MS Windows 98 new users are already downloading the latest update .dll files and other programs delete them ...and it is hard to see just where all the problems are likely to end up. Linux is in the same position of using shared dynamic linked library files, something that smacks of DANGER! Red Hat another company that sells the Linux OS with their own installation uses a package system to install programs and check library edition numbers. If the latest version is always chosen on installation hopefully no problems will occur(?) But can this be guaranteed? No!! Some programs work at code time with a dynamic link library module but may not with another even later edition! Also subsequent program installations (different companies) can make changes to libraries with sometimes retrograde edition numbers!! Programs may crash! A FAIL SAFE alternative could be the following. A program creator uses a certain library edition number (len). On installation this should be installed inside that program's own directory (read only, root permission). A check program then accompanies this to perform the following algorithm on program installation. 1. It checks for other versions of the library on the Linux system and notes location of latest (len). 2. A start program log file is installed/used in the program's own directory to record the location of the latest (len) plus its own installed directory (len). When the program is first started, the start program log file has its own (len) and the latest installed edition (len) noted. Its own (len) has three lines (len) own - library number xxx start program 1 end program 1. The existing latest installed (len) has (len) other - library number xxx start program 1 end program 1. When the program is started it uses the latest edition of the two choices (len) library number xxx, after changing that (len) end program from 1 to 0. Then when the program is closed it asks user "Did program start and close without problems?" in their own language. If Yes, that (len) end program is changed back from 0 to 1. If this does not happen, the next time program starts, it uses its own safe installed own directory (len) which has an end program 1 (OK). A simple dialogue box will be available from within the program and can be started separately from outside the program, to enable the user to override the 0 and 1 choices of the other (len) - not its own fail safe version. Thereby a simple algorithm and a user access, gives a method to unravel a potential tangle of code and is made available for each installed program. Whilst apparently using more precious memory by running duplicate libraries for 2 or more programs (inside a protected memory OS environment) in the event of problems with shared libraries etc, this is far better than a system that doesn't work! A fail safe system for a stable computer operation is the primary motive for users to migrate from MS Windows to Linux. They must not be disappointed. This idea will be given freely to all Linux program creators. Meanwhile the Red Hat package installation system is being used by many and will be supported if there is no charge. This will be built into XPRESSOX, giving the widest choice to all. The Xpresso LINUX installation will have no special or restricted systems. It will allow anyone to install/remove anything they wish in any way they wish. XPRESSOX is there to help them add/remove software/hardware if they choose to use it. For most users this will be as important as the installation itself. One particular item, making an Internet connection, will be there in XPRESSOX to completely simplify everything. The user types in the telephone number they wish to dial into and the user name for that server and the password etc. and their modem hardware will appear (being found on installation) or they can add or change it now. The web software can be selected (e.g. Netscape which will probably be on the Xpresso Linux CD Rom) and everything is automatically completed. The program asks for CD Rom to be inserted if they are installing anything different ...etc.etc. (This point about the Internet access was added to the first draft of this file after being suggested by Marius Andreiana who is keen to help with the Xpreso Linux program. Thanks Marius!). To summarise, the Linux program XPRESSOX to add/remove programs or hardware will then be dealing with someone who knows exactly what software/hardware they are installing (!?!) we hope! A drop down list will appear for a user's choice and the hardware drivers installed and kernel modified/compiled automatically by the program. Resulting in a mcopy of files to the DOS directory C:\LINUX to update the start up kernel and the user will be asked to insert a floppy to update their Linux BOOT disk. The \MBR will indicate the same details - the files on floppy or hard disk have simply been replaced/updated. For installing programs this will depend on whether the program comes in a Red Hat package rpm ... or whatever. But the program will be installed as it requires and if they use the XPRESSOX program will add the item to the KDE shell, giving the user a choice of where to place it on the menu - which section and whether to add a toolbar program button etc. . NOTES Experimentation with other programs including booting Linux (Boot Xxxx) has found these are imperfect! For example Linux was not found on hard disk by this program!? Due to this any ideas about licensing existing commercial software have been dropped. Also in a large part due to costs involved. Xpresso LINUX will be a VERY LOW price OS program ($14.95 including CD Rom and 20 (?) page book or $4.95 from Internet download (no CD Rom or book! Just a short DOS HELP.TXT file and the manual file linux_x2.txt and (the same file) inside the Linux OS. Therefore use will be made of FREE software - freeware or public domain files and programs in the construction of Xpresso LINUX. Many components of the Xpresso LINUX system exist and simply need identifying and fitting together. The main exception is the analysis of hardware - an essential to simplify installation of Linux and ensure its safe and correct operation. Incorrect pulses/firing of electrons (the frequency to screen) can cause damage. The primary aim of Xpresso LINUX is to create a SAFE SIMPLE and fully automatic installation. The aim is a user input of ZERO or as close to this as possible. Secondly the installation must work PERFECTLY. Nothing less will do. BUGS won't exist inside the Xpresso LINUX installation program. Guaranteed!!! This is a target. The aim is to reach it. All comments suggestions will be gratefully received. Xpresso is a democracy. Everyone counts and majority vote decides!! This document is a second draft outline of the Xpresso LINUX OS. Please email with any offers/comments. Thank you Stephen Jackson Director Copyright - Xpresso Ltd. P.O. Box 11, Woodford Green, Essex, IG8 0SQ, England Tel (London) 0181 559 2600 Fax (London) 0181 498 9834 E-mail - xpresso@compuserve.com All trademarks are acknowledged. Linux is registered to Linus Torvalds.