You are not logged in.

#1 2007-03-25 17:14:17

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Alai - "Arch Linux Alternative Installer"

I just wanted to inform you all that I am working on an alternative installer in Python. I made a google project: http://code.google.com/p/alai

If anybody has comments, suggestions, or (constructive) criticism, please use this thread to make those discussions. I'm trying to make this installer as flexible as possible. Alai takes a configuration script and performs an unattended install with it. Thus, one could install an Arch Linux system with nothing more than Alai and a text editor or one could use one of the two official frontends I'm going to develop (one uses PyQT4 and the other uses PythonDialog for command line). Creating a frontend should be very simple. I haven't worked out any API or anything, but it should be a matter of:

import alai
# Collect data from user
alai.createScript("alaiscript.py", partitionInfo, configInfo, postInstallScripts, etc)

or by calling alai from the command line and giving it the right parameters (so that people can make frontends easily in whatever language they desire).

I have no idea when I'll have an alpha version done, but I can tell you this: "When it's done smile". Eventually it'll be available in two flavors: a liveCD and as separate pacman packages (alai, alai-pyqt4, alai-pythondialog). The liveCD will include both frontends, a simple X environment (probably with OpenBox), ndiswrapper, links, opera, vim, aterm, qtparted, and other tools that could be useful during installation. The packages can be used in any environment that has python and pacman and the extra dependencies (like the bulky QT4 and friends) are only required if you install the frontend that uses those dependencies. So, someone who does not want to download QT4 could use the Dialog version. I may eventually make a GTK version, since most people already have GTK on their machines. If this ends up actually being developed and ends up being useful, people could make unofficial frontends very easily (such as an online frontend using PHP that will generate a script and let you download it, allowing you to download all the packages you need and have the config script made from Windows so that you can go into Linux and run the install right away, even without any internet access)

Offline

#2 2007-03-25 17:18:56

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,432
Website

Re: Alai - "Arch Linux Alternative Installer"

A lot of work has been done on an installer for Archie in Python - you might like to have a look, I dunno smile

Offline

#3 2007-03-25 19:10:57

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Alai - "Arch Linux Alternative Installer"

The aim of Archie is different than my aim. Archie installs an Archie system on your computer, whereas I want to install a basic Arch installation similar to what you get off of the official installation disc. Also, I really want an automated, unattended installer as I have installed Arch several times and I waste a lot of times doing the same things over and over. With Alai I'll be able to get an entire system running all at once with one command "alai mycustominstall.tgz" or more simply "alai mycustominstall.py" (you can put it inside a tarball in order to allow bash scripts for post-install, etc.). It'll install all the packages I need, set up the config files how I want, and do any other tasks I need with post-install scripts. Literally an unattended install.

Offline

#4 2007-03-25 19:22:53

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,750

Re: Alai - "Arch Linux Alternative Installer"

unattened as in wipe your drive type of unattened?

So Alai will format partition drive load base packages kernel & then grub job done

Imagine you would have pre-defined configs for network [alrthough that can be done after reboot]

Why QT ? heavyness ?

just my thoughts


Mr Green

Offline

#5 2007-03-28 01:37:52

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Alai - "Arch Linux Alternative Installer"

I chose QT in order to learn QT. The way I'm going to code this it'll be easy to write a GTK frontend if needed. I mean, I haven't written any code for it yet (I've just messed around with QT Designer trying to get an idea about what the interface will be like). I might decide to focus on a GTK version instead for the mere fact that most people have it already.

It can partition and format your drives if you choose to let it do so. You also have the option of merely having it install into a directory you specify. All the frontend does is make an install script, so you can open up your current install script and then change the way the drives are partitioned if you like as well. I'm planning on integrating the call to alai inside the GUI on the official frontend, perhaps through pipes or some other means (I haven't tried the subprocess module yet........anybody have any other ideas for this?).

On the network pre-defined configs: all things can be pre-configured. This can be done via alai's post-install step. Whenever your system is installed (partitions are made, all selected packages are installed) the post-install step kicks in and first copies all the files in your install script tarball (remember, alai can take a tarball as an argument as well) under the "post/fs" directory and then executes all the scripts in the "post/scripts" directory. This will allow you to place all your config files you need into your tarball and they'll automatically be copied into your filesystem (for example: "alai-tarball.tgz"/post/fs/etc/rc.conf). The post-install scripts will be run in alphabetical order from the root of your new filesystem. If something needs to be run first you could name your script "0important.sh" to make sure it is run before other scripts.

