Ok. Here are my ideas for the first installer.
Write a simple, text mode, non-configurable installer. Its first step will be to display a nice mentalunix message, and maybe an ASCII logo(I'll try and make one using GIMP + aalib). It can read these using ifstreams from MENTALUNIX or something similar. It should then display the GPL, and make the user agree to it(we also have to provide a source tarball on the site). After that, it needs to allow the user to choose either fdisk or cfdisk, although only allowing them to use one of the other would be easier. Image this:
MENU:
[F]disk
[C]fdisk
option? : d
INVALID! REenter...
[F]disk
[C]fdisk
option? : C
loading cfdisk............
Really simple, 5 or 6 lines of code(do..while a switch, and an exec). After the user partitions, the users should be allowed to run mke2fs on their new partitions(this could be complicated...). The 0.0.x installer should only allow 1 partition, and the user will have to specify it:
MENU:
[F]ormat partition with mke2fs
[S]kip formatting
option? : f
What partition: /dev/hda3
Running mke2fs........
if it fails to exec, show an error message, and then continue, or make it go back to the menu(requring a whole extra line or two or code). Next, the user has to tell the installer where / is (putting the /etc/fstab file seperate will be required..it has to be generated using an ofstream). Example:
Now, we need to know where / is. If you don't know what / is, then you really shouldn't have tried mentalUNIX. / is on what partition:
/ = ? : /dev/hda2
generating fstab...done. Mounting / on /dev/hda2.
Failed!
/ = ? : /dev/hda3
generating fstab...done. Mountin / on /dev/hda3
Succesful!
Now, the option to create initialize a swap partition might be useful(but I'm too lazy to put it where it belongs right now). So, imaging it is up by where you format /.
Next, the user has to install the system. Using a massive .bin or tar file will be good for the first few releases. I suggest taking the debian base system, and changing it a bit to have things like emacs(but no lisp) and other essentials in it. Of course, the complete system now will become the base system of the future, so maybe using ae would be better. Trying to keep it at under 30MB is a nice goal as well. Just ask the user if they want to install, and unpack the file to the root partition. Nice, simple, and easy. The last step, of course, is to assign a root password:
Please enter the password for root
pass : ******
confirm : ******
Creating user....
Your mentalunix system is ready. Yay! Reboot, and lilo will start linux.
oh, and maybe an interface to setting up lilo might be good(just take the mandrake or debian code...it will make life easier). Maybe providing the option of editing lilo.conf with ae would also be good.
The installer should fit on a floppy, but the data files should either be on an existing partition, or on a cd. After the user agrees the the GPL, they should be asked where the install.bin(or .tar.gz/bz2) file is. They enter it, and it will try to open it using an ifstream(use a pointer, so it can be de allocated after the file is guaranteed to be there...tar will handle it later, so it only needs to be confirmed being there). Over time, start getting portions running on ncurses, and start adding pacakges to the base system. From what I can guestimate, it will take 6 months to a year to get a decent installer(no GUI yet), and a good system. Using dpkg / apt as the early package manager will be a big plus, since users could get access to all of the debian, corel, storm, and progeny archives as well as the mentalunix ones. Hopefully scotfree-uk will still give us space(after taking so long), so we can set up an ftp server with pacakges.
---------------------------------------------
DO NOT REPLY TO THIS MESSAGE BY EMAIL!
---------------------------------------------
You have chosen to receive messages from "mentalunix" by email.
Reply to this message:
http://clubs.yahoo.com/clubs/mentalunix/bbsfrp?action=r&tid=mentalunix&sid=1600006580&mid=344
Unsubscribe from the Club mailing list:
http://clubs.yahoo.com/clubs/mentalunix/config/change_mb_list
Return to "mentalunix":
http://clubs.yahoo.com/clubs/mentalunix
----------------------------------------------
Not a member? Remove yourself from this list:
http://edit.clubs.yahoo.com/config/unsubscribe_mb_list?.userID=munix_devr&.groupID=mentalunix&.groupType=&.code=IVyJGMuRxG
|