Again, it may be a while before I get time to work on this. After thinking on it, I may switch to PyGTK for the official X frontend. For the liveCD, I'll probably just strip down Archie or make my own very simplistic version. Reason being, I don't need XFCE and some of the other things Archie has. I only need a web browser, text editor, libraries, modules, etc.

I'm also thinking about adding a feature that will download all the packages selected in the install script so that one can do an offline install. I'm also still working on the design of this thing. If I make the install script include alai's code inside of it, you could install Arch from any *nix environment VERY easily. I could even have it put pacman.static inside the tarball. You wouldn't have to install alai in an Arch environment in order to use a generated install script this way. Any comments or suggestions? I want this thing to be simple and flexible and useful for not only myself.

Last edited by deficite (2007-03-30 02:53:24)

Offline

#6 2007-03-28 12:48:46

cr7
Member
Registered: 2006-11-28
Posts: 103

Re: Alai - "Arch Linux Alternative Installer"

Very good, I stay tuned.

Offline

#7 2007-03-28 13:13:04

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,750

Re: Alai - "Arch Linux Alternative Installer"

you have it all worked out sounds good..

I would love to see a stripped down Archie live CD based on Arch with a installer

ok I want a live Arch version I can put on a pen drive and take with me my favorite distro where ever I go

archboot or larch may be able to do the same thing.....

I watch with interest [well you did mention Openbox!]

MrG


Mr Green

Offline

#8 2007-04-05 03:38:50

z4ziggy
Member
From: Israel
Registered: 2004-03-29
Posts: 573
Website

Re: Alai - "Arch Linux Alternative Installer"

well, thank you for waiting smile

I know i havnt said much lately, but it's mostly since everytime i thought of releasing Archie something happened... so i better not promise anything, and once we do release, it will be a nice surprise. in the meantime, you can see some of the Archie installer screenshots in here : http://z4ziggy.wordpress.com

please comment on them if you think something needs to be changed/added.

Offline

#9 2007-04-05 04:41:22

raymano
Member
Registered: 2006-10-13
Posts: 357
Website

Re: Alai - "Arch Linux Alternative Installer"

z4ziggy wrote:

well, thank you for waiting smile

I know i havnt said much lately, but it's mostly since everytime i thought of releasing Archie something happened... so i better not promise anything, and once we do release, it will be a nice surprise. in the meantime, you can see some of the Archie installer screenshots in here : http://z4ziggy.wordpress.com

please comment on them if you think something needs to be changed/added.

Does this mean grandma can finally install Arch on her own? wink

Just kidding. 

I think it looks great. I'm probably one of the few Arch Linux users that love the simple GUI installer idea. I've been skewered and burned in the IRC channel when I've mentioned it before. Can't wait to try it out.

Thanks z4ziggy.


FaunOS: Live USB/DVD Linux Distro: http://www.faunos.com

Offline

#10 2007-04-05 05:38:02

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,750

Re: Alai - "Arch Linux Alternative Installer"

@z4ziggy Wow!


Mr Green

Offline

#11 2007-04-06 03:19:48

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Alai - "Arch Linux Alternative Installer"

Looks good. However, my installer still meets different needs as I said earlier. Although your system looks good (although a little too Windowsish to me), it is an apple and my installer will be an orange (if I ever get time to work on it). Keep up the good work on Archie though! It's the best LiveCD out there.

Offline

#12 2007-04-09 07:39:42

pecan
Member
Registered: 2007-04-06
Posts: 90

Re: Alai - "Arch Linux Alternative Installer"

I'll happily test it out when its ready for any bugs on a few different systems if you like. Sounds interesting.

Offline

#13 2007-04-10 18:05:03

cr7
Member
Registered: 2006-11-28
Posts: 103

Re: Alai - "Arch Linux Alternative Installer"

I'll happily test it out when its ready for any bugs on a few different systems if you like. Sounds interesting.

Offline

#14 2007-04-10 22:43:20

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Alai - "Arch Linux Alternative Installer"

It makes me happy to see that people have interest in this. I still haven't really started work on this still, but I'm going to try to get on it, hopefully sooner than later.

Offline

#15 2007-05-12 07:48:59

s26c.sayan
Member
From: Kolkata, India
Registered: 2007-02-07
Posts: 176
Website

Re: Alai - "Arch Linux Alternative Installer"

deficite wrote:

I still haven't really started work on this still, but I'm going to try to get on it, hopefully sooner than later.

Try to make it sooner !!! smile


March Linux : An Arch Linux "distrolet" that I am trying to develop (March = My Arch!)
Please take a look......:)

Offline

#16 2007-05-12 14:56:23

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Alai - "Arch Linux Alternative Installer"

Well, I may get a chance to work on it in the next few weeks. I graduate high school on the 18th, so I'll have the summer to work on various projects.

Offline

#17 2007-05-12 15:09:08

s26c.sayan
Member
From: Kolkata, India
Registered: 2007-02-07
Posts: 176
Website

Re: Alai - "Arch Linux Alternative Installer"

deficite wrote:

Well, I may get a chance to work on it in the next few weeks. I graduate high school on the 18th, so I'll have the summer to work on various projects.

That's great!! smile Do keep me (us) posted!!!


March Linux : An Arch Linux "distrolet" that I am trying to develop (March = My Arch!)
Please take a look......:)

Offline

#18 2007-05-12 15:50:11

ralvez
Member
From: Canada
Registered: 2005-12-06
Posts: 1,549
Website

Re: Alai - "Arch Linux Alternative Installer"

About a year and a half ago I began to 'promote' and install Arch on the computers of family members/friends, therefore decided to make some sort of automated install.
At the time I used bash here is the code for you to see:

#!/bin/bash

user=$UID

 if [ $user != 0 ] 
  then
  echo "Sorry. Only ROOT can run this program !"
  exit
 else
  echo "###############( Updating Programs )###############"
  echo
  echo "Start: " 
  date
 fi

# Basic programs

function baseprogs(){

echo "==============( Basic Programs )================="
echo

  for PROGRAM in xorg xorg-apps cups kde firestarter
  do 
   echo +=========================+
   echo "PROGRAM: $PROGRAM"
   echo +=========================+
   echo
   pacman -Sy --noconfirm $PROGRAM 
   echo -e \\n\\n
  done
}

# Productivity tools

function productivity(){

echo "==============( Productivity Programs )================="
echo

  for PROGRAM in libdvdcss k3b gaim htop screen gkrellm gkrellmlaunch gkrellweather hwd openssh ntp host mc yakuake ethtool
  do 
   echo +=========================+
   echo "PROGRAM: $PROGRAM"
   echo +=========================+
   echo
   pacman -Sy --noconfirm $PROGRAM 
   echo -e \\n\\n
  done
}

# Web Development

function webdev(){

echo "==============( Web Development Programs )================="
echo

  for PROGRAM in bluefish cssed kdewebdev apache mod_python php mysql mysql-python 
  do 
   echo +=========================+
   echo "PROGRAM: $PROGRAM"
   echo +=========================+
   echo
   pacman -Sy --noconfirm $PROGRAM 
   echo -e \\n\\n
  done
}

# Multimedia

function multimedia(){

echo "==============( Multimedia Programs )================="
echo

  for PROGRAM in xine-lib xine-ui amarok-engine-xine alsa-lib alsa-oss alsa-utils alsaplayer gstreamer0.10-alsa alsa-plugins mplayer mplayer-plugin amarok-base amarok-engine-xine gstreamer0.10 xbindkeys
  do 
   echo +=========================+
   echo "PROGRAM: $PROGRAM"
   echo +=========================+
   echo
   pacman -Sy --noconfirm $PROGRAM 
   echo -e \\n\\n
  done
}

# Office productivity programs

function office(){

echo "==============( Office Programs )================="
echo

  for PROGRAM in jre openoffice-base openoffice-spell-en openoffice-es
  do 
   echo +=========================+
   echo "PROGRAM: $PROGRAM"
   echo +=========================+
   echo
   pacman -Sy --noconfirm $PROGRAM 
   echo -e \\n\\n
  done
}

# MS-True Type fonts

function ttfonts(){

  echo +=========================+
  echo "Program: MS-TT Fonts"
  echo +=========================+
  echo
  pacman -Sy --noconfirm ttf-ms-fonts echo -e \\n\\n
}


baseprogs
productivity
multimedia
office
ttfonts
webdev

echo "All done!"

It is clear that the aim of this script is not as ambitious as your program. but it works fine. I've always considered adding a "friendly front end" with Python, which I have not done so far roll but I hope this script may contain something that may give you more  design ideas.

I always thought that "desired" packages could be in a Python dictionary list, making it easy to the user to select 'Open Office" but passing the correct "openoffice-base" to the installer.

I think it is a very nice idea you have had, keep working on it!

R.

Offline

Board footer

Powered by FluxBB