Difference between revisions of "Talk:FreeLinkomatix"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m
(fixed all links in freelinkomatix + postinstall)
 
(35 intermediate revisions by 5 users not shown)
Line 23: Line 23:
 
# The script is kept on the LinkStation wiki in the talk page:                #   
 
# The script is kept on the LinkStation wiki in the talk page:                #   
 
#                                                                            #   
 
#                                                                            #   
#        http://linkstationwiki.net/index.php?title=Talk:FreeLinkomatix       #
+
#        http://www.linkstationwiki.net/index.php?title=Talk:FreeLinkomatix   #
 
#                                                                            #
 
#                                                                            #
 
# A full Description of the Project is at:                                    #
 
# A full Description of the Project is at:                                    #
Line 30: Line 30:
 
###############################################################################
 
###############################################################################
  
wget http://downloads.linkstationwiki.net/freelinkomatix/freelinkomatix.sh -O newest
+
wget http://downloads.linkstationwiki.net/Installers/Freelinkomatix/freelinkomatix.sh -O newest
 
if ! diff freelinkomatix.sh newest >> /dev/null ; then
 
if ! diff freelinkomatix.sh newest >> /dev/null ; then
 
   rm newest
 
   rm newest
Line 38: Line 38:
 
   echo " get it from:"
 
   echo " get it from:"
 
   echo " "
 
   echo " "
   echo " http://downloads.linkstationwiki.net/freelinkomatix/freelinkomatix.sh"
+
   echo " http://downloads.linkstationwiki.net/Installers/Freelinkomatix/freelinkomatix.sh"
 
exit 1
 
exit 1
 
else
 
else
Line 48: Line 48:
 
###############################################################################
 
###############################################################################
 
clear
 
clear
echo 'Ping ns.internic.net to see if you are connected to the internet'
+
echo 'Ping ns1.isi.edu to see if you are connected to the internet'
 
echo ' '
 
echo ' '
 
echo '**This may take a few moments so be patient**'
 
echo '**This may take a few moments so be patient**'
 
echo ' '
 
echo ' '
if ping -q -c 10 198.41.0.4 ; then
+
if ping -q -c 10 192.228.79.201 ; then
   echo ' use <host> on a.root-servers.net'
+
   echo ' use <host> on b.root-servers.net'
     if ! host a.root-servers.net | grep 198.41.0.4 ; then
+
     if ! ping -q -c 1  b.root-servers.net | grep 192.228.79.201 ; then
 
       echo 'adding nameserver 217.115.138.24 to /etc/resolv.conf'
 
       echo 'adding nameserver 217.115.138.24 to /etc/resolv.conf'
 
       echo 'nameserver 217.115.138.24'  >> /etc/resolv.conf
 
       echo 'nameserver 217.115.138.24'  >> /etc/resolv.conf
Line 71: Line 71:
 
###############################################################################
 
###############################################################################
  
ERROR="0"
+
ERROR="1"
uname -m | grep -q ppc || ERROR="1"
+
uname -m | grep -q ppc && ERROR="0"
 +
uname -m | grep -q arm && ERROR="0"
 
uname -m | grep -q mips && ERROR="0"
 
uname -m | grep -q mips && ERROR="0"
  
 
if [ "$ERROR" == "1" ] ; then
 
if [ "$ERROR" == "1" ] ; then
 
         echo ""
 
         echo ""
         echo "FATAL: Currently, only MIPS and PPC-based Linkstations are supported."
+
         echo "FATAL: Currently, only PPC, ARM and MIPSel based Linkstations are supported."
 
         echo "--> Cannot continue."
 
         echo "--> Cannot continue."
 
         echo ""
 
         echo ""
Line 85: Line 86:
 
# Recognize and set processor variable
 
# Recognize and set processor variable
 
uname -m | grep -q ppc && PROCESSOR="ppc"
 
uname -m | grep -q ppc && PROCESSOR="ppc"
 +
uname -m | grep -q arm && PROCESSOR="arm"
 
uname -m | grep -q mips && PROCESSOR="mips"
 
uname -m | grep -q mips && PROCESSOR="mips"
 
# Recognize Kernel 2.4 LinkStation Flavors  
 
# Recognize Kernel 2.4 LinkStation Flavors  
Line 90: Line 92:
 
uname -r | grep -q "2.4.20_mipsel_linkstation" && FLAVOR="ls2"
 
uname -r | grep -q "2.4.20_mipsel_linkstation" && FLAVOR="ls2"
 
uname -r | grep -q "2.4.20_mvl31-ppc_linkstation" && FLAVOR="hg"
 
uname -r | grep -q "2.4.20_mvl31-ppc_linkstation" && FLAVOR="hg"
 +
uname -r | grep -q "2.4.17_kuro-box" && FLAVOR="kb"
 +
uname -r | grep -q "2.4.20_mvl21" && FLAVOR="hg"
 
# Recognize Kernel 2.6 LinkStation Flavors  
 
# Recognize Kernel 2.6 LinkStation Flavors  
 
uname -r | grep "2.6" | grep kurobox | grep -q -v HG && FLAVOR="ls1"
 
uname -r | grep "2.6" | grep kurobox | grep -q -v HG && FLAVOR="ls1"
 
uname -r | grep "2.6" | grep kurobox | grep -q HG && FLAVOR="hg"
 
uname -r | grep "2.6" | grep kurobox | grep -q HG && FLAVOR="hg"
 +
uname -r | grep "2.6" | grep arm | grep -q LS-GL && FLAVOR="gl"
  
 
###############################################################################
 
###############################################################################
Line 123: Line 128:
 
echo "The following will automatically be installed:"
 
echo "The following will automatically be installed:"
 
echo " 1. Update apt-repositories...."
 
echo " 1. Update apt-repositories...."
echo " 2. Move /home /usr /var from hda1 to hda3 and create symlinks"
+
echo " 2. Install DHCP-3 client if not present"
echo " 3. Install Samba and Webmin"
+
echo " 3. Move /home /usr /var from hda1 to hda3 and create symlinks"
echo " 4. Troubleshooting Windows shares (samba) - guest access"
+
echo " 4. Install Samba"
echo " 5. Allow all IPs for Webmin"
+
echo " 5. Troubleshooting Windows shares (samba) - guest access"
echo " 6. Install SSH SSHd and the associated Webmin module"
+
echo " 6. Install Webmin 1.3 and StressFree Solutions Tiger Webmin Theme"
echo " 7. Install ProFTPd and Webmin module"
+
echo " 7. Allow all IPs for Webmin"
echo " 8. Download StressFree Solutions Tiger Webmin Theme"
+
echo " 8. Install SSH SSHd and the associated Webmin module"
echo " 9. Configure the time zone and use NTPdate"
+
echo " 9. Install ProFTPd and Webmin module"
echo "10. Install the Precompiled C development environment"
+
echo "10. Configure the time zone and use NTPdate"
echo "11. Upgrade to Kernel 2.6 using Andre's web installer"
+
echo "11. Install the Precompiled C development environment"
 +
echo "12. Upgrade to Kernel 2.6 using Andre's web installer (PPC Only)"
 
echo " "
 
echo " "
 
echo -n "Proceed? (y/n)"
 
echo -n "Proceed? (y/n)"
Line 156: Line 162:
  
 
###############################################################################
 
###############################################################################
#Install DHCP-3 client if not present                                           #
+
#Install DHCP-3 client if not present                                         #
 
###############################################################################
 
###############################################################################
  
apt-get install dhcp3-client  
+
dpkg --purge dhcpcd
 +
apt-get -y  install dhcp3-client  
  
 
###############################################################################
 
###############################################################################
#Move /home /usr /var  from hda1 to hda3 and create symlinks                 #
+
#(ppc/mips) Move /home /usr /var  from hda1 to hda3 and create symlinks       #
 +
#(arm)      Move /home /usr  from sda1 to sda6 and create symlinks            #
 
###############################################################################
 
###############################################################################
clear
+
 
echo " "
+
if ls -l / | grep /mnt > /dev/null ; then
echo "Move /home /usr /var from hda1 to hda3 and create symlinks"
+
  echo "you already moved root directories to /mnt"
echo "-----------------------------------------------------------"
+
else
echo " Eventually you will probably run out of hard drive space on hda1 "
+
  clear
echo " (the location of the OS, and the default location of installed programs),"  
+
  echo " "
echo " You can free up space by moving some of the files to hda3 "
+
  if [ "$PROCESSOR" == "arm" ] ; then
echo " (the large partition containing the network shares) by moving:"  
+
  echo "Move /home /usr  from sda1 to sda6 and create symlinks"
echo " "
+
  echo "-----------------------------------------------------------"
if [ "$PROCESSOR" == "ppc" ] ; then
+
  echo " Eventually you will probably run out of hard drive space on hda1 "
   echo " /home to  /mnt/home"
+
  echo " (the location of the OS, and the default location of installed programs),"  
  echo " /usr to  /mnt/usr"
+
  echo " You can free up space by moving some of the files to hda3 "
  echo " /var  to /mnt/var"  
+
  echo " (the large partition containing the network shares) by moving:"  
fi
+
  else
if [ "$PROCESSOR" == "mips" ] ; then
+
   echo "Move /home /usr /var  from hda1 to hda3 and create symlinks"
   echo " /home to /mnt/hda/home"
+
   echo "-----------------------------------------------------------"
   echo " /usr  to /mnt/hda/usr"
+
   echo " Eventually you will probably run out of hard drive space on hda1 "
   echo " /var  to /mnt/hda/var"
+
   echo " (the location of the OS, and the default location of installed programs),"  
fi
+
  echo " You can free up space by moving some of the files to hda3 "
echo " "
+
  echo " (the large partition containing the network shares) by moving:"  
echo " And creating symlinks. You will rapidly run out of space in debian"  
+
  echo " "
echo " unless you do something to free up space on hda1"
+
  fi
echo " "
+
echo " "
+
sleep 2
+
 
   if [ "$PROCESSOR" == "ppc" ] ; then
 
   if [ "$PROCESSOR" == "ppc" ] ; then
     cp -Rdp /home /mnt
+
     echo " /home to  /mnt/home"
    rm -R  /home
+
     echo " /usr to  /mnt/usr"
     ln -s /mnt/home /home
+
     echo " /var to  /mnt/var"
    cp -Rdp /usr /mnt
+
    rm -R  /usr
+
     ln -s /mnt/usr /usr
+
    cp -Rdp /var /mnt
+
    rm -R  /var
+
    ln -s /mnt/var /var
+
 
   fi
 
   fi
 
   if [ "$PROCESSOR" == "mips" ] ; then
 
   if [ "$PROCESSOR" == "mips" ] ; then
     cp -Rdp /home /mnt/hda
+
     echo " /home to /mnt/hda/home"
 +
    echo " /usr  to /mnt/hda/usr"
 +
    echo " /var  to /mnt/hda/var"
 +
  fi
 +
  if [ "$PROCESSOR" == "arm" ] ; then
 +
    echo " /home to /mnt/disk1/home"
 +
    echo " /usr  to /mnt/disk1/usr"
 +
  fi
 +
 
 +
  if [ "$PROCESSOR" == "arm" ] ; then
 +
   
 +
    echo " "
 +
    echo " And creating symlinks. You will rapidly run out of space in debian"
 +
    echo " unless you do something to free up space on sda1"
 +
    echo " "
 +
    echo " "
 +
    sleep 2
 +
 
 +
    DIR="$(mount | grep sda6 | awk '{print $3}')"
 +
    cp -Rdp /home ${DIR}
 
     rm -R  /home
 
     rm -R  /home
     ln -s /mnt/hda/home /home
+
     ln -s ${DIR}/home /home
     cp -Rdp /usr /mnt/hda
+
     cp -Rdp /usr ${DIR}
 
     rm -R  /usr
 
     rm -R  /usr
     ln -s /mnt/hda/usr /usr
+
     ln -s ${DIR}/usr /usr
     cp -Rdp /var /mnt/hda
+
     # currently not working because of some nfs-related files in /var/lib/nfs
 +
    #cp -Rdp /var ${DIR}
 +
    #rm -R  /var
 +
    #ln -s ${DIR}/var /var
 +
  else
 +
 
 +
    echo " "
 +
    echo " And creating symlinks. You will rapidly run out of space in debian"
 +
    echo " unless you do something to free up space on hda1"
 +
    echo " "
 +
    echo " "
 +
    sleep 2
 +
 
 +
    DIR="$(mount | grep hda3 | awk '{print $3}')"
 +
    cp -Rdp /home ${DIR}
 +
    rm -R  /home
 +
    ln -s ${DIR}/home /home
 +
    cp -Rdp /usr ${DIR}
 +
    rm -R  /usr
 +
    ln -s ${DIR}/usr /usr
 +
    cp -Rdp /var ${DIR}
 
     rm -R  /var
 
     rm -R  /var
     ln -s /mnt/hda/var /var
+
     ln -s ${DIR}/var /var
   fi  
+
   fi
 
+
fi
  
 
###############################################################################
 
###############################################################################
Line 240: Line 278:
  
 
###############################################################################
 
###############################################################################
#Install Samba and Webmin                                                    #
+
#Install Samba                                                               #
 
###############################################################################
 
###############################################################################
 
clear
 
clear
 
echo " "
 
echo " "
echo "Install Samba and Webmin"
+
echo "Install Samba"
 
echo "------------------------"
 
echo "------------------------"
 
echo " Samba is a free software implementation of Microsoft's networking"
 
echo " Samba is a free software implementation of Microsoft's networking"
Line 250: Line 288:
 
echo " Samba not only provides file and print services for various Microsoft"
 
echo " Samba not only provides file and print services for various Microsoft"
 
echo " Windows clients"
 
echo " Windows clients"
echo " "
 
echo " Webmin is a system configuration tool for Unix-like systems. It"
 
echo " has a web-based interface (GUI) desktop environment independent, for"
 
echo " configuring some of the internals of the operating system."
 
echo " Webmin is largely based on Perl, and is running as its own process"
 
echo " and webserver. It usually uses TCP port 10000 for communicating "
 
 
echo " "
 
echo " "
 
echo " "
 
echo " "
 
  sleep 2  
 
  sleep 2  
 
  apt-get install samba smbfs
 
  apt-get install samba smbfs
apt-get install webmin webmin-core webmin-cpan webmin-inetd webmin-logrotate webmin-firewall
 
apt-get install webmin-samba
 
  
 
###############################################################################
 
###############################################################################
Line 270: Line 300:
 
echo "Troubleshooting Windows shares (samba) - guest access"
 
echo "Troubleshooting Windows shares (samba) - guest access"
 
echo "-----------------------------------------------------"
 
echo "-----------------------------------------------------"
echo " This will pick a directory  /mnt/share and change the access"  
+
 
 +
if [ "$PROCESSOR" == "ppc" ] ; then
 +
  echo " This will pick a directory  /mnt/share and change the access"  
 +
fi
 +
if [ "$PROCESSOR" == "mips" ] ; then
 +
  echo " This will pick a directory  /mnt/hda/share and change the access"
 +
fi
 +
if [ "$PROCESSOR" == "arm" ] ; then
 +
  echo " This will pick a directory  /mnt/disk1/share and change the access"
 +
fi
 +
 
 
echo " permissions to make it readable and writable to everybody."
 
echo " permissions to make it readable and writable to everybody."
 
echo " "
 
echo " "
Line 279: Line 319:
 
echo -n "Do you want to enable guest access for Samba? (y/n)"
 
echo -n "Do you want to enable guest access for Samba? (y/n)"
 
read -e ANSWER  
 
read -e ANSWER  
 +
 +
  WORKGROUP="WORKGROUP"
 +
  LINKSTATION="LinkStation"
 +
 
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
echo " "
+
  echo " "
echo -n "What is your windows workgroup name ie: MSHOME or WORKGROUP? "
+
echo -n "What is your windows workgroup name ie: MSHOME or WORKGROUP? (Default will be WORKGROUP)"  
read -e WORKGROUP
+
read -e WORKGROUP
  mkdir /mnt/share
+
# if [ "$WORKGROUP" == "" ] ; then
chmod 777 /mnt/share
+
#    WORKGROUP="WORKGROUP"
mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
+
#  fi
echo '' >> /etc/samba/smb.conf
+
#  echo " "
echo '[global] ' >> /etc/samba/smb.conf
+
#  echo -n "What do you want the name of your linkstation to be on the network (Default will be LinkStation)"
echo ' security = share ' >> /etc/samba/smb.conf
+
#  read -e LINKSTATION
echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
+
#  if [ "$LINKSTATION" == "" ] ; then
echo ' create mode = 777 ' >> /etc/samba/smb.conf
+
#    LINKSTATION="LinkStation"
echo ' directory mode = 777 ' >> /etc/samba/smb.conf
+
#  fi
echo ' ' >> /etc/samba/smb.conf
+
#  hostname $LINKSTATION
echo '[share] ' >> /etc/samba/smb.conf
+
#  rm /tmp/file
echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
+
#  echo "127.0.0.1 "  $LINKSTATION >> /tmp/file
echo ' path = /mnt/share ' >> /etc/samba/smb.conf
+
#  grep -v 127.0.0.1  /etc/hosts >> /tmp/file
echo ' read only = no ' >> /etc/samba/smb.conf
+
#  cat /tmp/file > /etc/hosts
echo ' public = yes ' >> /etc/samba/smb.conf
+
 
/etc/rc.d/init.d/samba restart
+
  if [ "$PROCESSOR" == "ppc" ] ; then
 +
  mkdir /mnt/share
 +
  chmod 777 /mnt/share
 +
  mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
 +
  echo '' >> /etc/samba/smb.conf
 +
  echo '[global] ' >> /etc/samba/smb.conf
 +
  echo ' security = share ' >> /etc/samba/smb.conf
 +
  echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
 +
  echo ' create mode = 777 ' >> /etc/samba/smb.conf
 +
  echo ' directory mode = 777 ' >> /etc/samba/smb.conf
 +
  echo ' ' >> /etc/samba/smb.conf
 +
  echo '[share] ' >> /etc/samba/smb.conf
 +
  echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
 +
  echo ' path = /mnt/share ' >> /etc/samba/smb.conf
 +
  echo ' read only = no ' >> /etc/samba/smb.conf
 +
  echo ' public = yes ' >> /etc/samba/smb.conf
 +
  /etc/rc.d/init.d/samba restart
 +
  fi
 +
  if [ "$PROCESSOR" == "mips" ] ; then
 +
  mkdir /mnt/hda/share
 +
  chmod 777 /mnt/hda/share
 +
  mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
 +
  echo '' >> /etc/samba/smb.conf
 +
  echo '[global] ' >> /etc/samba/smb.conf
 +
  echo ' security = share ' >> /etc/samba/smb.conf
 +
  echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
 +
  echo ' create mode = 777 ' >> /etc/samba/smb.conf
 +
  echo ' directory mode = 777 ' >> /etc/samba/smb.conf
 +
  echo ' ' >> /etc/samba/smb.conf
 +
  echo '[share] ' >> /etc/samba/smb.conf
 +
  echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
 +
  echo ' path = /mnt/hda/share ' >> /etc/samba/smb.conf
 +
  echo ' read only = no ' >> /etc/samba/smb.conf
 +
  echo ' public = yes ' >> /etc/samba/smb.conf
 +
  /etc/rc.d/init.d/samba restart
 +
  fi
 +
 
 +
  if [ "$PROCESSOR" == "arm" ] ; then
 +
  mkdir /mnt/disk1/share
 +
  chmod 777 /mnt/disk1/share
 +
  mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
 +
  echo '' >> /etc/samba/smb.conf
 +
  echo '[global] ' >> /etc/samba/smb.conf
 +
  echo ' security = share ' >> /etc/samba/smb.conf
 +
  echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
 +
  echo ' create mode = 777 ' >> /etc/samba/smb.conf
 +
  echo ' directory mode = 777 ' >> /etc/samba/smb.conf
 +
  echo ' ' >> /etc/samba/smb.conf
 +
  echo '[share] ' >> /etc/samba/smb.conf
 +
  echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
 +
  echo ' path = /mnt/disk1/share ' >> /etc/samba/smb.conf
 +
  echo ' read only = no ' >> /etc/samba/smb.conf
 +
  echo ' public = yes ' >> /etc/samba/smb.conf
 +
  /etc/rc.d/init.d/samba restart
 +
  fi
 
fi
 
fi
 +
 +
###############################################################################
 +
#Install Webmin 1.3 and StressFree Solutions Tiger Webmin Theme              #
 +
###############################################################################
 +
clear
 +
echo " "
 +
echo "Install Webmin 1.3 and StressFree Solutions Tiger Webmin Theme"
 +
echo "------------------------------------------------"
 +
echo " Webmin is a system configuration tool for Unix-like systems. It"
 +
echo " has a web-based interface (GUI) desktop environment independent, for"
 +
echo " configuring some of the internals of the operating system."
 +
echo " Webmin is largely based on Perl, and is running as its own process"
 +
echo " and webserver. It usually uses TCP port 10000 for communicating "
 +
echo "  "
 +
echo " The Tiger webmin theme features a completely new graphical look,"
 +
echo " high colour icons, dropdown menus and an AJAX search tool for "
 +
echo " locating Webmin modules quickly. It has been tested in Firefox,"
 +
echo " Safari and Internet Explorer."
 +
echo " "
 +
echo "    Find out more here: http://www.stress-free.co.nz/webmin-theme"
 +
echo " "
 +
sleep 2
 +
 +
  apt-get install webmin webmin-core webmin-cpan webmin-inetd webmin-logrotate webmin-firewall
 +
  apt-get install webmin-samba
 +
  apt-get install perl  libnet-ssleay-perl  openssl libauthen-pam-perl libpam-runtime libio-pty-perl
 +
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://mesh.dl.sourceforge.net/sourceforge/webadmin/webmin_1.300_all.deb
 +
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://downloads.linkstationwiki.net/freelinkomatix/webmin_1.300_all.deb
 +
  dpkg -i webmin_1.300_all.deb
 +
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://www.stress-free.co.nz/files/theme-stressfree.tar.gz
 +
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://downloads.linkstationwiki.net/freelinkomatix/theme-stressfree.tar.gz
 +
  tar -C /usr/share/webmin -xvzf theme-stressfree.tar.gz
 +
  sed -e 's@^preroot.*$@preroot=theme-stressfree@ ; s@^allow.*$@@' < /etc/webmin/miniserv.conf > /tmp/file
 +
  cat /tmp/file > /etc/webmin/miniserv.conf
 +
  sed -e 's@^theme.*$@theme=theme-stressfree@' < /etc/webmin/config > /tmp/file
 +
  cat /tmp/file > /etc/webmin/config
 +
  /etc/webmin/restart
  
 
###############################################################################
 
###############################################################################
Line 325: Line 460:
 
echo " "
 
echo " "
 
  sleep 2  
 
  sleep 2  
cat /etc/webmin/miniserv.conf | grep -v allow= > tmp
+
 
mv tmp /etc/webmin/miniserv.conf
+
# cat /etc/webmin/miniserv.conf | grep -v allow= > /tmp/file
/etc/webmin/stop
+
# cat /tmp/file > /etc/webmin/miniserv.conf
sleep 2  
+
# /etc/webmin/stop
/etc/webmin/start
+
# sleep 2  
 +
# /etc/webmin/start
 +
 
 
###############################################################################
 
###############################################################################
 
#Install SSH SSHd and the associated Webmin module                            #
 
#Install SSH SSHd and the associated Webmin module                            #
Line 373: Line 510:
  
  
###############################################################################
 
#Download StressFree Solutions Tiger Webmin Theme                            #
 
###############################################################################
 
clear
 
echo " "
 
echo "Download StressFree Solutions Tiger Webmin Theme"
 
echo "------------------------------------------------"
 
echo " The Tiger webmin theme features a completely new graphical look,"
 
echo " high colour icons, dropdown menus and an AJAX search tool for "
 
echo " locating Webmin modules quickly. It has been tested in Firefox,"
 
echo " Safari and Internet Explorer."
 
echo " "
 
echo "    Find out more here: http://www.stress-free.co.nz/webmin-theme"
 
echo " "
 
echo " Installation: To install open Webmin "
 
echo " "
 
echo " Go to:  Webmin -> Webmin Configuration -> Webmin Themes"
 
echo " "
 
echo " Select the downloaded archive from your local disk and press "
 
echo " the Install Theme button. Once installed change the Current Theme"
 
echo " dropdown to StressFree Theme and press the Change button. "
 
echo " "
 
echo " "
 
sleep 2
 
  wget http://www.stress-free.co.nz/files/theme-stressfree.tar.gz
 
  
 
###############################################################################
 
###############################################################################
Line 424: Line 536:
 
#Install the Precompiled C development environment                            #
 
#Install the Precompiled C development environment                            #
 
###############################################################################
 
###############################################################################
clear
+
if  gcc --help | grep options  > /dev/null ; then
echo " "
+
  echo "you already installed a C compiler"
echo "Install Precompiled C development environment"
+
else
echo "---------------------------------------------"
+
  clear
echo " The LinkStation lacks virtually all necessary development tools"  
+
  if [ "$PROCESSOR" == "arm" ] ; then
echo " such as binutils or gcc, making it quite difficult to natively compile"
+
    echo " "
echo " programs. This provides a complete package of precompiled development"
+
    echo "Install Precompiled C development environment"
echo " tools and related libraries."  
+
    echo "---------------------------------------------"
echo " "
+
    echo " The LinkStation lacks virtually all necessary development tools"  
echo " These tools come from http://www.linkstationwiki.net"
+
    echo " such as binutils or gcc, making it quite difficult to natively compile"
echo " "
+
    echo " programs. The development tools for arm are still in development itself"
sleep 2  
+
    echo " and are not available for public usage."
  if [ "$PROCESSOR" == "ppc" ] ; then
+
  else
      mkdir tmpdevel
+
    echo " "
      cd tmpdevel
+
    echo "Install Precompiled C development environment"
      wget http://downloads.linkstationwiki.net/development_tools/ppc-tools-2_1.tgz  
+
    echo "---------------------------------------------"
      mkdir devtools
+
    echo " The LinkStation lacks virtually all necessary development tools"
      cd devtools
+
    echo " such as binutils or gcc, making it quite difficult to natively compile"
      tar xzvf ../ppc-tools-2_1.tgz
+
    echo " programs. This provides a complete package of precompiled development"
      ./install.sh
+
    echo " tools and related libraries."  
      if [ "$FLAVOR" == "hg" ] ; then
+
    echo " "
        wget http://downloads.linkstationwiki.net/kernel_headers/kernel-headers-2.4.20_hglan_htgl-2.0.tar.bz2
+
    echo " These tools come from http://www.linkstationwiki.net"
        tar -C / -xvjf kernel-headers-2.4.20_hglan_htgl-2.0.tar.bz2
+
    echo " "
      fi     
+
      sleep 2  
  fi
+
      if [ "$PROCESSOR" == "ppc" ] ; then
  if [ "$PROCESSOR" == "mips" ] ; then
+
        mkdir tmpdevel
      mkdir tmpdevel
+
        cd tmpdevel
      cd tmpdevel
+
        wget http://downloads.linkstationwiki.net/ALL_PPC/ppc-tools-2_1.tgz  
      wget http://downloads.linkstationwiki.net/development_tools/mipsel-tools-2_1.tgz
+
        mkdir devtools
      mkdir devtools
+
        cd devtools
      cd devtools
+
        tar xzvf ../ppc-tools-2_1.tgz
      tar xzvf ../mipsel-tools-2_1.tgz
+
        ./install.sh
      ./install.sh
+
        if [ "$FLAVOR" == "hg" ] ; then
  fi
+
            wget http://downloads.linkstationwiki.net/LSHG_PPC/Kernel/Headers/kernel-headers-2.4.20_hglan_htgl-2.0.tgz
cd ..
+
            tar -C / -xvzf kernel-headers-2.4.20_hglan_htgl-2.0.tgz
cd ..
+
        fi     
rm -r tmpdevel
+
      fi
 
+
      if [ "$PROCESSOR" == "mips" ] ; then
 +
        mkdir tmpdevel
 +
        cd tmpdevel
 +
        wget http://downloads.linkstationwiki.net/LS2_MIPSel/DevelopmentTools/NativeToolchains/mipsel-tools-2_1.tgz
 +
        mkdir devtools
 +
        cd devtools
 +
        tar xzvf ../mipsel-tools-2_1.tgz
 +
        ./install.sh
 +
      fi
 +
     
 +
      cd ..
 +
      cd ..
 +
      rm -r tmpdevel
 +
  fi
 +
fi
  
 
###############################################################################
 
###############################################################################
Line 487: Line 613:
 
echo " "
 
echo " "
 
  sleep 2  
 
  sleep 2  
   wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/mirrors/hvkls.dyndns.org/latest-webinstaller.tar.gz
+
   wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Webinstaller/latest-webinstaller.tar.gz
 
   wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/latest-webinstaller.tar.gz
 
   wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/latest-webinstaller.tar.gz
 
   tar -C / -xvzf latest-webinstaller.tar.gz
 
   tar -C / -xvzf latest-webinstaller.tar.gz
 
   /usr/local/sbin/webinstaller-kernelinst.sh
 
   /usr/local/sbin/webinstaller-kernelinst.sh
 
fi
 
fi
 +
 
</pre>
 
</pre>
  
 
==Post Install Script==
 
==Post Install Script==
 
<pre>
 
<pre>
 +
#! /bin/bash
 
###############################################################################
 
###############################################################################
 +
#  ___                _    _      _                      _    _            #
 +
# | __>_ _  ___  ___ | |  <_>._ _ | |_  ___ ._ _ _  ___ _| |_ <_>__          #
 +
# | _>|  _>/ ._>/ ._>| |_ | || | || / / / . \| | | |<_> | | |  | |\ \/        #
 +
# |_| |_|  \___.\___.|___||_||_|_||_\_\ \___/|_|_|_|<___| |_|  |_|/\_\        #
 +
#                                                                            #
 +
# FreeLinkomatix Post install script                                          #
 +
#                                                                            #
 +
# This script is ment to be run after the upgrade to a v2.6 kernel            #
 +
# It will install additional apps some of which are dependant on kernel v2.6  #
 
###############################################################################
 
###############################################################################
  
wget http://downloads.linkstationwiki.net/freelinkomatix/postinstall.sh -O newest
+
 
 +
wget http://downloads.linkstationwiki.net/Installers/Freelinkomatix/postinstall.sh -O newest
 
if ! diff postinstall.sh newest >> /dev/null ; then
 
if ! diff postinstall.sh newest >> /dev/null ; then
 
   rm newest
 
   rm newest
Line 507: Line 645:
 
   echo " get it from:"
 
   echo " get it from:"
 
   echo " "
 
   echo " "
   echo " http://downloads.linkstationwiki.net/freelinkomatix/postinstall.sh"
+
   echo " http://downloads.linkstationwiki.net/Installers/Freelinkomatix/postinstall.sh"
 
exit 1
 
exit 1
 
else
 
else
Line 558: Line 696:
 
uname -r | grep "2.6" | grep kurobox | grep -q -v HG && FLAVOR="ls1"
 
uname -r | grep "2.6" | grep kurobox | grep -q -v HG && FLAVOR="ls1"
 
uname -r | grep "2.6" | grep kurobox | grep -q HG && FLAVOR="hg"
 
uname -r | grep "2.6" | grep kurobox | grep -q HG && FLAVOR="hg"
 +
 +
 +
###############################################################################
 +
#Then do a quick check to make sure you have apt-get this should weed out the #
 +
#Openlink users too                                                          #
 +
###############################################################################
 +
 +
apt-get -v | grep -q dpkg || ERROR="1"
 +
if [ "$ERROR" == "1" ] ; then
 +
        echo ""
 +
        echo "FATAL: Do you have apt-get installed, is this Debian(FreeLink)?"
 +
        echo "--> Cannot continue."
 +
        echo ""
 +
        exit 1
 +
fi
  
 
###############################################################################
 
###############################################################################
Line 586: Line 739:
 
read -e ANSWER
 
read -e ANSWER
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
   apt-get install rsync
+
   if grep -F rsync /etc/freelinkomatix_installed ; then
  wget http://opensource.digisec.de/webmin/rsyncmin.wbm
+
    clear
 +
    echo "You already installed this with the FreeLinkomatix Post-install Script"
 +
    sleep 2
 +
  else
 +
    echo "rsync" >> /etc/freelinkomatix_installed 
 +
    apt-get install rsync
 +
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://opensource.digisec.de/webmin/rsyncmin.wbm
 +
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/rsyncmin.wbm
 +
fi
 
fi
 
fi
  
Line 611: Line 772:
 
read -e ANSWER
 
read -e ANSWER
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
  apt-get remove hotplug  
+
  if grep -F usbcups /etc/freelinkomatix_installed ; then
apt-get install usbmount
+
    clear
sed -e 's@^FILESYSTEMS.*$@FILESYSTEMS="ext3 ext2 vfat"@ ; s@^MOUNTOPTIONS.*$@MOUNTOPTIONS="noexec,nodev,noatime"@' < /etc/usbmount/usbmount.conf > /tmp/file
+
    echo "You already installed this with the FreeLinkomatix Post-install Script"
cat /tmp/file > /etc/usbmount/usbmount.conf
+
    sleep 2
ln -s /media/usb0/ /mnt/share
+
  else
ln -s /media/usb1/ /mnt/share
+
    echo "usbcups" >> /etc/freelinkomatix_installed  
ln -s /media/usb2/ /mnt/share
+
    apt-get remove hotplug  
ln -s /media/usb3/ /mnt/share
+
    apt-get install usbmount
apt-get install cupsys cupsys-bsd
+
    sed -e 's@^FILESYSTEMS.*$@FILESYSTEMS="ext3 ext2 vfat"@ ; s@^MOUNTOPTIONS.*$@MOUNTOPTIONS="noexec,nodev,noatime"@ ; s@^FS_MOUNTOPTIONS.*$@FS_MOUNTOPTIONS="-fstype=vfat,umask=000"@' < /etc/usbmount/usbmount.conf > /tmp/file
 +
    cat /tmp/file > /etc/usbmount/usbmount.conf
 +
    ln -s /media/usb0/ /mnt/share
 +
    ln -s /media/usb1/ /mnt/share
 +
    ln -s /media/usb2/ /mnt/share
 +
    ln -s /media/usb3/ /mnt/share
 +
    apt-get install cupsys cupsys-bsd
 +
  fi
 
fi
 
fi
  
Line 649: Line 817:
 
read -e ANSWER
 
read -e ANSWER
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
  apt-get install nfs-kernel-server webmin-exports
+
  if grep -F kernelnfs /etc/freelinkomatix_installed ; then
 +
    clear
 +
    echo "You already installed this with the FreeLinkomatix Post-install Script"
 +
    sleep 2
 +
  else
 +
    echo "kernelnfs" >> /etc/freelinkomatix_installed 
 +
    apt-get install nfs-kernel-server webmin-exports  
 +
  fi
 
fi
 
fi
 
 
###############################################################################
 
###############################################################################
 
#Macintosh Specific Netatalk and Howl Zeroconf DNS discovery service          #
 
#Macintosh Specific Netatalk and Howl Zeroconf DNS discovery service          #
Line 682: Line 856:
 
#INSTALL NETATALK FIRST #
 
#INSTALL NETATALK FIRST #
 
#########################  
 
#########################  
  apt-get install cracklib-runtime libpam-cracklib netatalk  
+
  if grep -F netatalkhowl /etc/freelinkomatix_installed ; then
/etc/init.d/netatalk stop  
+
    clear
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/powerpc-hdhlan/binaries-that-need-kernel2.6/netatalk_2.0.3-4_powerpc.deb
+
    echo "You already installed this with the FreeLinkomatix Post-install Script"
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/netatalk_2.0.3-4_powerpc.deb
+
    sleep 2
 +
  else
 +
    echo "netatalkhowl" >> /etc/freelinkomatix_installed  
 +
    apt-get install cracklib-runtime libpam-cracklib netatalk  
 +
    /etc/init.d/netatalk stop  
 +
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/LS1_PPC/Packages/binaries-that-need-kernel2.6/netatalk_2.0.3-4_powerpc.deb
 +
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/netatalk_2.0.3-4_powerpc.deb
  
dpkg -i netatalk_2.0.3-4_powerpc.deb  
+
    dpkg -i netatalk_2.0.3-4_powerpc.deb  
rm /etc/default/netatalk
+
    rm /etc/default/netatalk
echo 'AFPD_MAX_CLIENTS=10 ' >> /etc/default/netatalk
+
    echo 'AFPD_MAX_CLIENTS=10 ' >> /etc/default/netatalk
echo 'ATALK_NAME=`/bin/hostname` ' >> /etc/default/netatalk
+
    echo 'ATALK_NAME=`/bin/hostname` ' >> /etc/default/netatalk
echo "ATALK_MAC_CHARSET='MAC_ROMAN' " >> /etc/default/netatalk
+
    echo "ATALK_MAC_CHARSET='MAC_ROMAN' " >> /etc/default/netatalk
echo "ATALK_UNIX_CHARSET='LOCALE' " >> /etc/default/netatalk
+
    echo "ATALK_UNIX_CHARSET='LOCALE' " >> /etc/default/netatalk
echo 'AFPD_UAMLIST="-U uams_dhx.so" ' >> /etc/default/netatalk   
+
    echo 'AFPD_UAMLIST="-U uams_dhx.so" ' >> /etc/default/netatalk   
echo 'AFPD_GUEST=nobody ' >> /etc/default/netatalk
+
    echo 'AFPD_GUEST=nobody ' >> /etc/default/netatalk
echo 'ATALKD_RUN=no ' >> /etc/default/netatalk
+
    echo 'ATALKD_RUN=no ' >> /etc/default/netatalk
echo 'PAPD_RUN=no ' >> /etc/default/netatalk
+
    echo 'PAPD_RUN=no ' >> /etc/default/netatalk
echo 'CNID_METAD_RUN=yes ' >> /etc/default/netatalk
+
    echo 'CNID_METAD_RUN=yes ' >> /etc/default/netatalk
echo 'AFPD_RUN=yes ' >> /etc/default/netatalk
+
    echo 'AFPD_RUN=yes ' >> /etc/default/netatalk
echo 'TIMELORD_RUN=no ' >> /etc/default/netatalk
+
    echo 'TIMELORD_RUN=no ' >> /etc/default/netatalk
echo 'A2BOOT_RUN=no ' >> /etc/default/netatalk
+
    echo 'A2BOOT_RUN=no ' >> /etc/default/netatalk
echo 'ATALK_BGROUND=yes ' >> /etc/default/netatalk
+
    echo 'ATALK_BGROUND=yes ' >> /etc/default/netatalk
echo 'export ATALK_MAC_CHARSET ' >> /etc/default/netatalk
+
    echo 'export ATALK_MAC_CHARSET ' >> /etc/default/netatalk
echo 'export ATALK_UNIX_CHARSET ' >> /etc/default/netatalk
+
    echo 'export ATALK_UNIX_CHARSET ' >> /etc/default/netatalk
rm /etc/netatalk/afpd.conf
+
    rm /etc/netatalk/afpd.conf
echo '- -transall -uamlist uams_dhx.so -nosavepassword -noddp  ' >> /etc/netatalk/afpd.conf
+
    echo '- -transall -uamlist uams_dhx.so -nosavepassword -noddp  ' >> /etc/netatalk/afpd.conf
echo '/mnt/shared "shared" allow:linkstation ' >> /etc/netatalk/AppleVolumes.default
+
    echo '/mnt/shared "shared" allow:linkstation ' >> /etc/netatalk/AppleVolumes.default
wget http://mattwork.potsdam.edu/projects/netatalk/webmin_module/netatalk.wbm
+
####################
+
#THEN INSTALL HOWL #
+
####################
+
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/powerpc-hdhlan/binaries-that-need-kernel2.6/howl_1.0.0-binaries-ppc.tar.gz
+
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/howl_1.0.0-binaries-ppc.tar.gz
+
tar -C / -xvzf howl_1.0.0-binaries-ppc.tar.gz
+
#will have to alter /etc/howl/mDNSResponder.conf file to fit what we make and wget it in the future....
+
/etc/init.d/howl start
+
fi
+
  
 +
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://mattwork.potsdam.edu/projects/netatalk/webmin_module/netatalk.wbm
 +
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/netatalk.wbm
 +
 +
    ####################
 +
    #THEN INSTALL HOWL #
 +
    ####################
 +
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/LS1_PPC/Packages/binaries-that-need-kernel2.6/howl_1.0.0-binaries-ppc.tar.gz
 +
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/howl_1.0.0-binaries-ppc.tar.gz
 +
    tar -C / -xvzf howl_1.0.0-binaries-ppc.tar.gz
 +
    #will have to alter /etc/howl/mDNSResponder.conf file to fit what we make and wget it in the future....
 +
    /etc/init.d/howl start
 +
    fi
 +
fi
 
###############################################################################
 
###############################################################################
 
#Add Firefly (mt-daapd) Media Server                                          #
 
#Add Firefly (mt-daapd) Media Server                                          #
Line 743: Line 926:
 
read -e ANSWER
 
read -e ANSWER
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
  apt-get install libid3tag
+
  if grep -F firefly /etc/freelinkomatix_installed ; then
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/powerpc-hdhlan/binaries-that-need-kernel2.6/mtdaapd_0.2.4-binaries-ppc.tar.gz
+
    clear
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/mtdaapd_0.2.4-binaries-ppc.tar.gz
+
    echo "You already installed this with the FreeLinkomatix Post-install Script"
tar -C / -xvzf mtdaapd_0.2.4-binaries-ppc.tar.gz  
+
    sleep 2
#wget http://puzzle.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.4.tar.gz
+
  else
#tar -xvzf mt-daapd-0.2.4.tar.gz
+
    echo "firefly" >> /etc/freelinkomatix_installed  
#cd mt-daapd-0.2.4
+
    apt-get install libid3tag0
#./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --sysconfdir=/etc  
+
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/LS1_PPC/Packages/binaries-that-need-kernel2.6/mtdaapd_0.2.4-binaries-ppc.tar.gz
#make
+
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/mtdaapd_0.2.4-binaries-ppc.tar.gz
#make install
+
    tar -C / -xvzf mtdaapd_0.2.4-binaries-ppc.tar.gz  
#mkdir /etc/mt-daapd
+
    #wget http://puzzle.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.4.tar.gz
#cp contrib/mt-daapd.* /etc/mt-daapd/
+
    #tar -xvzf mt-daapd-0.2.4.tar.gz
mv /etc/mt-daapd.SAMPLE /etc/mt-daapd  
+
    #cd mt-daapd-0.2.4
/etc/init.d/mt-daapd start
+
    #./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --sysconfdir=/etc  
 +
    #make
 +
    #make install
 +
    #mkdir /etc/mt-daapd
 +
    #cp contrib/mt-daapd.* /etc/mt-daapd/
 +
    mv /etc/mt-daapd.SAMPLE /etc/mt-daapd  
 +
    /etc/init.d/mt-daapd start
 +
  fi
 
fi
 
fi
 
  
  
Line 782: Line 971:
 
read -e ANSWER  
 
read -e ANSWER  
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
   wget http://osdn.dl.sourceforge.net/sourceforge/xbplayer/ccxstream-1.0.15.tar.gz
+
   if grep -F ccxstream /etc/freelinkomatix_installed ; then
  tar -xvzf ccxstream-1.0.15.tar.gz
+
    clear
  cd ccxstream-1.0.15
+
    echo "You already installed this with the FreeLinkomatix Post-install Script"
  make
+
    sleep 2
  cp ccxstream /usr/local/bin
+
  else
  cp ccxtest /usr/local/bin
+
    echo "ccxstream" >> /etc/freelinkomatix_installed 
  mkdir /usr/doc/ccxstream
+
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://osdn.dl.sourceforge.net/sourceforge/xbplayer/ccxstream-1.0.15.tar.gz
  cp  COPYRIGHT /usr/doc/ccxstream/
+
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/ccxstream-1.0.15.tar.gz
  cp  ChangeLog /usr/doc/ccxstream/
+
    tar -xvzf ccxstream-1.0.15.tar.gz
  cp  PORTING /usr/doc/ccxstream/
+
    cd ccxstream-1.0.15
  cp  README /usr/doc/ccxstream/
+
    make
  cp  TODO /usr/doc/ccxstream/
+
    cp ccxstream /usr/local/bin
  cp  xbmsp-xml.txt /usr/doc/ccxstream/
+
    cp ccxtest /usr/local/bin
  cp  xbmsp.txt /usr/doc/ccxstream/
+
    mkdir /usr/doc/ccxstream
  echo '#! /bin/sh' >> /etc/init.d/ccxstream
+
    cp  COPYRIGHT /usr/doc/ccxstream/
  echo '#' >> /etc/init.d/ccxstream
+
    cp  ChangeLog /usr/doc/ccxstream/
  echo '# CCXSTREAM - see /usr/doc/ccxstream/README for options' >> /etc/init.d/ccxstream
+
    cp  PORTING /usr/doc/ccxstream/
  echo '#' >> /etc/init.d/ccxstream
+
    cp  README /usr/doc/ccxstream/
  echo '# Set SHAREDIR to directory you want to share' >> /etc/init.d/ccxstream
+
    cp  TODO /usr/doc/ccxstream/
  echo '# Set OPTIONS to other command line options you want' >> /etc/init.d/ccxstream
+
    cp  xbmsp-xml.txt /usr/doc/ccxstream/
  echo 'SHAREDIR=/mnt/share' >> /etc/init.d/ccxstream
+
    cp  xbmsp.txt /usr/doc/ccxstream/
  echo 'OPTIONS="-f -F /var/run/ccxstream.pid"' >> /etc/init.d/ccxstream
+
    echo '#! /bin/sh' >> /etc/init.d/ccxstream
  echo '#' >> /etc/init.d/ccxstream
+
    echo '#' >> /etc/init.d/ccxstream
  echo '  if [ -n "`pidof ccxstream`" ] ; then' >> /etc/init.d/ccxstream
+
    echo '# CCXSTREAM - see /usr/doc/ccxstream/README for options' >> /etc/init.d/ccxstream
  echo '    killall ccxstream 2>/dev/null' >> /etc/init.d/ccxstream
+
    echo '#' >> /etc/init.d/ccxstream
  echo '  fi' >> /etc/init.d/ccxstream
+
    echo '# Set SHAREDIR to directory you want to share' >> /etc/init.d/ccxstream
  echo '  sleep 2' >> /etc/init.d/ccxstream
+
    echo '# Set OPTIONS to other command line options you want' >> /etc/init.d/ccxstream
  echo '  /usr/local/bin/ccxstream -r $SHAREDIR  $OPTIONS' >> /etc/init.d/ccxstream
+
    echo 'SHAREDIR=/mnt/share' >> /etc/init.d/ccxstream
  chmod a+x /etc/init.d/ccxstream
+
    echo 'OPTIONS="-f -F /var/run/ccxstream.pid"' >> /etc/init.d/ccxstream
  cd /etc/rc.d/rc2.d
+
    echo '#' >> /etc/init.d/ccxstream
  ln -s ../init.d/ccxstream S75ccxstream
+
    echo '  if [ -n "`pidof ccxstream`" ] ; then' >> /etc/init.d/ccxstream
  cd ../rc0.d
+
    echo '    killall ccxstream 2>/dev/null' >> /etc/init.d/ccxstream
  ln -s ../init.d/ccxstream K02ccxstream
+
    echo '  fi' >> /etc/init.d/ccxstream
  cd ../rc6.d
+
    echo '  sleep 2' >> /etc/init.d/ccxstream
  ln -s ../init.d/ccxstream K02ccxstream
+
    echo '  /usr/local/bin/ccxstream -r $SHAREDIR  $OPTIONS' >> /etc/init.d/ccxstream
  /etc/init.d/ccxstream
+
    chmod a+x /etc/init.d/ccxstream
 +
    # cd /etc/rc.d/rc2.d
 +
    # ln -s ../init.d/ccxstream S75ccxstream
 +
    # cd ../rc0.d
 +
    # ln -s ../init.d/ccxstream K02ccxstream
 +
    # cd ../rc6.d
 +
    # ln -s ../init.d/ccxstream K02ccxstream
 +
    # /etc/init.d/ccxstream
 +
  fi
 
fi
 
fi
 
 
###############################################################################
 
###############################################################################
 
#KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP                    #
 
#KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP                    #
Line 840: Line 1,036:
 
read -e ANSWER  
 
read -e ANSWER  
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
  echo -n "Enter your Xlink username:"
+
  if grep -F xlinkkai /etc/freelinkomatix_installed ; then
read -e USERNAME
+
    clear
echo -n "Enter your password:"
+
    echo "You already installed this with the FreeLinkomatix Post-install Script"
read -e PASSWORD
+
    sleep 2
wget http://www.teamxlink.co.uk/binary/kaid-ppc-static-libc-2.3.zip
+
  else
unzip kaid-*
+
    echo "xlinkkai" >> /etc/freelinkomatix_installed  
mv kaid-static* kaid
+
    echo -n "Enter your Xlink username:"
mv kaid /usr/local/sbin
+
    read -e USERNAME
chmod 755 /usr/local/sbin/kaid
+
    echo -n "Enter your password:"
wget http://downloads.linkstationwiki.net/freelinkomatix/kaid
+
    read -e PASSWORD
mv kaid /etc/init.d/kaid
+
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://www.teamxlink.co.uk/binary/kaid-ppc-static-libc-2.3.zip
chmod 755 /etc/init.d/kaid   
+
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/kaid-ppc-static-libc-2.3.zip
# ln -s /etc/init.d/kaid /etc/rc.d/rc0.d/K99kaid
+
    apt-get install unzip
# ln -s /etc/init.d/kaid /etc/rc.d/rc2.d/S99kaid
+
    unzip kaid-*
# ln -s /etc/init.d/kaid /etc/rc.d/rc6.d/K99kaid
+
    mv kaid-static* kaid
wget http://downloads.linkstationwiki.net/freelinkomatix/kaid.conf
+
    mv kaid /usr/local/sbin
echo 'Username = ' $USERNAME  >> kaid.conf
+
    chmod 755 /usr/local/sbin/kaid
echo 'Password = ' $PASSWORD  >> kaid.conf
+
    wget http://downloads.linkstationwiki.net/freelinkomatix/kaid
mv kaid.conf /etc/kaid.conf
+
    mv kaid /etc/init.d/kaid
 +
    chmod 755 /etc/init.d/kaid   
 +
    # ln -s /etc/init.d/kaid /etc/rc.d/rc0.d/K99kaid
 +
    # ln -s /etc/init.d/kaid /etc/rc.d/rc2.d/S99kaid
 +
    # ln -s /etc/init.d/kaid /etc/rc.d/rc6.d/K99kaid
 +
    wget http://downloads.linkstationwiki.net/freelinkomatix/kaid.conf
 +
    echo 'Username = ' $USERNAME  >> kaid.conf
 +
    echo 'Password = ' $PASSWORD  >> kaid.conf
 +
    mv kaid.conf /etc/kaid.conf
 +
  fi
 
fi
 
fi
 
  
  
Line 889: Line 1,093:
 
read -e ANSWER  
 
read -e ANSWER  
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
   apt-get install apache apache-common  
+
   if grep -F lamp /etc/freelinkomatix_installed ; then
  apt-get install mysql-server php4-mysql libapache-mod-auth-mysql
+
    clear
 +
    echo "You already installed this with the FreeLinkomatix Post-install Script"
 +
    sleep 2
 +
  else
 +
    echo "lamp" >> /etc/freelinkomatix_installed 
 +
    apt-get install apache apache-common  
 +
    apt-get install mysql-server php4-mysql libapache-mod-auth-mysql
 +
  fi
 
fi
 
fi
 
echo -n "Do you want to install Gallery2? (y/n)"
 
echo -n "Do you want to install Gallery2? (y/n)"
 
read -e ANSWER  
 
read -e ANSWER  
 
if [ "$ANSWER" == "y" ] ; then
 
if [ "$ANSWER" == "y" ] ; then
   apt-get install apache debconf  mysql-client  netpbm  php4  php4-mysql  wwwconfig-common  
+
   if grep -F gallery /etc/freelinkomatix_installed ; then
  wget http://ftp.debian.org/debian/pool/main/g/gallery2/gallery2_2.1.2-1_all.deb
+
    clear
  dpkg -i gallery2_2.1.2-1_all.deb  
+
    echo "You already installed this with the FreeLinkomatix Post-install Script"
 +
    sleep 2
 +
  else
 +
    echo "gallery" >> /etc/freelinkomatix_installed 
 +
    apt-get install apache debconf  mysql-client  netpbm  php4  php4-mysql  wwwconfig-common  
 +
    wget http://ftp.debian.org/debian/pool/main/g/gallery2/gallery2_2.1.2-1_all.deb
 +
    dpkg -i gallery2_2.1.2-1_all.deb  
 +
  fi
 
fi
 
fi
 
 
</pre>
 
</pre>

Latest revision as of 08:11, 27 March 2007

Linkstation-debdux.gif 89px-Francesco_Torniello_da_Novara_Letter_F_1517.png 100px-Francesco_Torniello_da_Novara_Letter_X_1517.png

Contents

FreeLinkomatix

#! /bin/bash
###############################################################################
#  ___                _    _       _                       _    _             #
# | __>_ _  ___  ___ | |  <_>._ _ | |_   ___ ._ _ _  ___ _| |_ <_>__          #
# | _>|  _>/ ._>/ ._>| |_ | || | || / / / . \| | | |<_> | | |  | |\ \/        #
# |_| |_|  \___.\___.|___||_||_|_||_\_\ \___/|_|_|_|<___| |_|  |_|/\_\        #
#                                                                             #
# FreeLinkomatix is a tool for the Debian version of Linux used on the        #
# Buffalo LinkStation called FreeLink. This tool is designed to automate      #
# the addition of applications, libraries, and the upgrade to a v2.6 kernel   #
# which is not provided directly in the FreeLink distribution                 #
#                                                                             #
# The script is kept on the LinkStation wiki in the talk page:                #  
#                                                                             #  
#        http://www.linkstationwiki.net/index.php?title=Talk:FreeLinkomatix   #
#                                                                             #
# A full Description of the Project is at:                                    #
#                                                                             #
#        http://linkstationwiki.net/index.php?title=FreeLinkomatix            #
###############################################################################

wget http://downloads.linkstationwiki.net/Installers/Freelinkomatix/freelinkomatix.sh -O newest
if ! diff freelinkomatix.sh newest >> /dev/null ; then
  rm newest
  clear
  echo "There is a newer version of FreeLinkomatix available"
  echo "****************************************************"
  echo " get it from:"
  echo " "
  echo " http://downloads.linkstationwiki.net/Installers/Freelinkomatix/freelinkomatix.sh"
exit 1
else
  rm newest
fi

###############################################################################
#See if we are connected to the internet and DNS works                        #
###############################################################################
clear
echo 'Ping ns1.isi.edu to see if you are connected to the internet'
echo ' '
echo '**This may take a few moments so be patient**'
echo ' '
if ping -q -c 10 192.228.79.201 ; then
  echo ' use <host> on b.root-servers.net'
    if ! ping -q -c 1  b.root-servers.net | grep 192.228.79.201  ; then
      echo 'adding nameserver 217.115.138.24 to /etc/resolv.conf'
      echo 'nameserver 217.115.138.24'  >> /etc/resolv.conf
    else
      grep nameserver /etc/resolv.conf
      echo 'works fine'
    fi
else
  echo 'Are you connected to the internet?'
  exit 1
fi

###############################################################################
#First do a quick check to see that you are running a PPC or MIPS based       # 
#Linkstation.  Set some enviornment variables we can use later                #
###############################################################################

ERROR="1"
uname -m | grep -q ppc && ERROR="0"
uname -m | grep -q arm && ERROR="0"
uname -m | grep -q mips && ERROR="0"

if [ "$ERROR" == "1" ] ; then
        echo ""
        echo "FATAL: Currently, only PPC, ARM and MIPSel based Linkstations are supported."
        echo "--> Cannot continue."
        echo ""
        exit 1
fi

# Recognize and set processor variable
uname -m | grep -q ppc && PROCESSOR="ppc"
uname -m | grep -q arm && PROCESSOR="arm"
uname -m | grep -q mips && PROCESSOR="mips"
# Recognize Kernel 2.4 LinkStation Flavors 
uname -r | grep -q "2.4.17_mvl21-sandpoint" && FLAVOR="ls1"
uname -r | grep -q "2.4.20_mipsel_linkstation" && FLAVOR="ls2"
uname -r | grep -q "2.4.20_mvl31-ppc_linkstation" && FLAVOR="hg"
uname -r | grep -q "2.4.17_kuro-box" && FLAVOR="kb"
uname -r | grep -q "2.4.20_mvl21" && FLAVOR="hg"
# Recognize Kernel 2.6 LinkStation Flavors 
uname -r | grep "2.6" | grep kurobox | grep -q -v HG && FLAVOR="ls1"
uname -r | grep "2.6" | grep kurobox | grep -q HG && FLAVOR="hg"
uname -r | grep "2.6" | grep arm | grep -q LS-GL && FLAVOR="gl"

###############################################################################
#Then do a quick check to make sure you have apt-get this should weed out the #
#Openlink users too                                                           #
###############################################################################

apt-get -v | grep -q dpkg || ERROR="1"
if [ "$ERROR" == "1" ] ; then
        echo ""
        echo "FATAL: Do you have apt-get installed, is this Debian(FreeLink)?"
        echo "--> Cannot continue."
        echo ""
        exit 1
fi

###############################################################################
#Let's get started then.....                                                  #
###############################################################################
clear
echo "  ___                _    _       _                       _    _      "
echo " | __>_ _  ___  ___ | |  <_>._ _ | |_   ___ ._ _ _  ___ _| |_ <_>__   "
echo " | _>|  _>/ ._>/ ._>| |_ | || | || / / / . \| | | |<_> | | |  | |\ \/ "
echo " |_| |_|  \___.\___.|___||_||_|_||_\_\ \___/|_|_|_|<___| |_|  |_|/\_\ "
echo '  '
echo "FreeLinkomatix is a tool for the Debian version of Linux used on the"
echo "Buffalo LinkStation called FreeLink. This tool is designed to automate"
echo "the addition of applications, libraries, and the upgrade to a v2.6 kernel"
echo " "
echo "The following will automatically be installed:"
echo " 1. Update apt-repositories...."
echo " 2. Install DHCP-3 client if not present" 
echo " 3. Move /home /usr /var from hda1 to hda3 and create symlinks"
echo " 4. Install Samba"
echo " 5. Troubleshooting Windows shares (samba) - guest access"
echo " 6. Install Webmin 1.3 and StressFree Solutions Tiger Webmin Theme"
echo " 7. Allow all IPs for Webmin"
echo " 8. Install SSH SSHd and the associated Webmin module"
echo " 9. Install ProFTPd and Webmin module"
echo "10. Configure the time zone and use NTPdate"
echo "11. Install the Precompiled C development environment"
echo "12. Upgrade to Kernel 2.6 using Andre's web installer (PPC Only)"
echo " "
echo -n "Proceed? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "n" ] ; then
 exit 1
fi
###############################################################################
#Update apt-repositories....                                                  #
###############################################################################
clear
echo "Update apt-repositories"
echo "-----------------------"
echo " In Debian new programs can easily be added by using the APT repository"
echo " You will have to update this repository first over the internet"
echo " "
echo " "
echo "***This will be done automatically in a few moments***"
 sleep 2 
  apt-get update
# apt-get upgrade
  apt-get dist-upgrade -y 

###############################################################################
#Install DHCP-3 client if not present                                         #
###############################################################################

dpkg --purge dhcpcd 
apt-get -y  install dhcp3-client 

###############################################################################
#(ppc/mips) Move /home /usr /var  from hda1 to hda3 and create symlinks       #
#(arm)      Move /home /usr  from sda1 to sda6 and create symlinks            #
###############################################################################

if ls -l / | grep /mnt > /dev/null ; then
  echo "you already moved root directories to /mnt"
else
  clear
  echo " "
  if [ "$PROCESSOR" == "arm" ] ; then
   echo "Move /home /usr  from sda1 to sda6 and create symlinks"
   echo "-----------------------------------------------------------"
   echo " Eventually you will probably run out of hard drive space on hda1 "
   echo " (the location of the OS, and the default location of installed programs)," 
   echo " You can free up space by moving some of the files to hda3 "
   echo " (the large partition containing the network shares) by moving:" 
  else
   echo "Move /home /usr /var  from hda1 to hda3 and create symlinks"
   echo "-----------------------------------------------------------"
   echo " Eventually you will probably run out of hard drive space on hda1 "
   echo " (the location of the OS, and the default location of installed programs)," 
   echo " You can free up space by moving some of the files to hda3 "
   echo " (the large partition containing the network shares) by moving:" 
   echo " "
  fi
  if [ "$PROCESSOR" == "ppc" ] ; then
    echo " /home to  /mnt/home" 
    echo " /usr  to  /mnt/usr" 
    echo " /var  to  /mnt/var" 
  fi
  if [ "$PROCESSOR" == "mips" ] ; then
    echo " /home to /mnt/hda/home"
    echo " /usr  to /mnt/hda/usr"
    echo " /var  to /mnt/hda/var"
  fi
  if [ "$PROCESSOR" == "arm" ] ; then
    echo " /home to /mnt/disk1/home"
    echo " /usr  to /mnt/disk1/usr"
  fi
  
  if [ "$PROCESSOR" == "arm" ] ; then
    
    echo " "
    echo " And creating symlinks. You will rapidly run out of space in debian" 
    echo " unless you do something to free up space on sda1"
    echo " "
    echo " "
    sleep 2 

    DIR="$(mount | grep sda6 | awk '{print $3}')"
    cp -Rdp /home ${DIR}
    rm -R   /home
    ln -s ${DIR}/home /home
    cp -Rdp /usr ${DIR}
    rm -R   /usr
    ln -s ${DIR}/usr /usr
    # currently not working because of some nfs-related files in /var/lib/nfs
    #cp -Rdp /var ${DIR}
    #rm -R   /var
    #ln -s ${DIR}/var /var
  else

    echo " "
    echo " And creating symlinks. You will rapidly run out of space in debian" 
    echo " unless you do something to free up space on hda1"
    echo " "
    echo " "
    sleep 2 
   
    DIR="$(mount | grep hda3 | awk '{print $3}')"
    cp -Rdp /home ${DIR}
    rm -R   /home
    ln -s ${DIR}/home /home
    cp -Rdp /usr ${DIR}
    rm -R   /usr
    ln -s ${DIR}/usr /usr
    cp -Rdp /var ${DIR}
    rm -R   /var
    ln -s ${DIR}/var /var
  fi
fi

###############################################################################
#Enable the Debian unstable Branch                                            #
###############################################################################
#clear
#echo " "
#echo "Get access to packages from the Debian unstable branch"
#echo "------------------------------------------------------"
#echo " It is often useful to have access to the Debian unstable branch"
#echo " because it has some interesting packages like PHP5 and rTorrent"
#echo " Using the unstable packages saves you the time you would spend"
#echo " compiling, The good thing is you don't have to change your whole"
#echo " installation to unstable you can simply use your stable or testing"
#echo " repository and just use the packages not in there from the unstable"
#echo " repository."
#echo " "
#echo " "
#echo -n "Do you want to gain access to the Debian unstable branch? (y/n)"
#read -e ANSWER 
#if [ "$ANSWER" == "y" ] ; then
# echo 'APT::Default-Release' >> /etc/apt/apt.conf
# echo '"stable"; ' >> /etc/apt/apt.conf
# echo "deb http://http.us.debian.org/debian unstable main contrib non-free " >> /etc/apt/sources.list 
# echo "deb-src http://http.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list 
# apt-get update
#fi

###############################################################################
#Install Samba                                                                #
###############################################################################
clear
echo " "
echo "Install Samba"
echo "------------------------"
echo " Samba is a free software implementation of Microsoft's networking"
echo " protocol released under the GNU General Public License. As of version 3"
echo " Samba not only provides file and print services for various Microsoft"
echo " Windows clients"
echo " "
echo " "
 sleep 2 
 apt-get install samba smbfs

###############################################################################
#Troubleshooting Windows shares (samba) - guest access                        #
###############################################################################
clear
echo " "
echo "Troubleshooting Windows shares (samba) - guest access"
echo "-----------------------------------------------------"

if [ "$PROCESSOR" == "ppc" ] ; then
  echo " This will pick a directory  /mnt/share and change the access" 
fi
if [ "$PROCESSOR" == "mips" ] ; then
  echo " This will pick a directory  /mnt/hda/share and change the access" 
fi
if [ "$PROCESSOR" == "arm" ] ; then
  echo " This will pick a directory  /mnt/disk1/share and change the access" 
fi

echo " permissions to make it readable and writable to everybody."
echo " "
echo " YOU MAY NOT WANT TO DO THIS AND INSTEAD WISH TO CONFIGURE"
echo " SAMBA WITH WEBMIN OR MANUALLY EDIT /etc/samba/smb.conf"
echo " YOUR smb.conf WILL BE MOVED TO smb.conf.backup"
echo " "
echo -n "Do you want to enable guest access for Samba? (y/n)"
read -e ANSWER 

  WORKGROUP="WORKGROUP" 
  LINKSTATION="LinkStation"
  
if [ "$ANSWER" == "y" ] ; then
  echo " "
#  echo -n "What is your windows workgroup name ie: MSHOME or WORKGROUP? (Default will be WORKGROUP)" 
#  read -e WORKGROUP
#  if [ "$WORKGROUP" == "" ] ; then
#     WORKGROUP="WORKGROUP" 
#  fi 
#  echo " "
#  echo -n "What do you want the name of your linkstation to be on the network (Default will be LinkStation)" 
#  read -e LINKSTATION
#  if [ "$LINKSTATION" == "" ] ; then
#     LINKSTATION="LinkStation"
#  fi 
#  hostname $LINKSTATION
#  rm /tmp/file
#  echo "127.0.0.1 "  $LINKSTATION >> /tmp/file
#  grep -v 127.0.0.1  /etc/hosts >> /tmp/file
#  cat /tmp/file > /etc/hosts

  if [ "$PROCESSOR" == "ppc" ] ; then
   mkdir /mnt/share
   chmod 777 /mnt/share
   mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
   echo '' >> /etc/samba/smb.conf
   echo '[global] ' >> /etc/samba/smb.conf
   echo ' security = share ' >> /etc/samba/smb.conf
   echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
   echo ' create mode = 777 ' >> /etc/samba/smb.conf
   echo ' directory mode = 777 ' >> /etc/samba/smb.conf
   echo ' ' >> /etc/samba/smb.conf
   echo '[share] ' >> /etc/samba/smb.conf
   echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
   echo ' path = /mnt/share ' >> /etc/samba/smb.conf
   echo ' read only = no ' >> /etc/samba/smb.conf
   echo ' public = yes ' >> /etc/samba/smb.conf
   /etc/rc.d/init.d/samba restart
  fi
  if [ "$PROCESSOR" == "mips" ] ; then
   mkdir /mnt/hda/share
   chmod 777 /mnt/hda/share
   mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
   echo '' >> /etc/samba/smb.conf
   echo '[global] ' >> /etc/samba/smb.conf
   echo ' security = share ' >> /etc/samba/smb.conf
   echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
   echo ' create mode = 777 ' >> /etc/samba/smb.conf
   echo ' directory mode = 777 ' >> /etc/samba/smb.conf
   echo ' ' >> /etc/samba/smb.conf
   echo '[share] ' >> /etc/samba/smb.conf
   echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
   echo ' path = /mnt/hda/share ' >> /etc/samba/smb.conf
   echo ' read only = no ' >> /etc/samba/smb.conf
   echo ' public = yes ' >> /etc/samba/smb.conf
   /etc/rc.d/init.d/samba restart
  fi
  
  if [ "$PROCESSOR" == "arm" ] ; then
   mkdir /mnt/disk1/share
   chmod 777 /mnt/disk1/share
   mv -i /etc/samba/smb.conf /etc/samba/smb.conf.backup
   echo '' >> /etc/samba/smb.conf
   echo '[global] ' >> /etc/samba/smb.conf
   echo ' security = share ' >> /etc/samba/smb.conf
   echo ' workgroup =' $WORKGROUP >> /etc/samba/smb.conf
   echo ' create mode = 777 ' >> /etc/samba/smb.conf
   echo ' directory mode = 777 ' >> /etc/samba/smb.conf
   echo ' ' >> /etc/samba/smb.conf
   echo '[share] ' >> /etc/samba/smb.conf
   echo ' comment = LinkStation Share ' >> /etc/samba/smb.conf
   echo ' path = /mnt/disk1/share ' >> /etc/samba/smb.conf
   echo ' read only = no ' >> /etc/samba/smb.conf
   echo ' public = yes ' >> /etc/samba/smb.conf
   /etc/rc.d/init.d/samba restart
  fi
fi

###############################################################################
#Install Webmin 1.3 and StressFree Solutions Tiger Webmin Theme               #
###############################################################################
clear
echo " "
echo "Install Webmin 1.3 and StressFree Solutions Tiger Webmin Theme"
echo "------------------------------------------------"
echo " Webmin is a system configuration tool for Unix-like systems. It"
echo " has a web-based interface (GUI) desktop environment independent, for"
echo " configuring some of the internals of the operating system."
echo " Webmin is largely based on Perl, and is running as its own process"
echo " and webserver. It usually uses TCP port 10000 for communicating "
echo "  "
echo " The Tiger webmin theme features a completely new graphical look," 
echo " high colour icons, dropdown menus and an AJAX search tool for "
echo " locating Webmin modules quickly. It has been tested in Firefox," 
echo " Safari and Internet Explorer."
echo " "
echo "     Find out more here: http://www.stress-free.co.nz/webmin-theme"
echo " "
 sleep 2 

  apt-get install webmin webmin-core webmin-cpan webmin-inetd webmin-logrotate webmin-firewall 
  apt-get install webmin-samba 
  apt-get install perl  libnet-ssleay-perl  openssl libauthen-pam-perl libpam-runtime libio-pty-perl
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://mesh.dl.sourceforge.net/sourceforge/webadmin/webmin_1.300_all.deb 
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://downloads.linkstationwiki.net/freelinkomatix/webmin_1.300_all.deb 
  dpkg -i webmin_1.300_all.deb 
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://www.stress-free.co.nz/files/theme-stressfree.tar.gz
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://downloads.linkstationwiki.net/freelinkomatix/theme-stressfree.tar.gz
  tar -C /usr/share/webmin -xvzf theme-stressfree.tar.gz 
  sed -e 's@^preroot.*$@preroot=theme-stressfree@ ; s@^allow.*$@@' < /etc/webmin/miniserv.conf > /tmp/file 
  cat /tmp/file > /etc/webmin/miniserv.conf 
  sed -e 's@^theme.*$@theme=theme-stressfree@' < /etc/webmin/config > /tmp/file 
  cat /tmp/file > /etc/webmin/config 
  /etc/webmin/restart

###############################################################################
# Allow all IPs for Webmin                                                    #
###############################################################################
clear
echo " "
echo "Allow all IP addresses for Webmin"
echo "---------------------------------"
echo " By default Webmin will only allow 127.0.0.1 (localhost) to login."   
echo " You will have to change  /etc/webmin/miniserv.conf to allow at"  
echo " least one external computer access to log into webmin. "
echo " "
echo " This script will allow any external IP to login.  It's a big security" 
echo " hole though so after you login to webmin,  change the allowed IP"
echo " addresses by going to:"
echo " "
echo "            Webmin Configuration --> IP Access Control" 
echo " "
echo " OR you can just edit /etc/webmin/miniserv.conf and change the line:"
echo " "
echo "                       allow= 127.0.0.1"
echo " "
echo "    to what you need and answer no to the following prompt:"
echo " "
 sleep 2 

# cat /etc/webmin/miniserv.conf | grep -v allow=  > /tmp/file
# cat /tmp/file > /etc/webmin/miniserv.conf
# /etc/webmin/stop
# sleep 2 
# /etc/webmin/start

###############################################################################
#Install SSH SSHd and the associated Webmin module                            #
###############################################################################
clear
echo " "
echo "Install SSH SSHd and the associated Webmin module"
echo "-------------------------------------------------"
echo " SSH is a set of standards and an associated network protocol" 
echo " that allows establishing a secure channel between a local and"
echo " a remote computer. SSH is typically used to log into a remote"
echo " machine and execute commands, but it also supports tunneling,"
echo " forwarding arbitrary TCP ports and X11 connections; it can"
echo " transfer files using the associated SFTP or SCP protocols."
echo " An SSH server (SSHd), by default, listens on the standard" 
echo " TCP port 22."
echo " "
echo " By using SSHd on the LinkStation and a client such as PuTTY"
echo " you can create a secure replacement for Telnet, you can remove"
echo " Telnetd at a later time when you are sure that SSHd works with"
echo " the command:"
echo " "
echo "                rm /etc/rc2.d/S05utelnetd"
echo " "
 sleep 2 
  apt-get install ssh webmin-sshd



##############################################################################
#Install ProFTPd and Webmin module                                           #
##############################################################################
clear
echo " "
echo "Install ProFTPd"
echo "---------------"
echo " ProFTPd is an FTP server. It is stable and secure when configured"
echo " properly.  This will also install the Webmin module that you can"
echo " use to configure ProFTPd from within Webmin"
echo " "
 sleep 2 
 apt-get install webmin-proftpd proftpd proftpd-common  proftpd-doc



###############################################################################
#Configure the time zone and use NTPdate                                      #
###############################################################################
clear
echo " "
echo "Configure the time zone and use NTPdate"
echo "---------------------------------------"
echo " The ntpd (Network Time Protocol daemon) program is an operating"
echo " system daemon which sets and maintains the system time of day in"
echo " synchronism with time servers".
echo " First you will have to configure your time zone (tzconfig)" 
echo " This script with also make it a cron job to resynchronize"
echo " on an hourly basis"
echo " "
echo " "
 sleep 2 
 tzconfig
 apt-get install ntp ntp-simple ntp-server ntpdate
 /etc/init.d/ntpdate restart
 echo '17 *    * * *   root    /etc/init.d/ntpdate restart' >> /etc/crontab


###############################################################################
#Install the Precompiled C development environment                            #
###############################################################################
if  gcc --help | grep options  > /dev/null ; then
  echo "you already installed a C compiler"
else
  clear
  if [ "$PROCESSOR" == "arm" ] ; then
    echo " "
    echo "Install Precompiled C development environment"
    echo "---------------------------------------------"
    echo " The LinkStation lacks virtually all necessary development tools" 
    echo " such as binutils or gcc, making it quite difficult to natively compile"
    echo " programs. The development tools for arm are still in development itself"
    echo " and are not available for public usage."
  else
    echo " "
    echo "Install Precompiled C development environment"
    echo "---------------------------------------------"
    echo " The LinkStation lacks virtually all necessary development tools" 
    echo " such as binutils or gcc, making it quite difficult to natively compile"
    echo " programs. This provides a complete package of precompiled development"
    echo " tools and related libraries." 
    echo " "
    echo " These tools come from http://www.linkstationwiki.net"
    echo " "
      sleep 2 
       if [ "$PROCESSOR" == "ppc" ] ; then
         mkdir tmpdevel
         cd tmpdevel
         wget http://downloads.linkstationwiki.net/ALL_PPC/ppc-tools-2_1.tgz 
         mkdir devtools
         cd devtools
         tar xzvf ../ppc-tools-2_1.tgz
         ./install.sh
         if [ "$FLAVOR" == "hg" ] ; then
            wget http://downloads.linkstationwiki.net/LSHG_PPC/Kernel/Headers/kernel-headers-2.4.20_hglan_htgl-2.0.tgz
            tar -C / -xvzf kernel-headers-2.4.20_hglan_htgl-2.0.tgz
         fi    
      fi
      if [ "$PROCESSOR" == "mips" ] ; then
         mkdir tmpdevel
         cd tmpdevel
         wget http://downloads.linkstationwiki.net/LS2_MIPSel/DevelopmentTools/NativeToolchains/mipsel-tools-2_1.tgz
         mkdir devtools
         cd devtools
         tar xzvf ../mipsel-tools-2_1.tgz
         ./install.sh
      fi
      
      cd ..
      cd ..
      rm -r tmpdevel  
  fi
fi

###############################################################################
#        Upgrade to Kernel 2.6 using Andre's web installer                    #
#                       System will REBOOT after this                         #
#               This should always be the last action of this script          #
###############################################################################
if [ "$PROCESSOR" == "ppc" ] ; then
clear
echo " "
echo "Upgrade to Kernel 2.6 using Andre's web installer"
echo "-------------------------------------------------"
echo " Upgrade from Buffalo's outdated kernel 2.4, currently included"
echo " in the Debian (FreeLink) release, on LS1, HG, HS, KuroBox, and"
echo " KuroHG. The 2.6 Kernel addresses virtually all shortcomings of"
echo " the LS stock kernels: Very good USB support, NFS, routing, quotas"
echo " lots more."
echo " The 550+ modules are optional -- you could delete them if you're"
echo " short of disk space, as the "LS core functions", support for mass"
echo " storage devices and printing, have been compiled into the kernel"
echo " "
echo " Find out more at: http://hvkls.dyndns.org/downloads/documentation/"
echo " "
echo "       *****YOU WILL HAVE TO REBOOT AFTER THIS*****"
echo " "
 sleep 2 
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Webinstaller/latest-webinstaller.tar.gz
  wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/latest-webinstaller.tar.gz
  tar -C / -xvzf latest-webinstaller.tar.gz
  /usr/local/sbin/webinstaller-kernelinst.sh
fi

Post Install Script

#! /bin/bash
###############################################################################
#  ___                _    _       _                       _    _             #
# | __>_ _  ___  ___ | |  <_>._ _ | |_   ___ ._ _ _  ___ _| |_ <_>__          #
# | _>|  _>/ ._>/ ._>| |_ | || | || / / / . \| | | |<_> | | |  | |\ \/        #
# |_| |_|  \___.\___.|___||_||_|_||_\_\ \___/|_|_|_|<___| |_|  |_|/\_\        #
#                                                                             #
# FreeLinkomatix Post install script                                          #
#                                                                             #
# This script is ment to be run after the upgrade to a v2.6 kernel            #
# It will install additional apps some of which are dependant on kernel v2.6  #
###############################################################################


wget http://downloads.linkstationwiki.net/Installers/Freelinkomatix/postinstall.sh -O newest
if ! diff postinstall.sh newest >> /dev/null ; then
  rm newest
  clear
  echo "There is a newer version of the Post Install Script available"
  echo "*************************************************************"
  echo " get it from:"
  echo " "
  echo " http://downloads.linkstationwiki.net/Installers/Freelinkomatix/postinstall.sh"
exit 1
else
  rm newest
fi

clear
echo "FreeLinkomatix Post install script: "
echo " "
echo "This script is ment to be run after the upgrade to a v2.6 kernel"
echo "It will install additional apps some of which are dependant on kernel v2.6"
echo " "
echo "Operating System: " `uname -o`
echo "Kernel Release:   " `uname -r`
echo "Version:          " `uname -v`
echo "Processor:        " `uname -m`
echo " "
echo " 1. Add Kernel Network File System (NFS) and the Webmin Exports module"
echo " 2. Install Rsync and download Webmin module rsyncmin"
echo " 3. Add USB Automounting and CUPS Printer Support"
echo " 4. Macintosh Specific Netatalk and Howl Zeroconf DNS discovery service"
echo " 5. Add Firefly (mt-daapd) Media Server "
echo " 6. Install ccxstream XBMSP protocol for XBox Media Center "
echo " 7. KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP"
echo " 8. LAMP and Gallery2 Photo gallery "
echo " "
echo -n "Do you want to add additional apps to your Linkstation? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "n" ] ; then
exit 1
fi

###############################################################################
#First do a quick check to see that you are running a kernel 2.6 on your      #
#Linkstation and set some variables                                           #
###############################################################################

ERROR="0"
kernelversion | grep -q "2.6" || ERROR="1"
uname -m | grep -q ppc || ERROR="1"

if [ "$ERROR" == "1" ] ; then
        echo ""
        echo "FATAL: At present only PPC-based Linkstations running kernel v2.6 are supported."
        echo "--> Cannot continue."
        echo ""
        exit 1
fi
# Recognize Kernel 2.6 LinkStation Flavors 
uname -r | grep "2.6" | grep kurobox | grep -q -v HG && FLAVOR="ls1"
uname -r | grep "2.6" | grep kurobox | grep -q HG && FLAVOR="hg"


###############################################################################
#Then do a quick check to make sure you have apt-get this should weed out the #
#Openlink users too                                                           #
###############################################################################

apt-get -v | grep -q dpkg || ERROR="1"
if [ "$ERROR" == "1" ] ; then
        echo ""
        echo "FATAL: Do you have apt-get installed, is this Debian(FreeLink)?"
        echo "--> Cannot continue."
        echo ""
        exit 1
fi

###############################################################################
#Install Rsync and download Webmin module rsyncmin                            #
###############################################################################
clear
echo " "
echo "Install Rsync and download Webmin module rsyncmin"
echo "-------------------------------------------------"
echo " rsync is a free software computer program for Unix systems which"
echo " synchronizes files and directories from one location to another" 
echo " while minimizing data transfer using delta encoding when" 
echo " appropriate. An important feature of rsync not found in most" 
echo " similar programs/protocols is that the mirroring takes place" 
echo " with only one transmission in each direction. rsync can copy" 
echo " or display directory contents and copy files, optionally using"
echo " compression and recursion."
echo " "
echo " This script will also download the webmin module Rsyncmin from"
echo " http://opensource.digisec.de/ which configures rsyncd.conf "
echo " "
echo "                        rsyncmin.wbm"
echo " "
echo " You will have to install the Rsyncmin module within Webmin yourself"
echo " "
echo " "
echo -n "Do you want to Install Rsync? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "y" ] ; then
  if grep -F rsync /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2 
  else
    echo "rsync" >> /etc/freelinkomatix_installed  
    apt-get install rsync
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://opensource.digisec.de/webmin/rsyncmin.wbm
wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/rsyncmin.wbm 
 fi
fi

###############################################################################
#Add USB Automounting and CUPS Printer Support                                #
###############################################################################
clear
echo " "
echo "Add USB Automounting and CUPS Printer Support"
echo "---------------------------------------------"
echo " This will add USB Drive automounting and mount USB"
echo " drives to /media/usb0,1,2,3 etc.  symbolic links"
echo " in /mnt/share will also be created usb0,usb1,usb2,usb3"
echo " so that they will be accessable via your samba share"
echo " Also CUPS (Common Unix Printing System) Support will"
echo " be added. You can configure this in Webmin"
echo " "
echo "  Webmin --> Hardware -->Printer Adminstration -->Module Config -->"
echo "  -->Printer Configuration Style -->[CUPS]"
echo " "
echo " "
echo -n "Do you want to add USB Automounting and CUPS Printer Support? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "y" ] ; then
  if grep -F usbcups /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "usbcups" >> /etc/freelinkomatix_installed  
    apt-get remove hotplug 
    apt-get install usbmount
    sed -e 's@^FILESYSTEMS.*$@FILESYSTEMS="ext3 ext2 vfat"@ ; s@^MOUNTOPTIONS.*$@MOUNTOPTIONS="noexec,nodev,noatime"@ ; s@^FS_MOUNTOPTIONS.*$@FS_MOUNTOPTIONS="-fstype=vfat,umask=000"@' < /etc/usbmount/usbmount.conf > /tmp/file
    cat /tmp/file > /etc/usbmount/usbmount.conf
    ln -s /media/usb0/ /mnt/share
    ln -s /media/usb1/ /mnt/share
    ln -s /media/usb2/ /mnt/share
    ln -s /media/usb3/ /mnt/share
    apt-get install cupsys cupsys-bsd
  fi
fi

###############################################################################
#Add Kernel Network File System (NFS) and the Webmin Exports module           #
###############################################################################
clear
echo " "
echo "Add Kernel Network File System (NFS) and the Webmin Exports module"
echo "-----------------------------------------------------------------"
echo " Network File System (NFS) is a protocol originally developed"
echo " by Sun Microsystems in 1984, as a distributed file system which"
echo " allows a computer to access files over a network as easily as if"
echo " they were on its local disks. NFS is one of many protocols built"
echo " on the Open Network Computing Remote Procedure Call system"
echo " This script will install Kernel NFS server support, it will" 
echo " require Kernel 2.6 to have been installed. Also the NFS exports"
echo " control module for webmin will be installed allowing webmin"
echo " to manage NFS exports."
echo "  " 
echo " After you set up NFS exports with webmin or manually, you "
echo " will have to either restart your system or restart the NFS"
echo " daemon with" 
echo " "
echo "               /etc/init.d/nfs-kernel-server start"
echo " "
echo " "
echo -n "Do you want to add Kernel NFS and Webmin Exports? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "y" ] ; then
  if grep -F kernelnfs /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "kernelnfs" >> /etc/freelinkomatix_installed  
    apt-get install nfs-kernel-server webmin-exports 
  fi
fi
###############################################################################
#Macintosh Specific Netatalk and Howl Zeroconf DNS discovery service          #
###############################################################################
clear
echo " "
echo "Macintosh Specific Netatalk and Howl Zeroconf DNS discovery service"
echo "-------------------------------------------------------------------"
echo " Protocols that provide Native Mac OS X compatibility"
echo " Netatalk is an open-source implementation of the AppleTalk suite"
echo " of protocols. It allows Unix-like operating systems to serve as "
echo " file, print and time servers for Macintosh computers."
echo " Howl -a multicast DNS service discovery is an open source"
echo " implementation of the Zeroconf specification a set of techniques"
echo " that automatically create a usable IP this allows unknowledgeable"
echo " users to connect computers, networked  printers, and other items"
echo " together and expect them to work. "
echo " Zeroconf was pioneered by Apple Computer in the company's move"
echo " from AppleTalk to IP."
echo " Binaries from: http://hvkls.dyndns.org/downloads/documentation/"
echo " "
echo " This will also get the third party webmin netatalk module"
echo " from Matthew Keller (kellermg@potsdam.edu) you will have to "
echo " install it yourself within webmin" 
echo " "
echo -n "Native Mac OS X compatibility with NetaTalk and Howl? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "y" ] ; then
#########################
#INSTALL NETATALK FIRST #
######################### 
  if grep -F netatalkhowl /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "netatalkhowl" >> /etc/freelinkomatix_installed  
    apt-get install cracklib-runtime libpam-cracklib netatalk 
    /etc/init.d/netatalk stop 
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/LS1_PPC/Packages/binaries-that-need-kernel2.6/netatalk_2.0.3-4_powerpc.deb
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/netatalk_2.0.3-4_powerpc.deb

    dpkg -i netatalk_2.0.3-4_powerpc.deb 
    rm /etc/default/netatalk
    echo 'AFPD_MAX_CLIENTS=10 ' >> /etc/default/netatalk
    echo 'ATALK_NAME=`/bin/hostname` ' >> /etc/default/netatalk
    echo "ATALK_MAC_CHARSET='MAC_ROMAN' " >> /etc/default/netatalk
    echo "ATALK_UNIX_CHARSET='LOCALE' " >> /etc/default/netatalk
    echo 'AFPD_UAMLIST="-U uams_dhx.so" ' >> /etc/default/netatalk  
    echo 'AFPD_GUEST=nobody ' >> /etc/default/netatalk
    echo 'ATALKD_RUN=no ' >> /etc/default/netatalk
    echo 'PAPD_RUN=no ' >> /etc/default/netatalk
    echo 'CNID_METAD_RUN=yes ' >> /etc/default/netatalk
    echo 'AFPD_RUN=yes ' >> /etc/default/netatalk
    echo 'TIMELORD_RUN=no ' >> /etc/default/netatalk
    echo 'A2BOOT_RUN=no ' >> /etc/default/netatalk
    echo 'ATALK_BGROUND=yes ' >> /etc/default/netatalk
    echo 'export ATALK_MAC_CHARSET ' >> /etc/default/netatalk
    echo 'export ATALK_UNIX_CHARSET ' >> /etc/default/netatalk
    rm /etc/netatalk/afpd.conf
    echo '- -transall -uamlist uams_dhx.so -nosavepassword -noddp  ' >> /etc/netatalk/afpd.conf
    echo '/mnt/shared "shared" allow:linkstation ' >> /etc/netatalk/AppleVolumes.default

    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://mattwork.potsdam.edu/projects/netatalk/webmin_module/netatalk.wbm
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/netatalk.wbm

    ####################
    #THEN INSTALL HOWL #
    ####################
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/LS1_PPC/Packages/binaries-that-need-kernel2.6/howl_1.0.0-binaries-ppc.tar.gz
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/howl_1.0.0-binaries-ppc.tar.gz
    tar -C / -xvzf howl_1.0.0-binaries-ppc.tar.gz
    #will have to alter /etc/howl/mDNSResponder.conf file to fit what we make and wget it in the future....
    /etc/init.d/howl start
    fi
fi
###############################################################################
#Add Firefly (mt-daapd) Media Server                                          #
###############################################################################
clear
echo " "
echo "Add Firefly (mt-daapd) Media Server"
echo "-----------------------------------"
echo " Firefly Media Server (formerly mt-daapd) is an open-source media"
echo " server (or daemon) for the Roku SoundBridge and iTunes. It serves"
echo " media files using Roku Server Protocol (RSP) and Digital Audio"
echo " Access Protocol (DAAP).Netatalk is an open-source implementation"
echo " of the AppleTalk suite"
echo " "
echo " Point your web browser to http://linkstation:3689 and login with: "
echo "                user:mt-daapd"
echo "                password:mt-daapd "
echo " "
echo " and set up the configuration in the web interface "
echo " "
echo " "
echo " Binaries from: http://hvkls.dyndns.org/downloads/documentation/"
echo " "
echo -n "Add Firefly (mt-daapd) Media Server? (y/n)"
read -e ANSWER
if [ "$ANSWER" == "y" ] ; then
  if grep -F firefly /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "firefly" >> /etc/freelinkomatix_installed  
    apt-get install libid3tag0 
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/LS1_PPC/Packages/binaries-that-need-kernel2.6/mtdaapd_0.2.4-binaries-ppc.tar.gz
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://hvkls.dyndns.org/downloads/mtdaapd_0.2.4-binaries-ppc.tar.gz
    tar -C / -xvzf mtdaapd_0.2.4-binaries-ppc.tar.gz 
    #wget http://puzzle.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.4.tar.gz
    #tar -xvzf mt-daapd-0.2.4.tar.gz
    #cd mt-daapd-0.2.4
    #./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --sysconfdir=/etc 
    #make
    #make install
    #mkdir /etc/mt-daapd
    #cp contrib/mt-daapd.* /etc/mt-daapd/
    mv /etc/mt-daapd.SAMPLE /etc/mt-daapd 
    /etc/init.d/mt-daapd start
  fi
fi


###############################################################################
#Install ccxstream XBMSP protocol for XBox Media Center                       #
###############################################################################
clear
echo " "
echo "Install ccxstream XBMSP protocol for XBox Media Center"
echo "------------------------------------------------------"
echo " XBMSP (XBox Media Stream Protocol) or XBMS for short is another way"
echo " of sharing media, supposedy it is faster than Samba. It is capable"
echo " of streaming all types of media and gives the option of sharing"
echo " individual folders or entire drives. XBMS is very bandwith efficient."
echo " Once you install ccXStream on your LinkStation all you have to do"
echo " is configure your XMBC to use the media share."
echo " ccxstream is a part of the XBox Media Center Project"
echo "http://www.xboxmediacenter.com/"
echo " "
echo " It will share /mnt/share by default"
echo " "
echo -n "Do you want to install ccxstream - XBMSP? (y/n)"
read -e ANSWER 
if [ "$ANSWER" == "y" ] ; then
  if grep -F ccxstream /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "ccxstream" >> /etc/freelinkomatix_installed  
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c  http://osdn.dl.sourceforge.net/sourceforge/xbplayer/ccxstream-1.0.15.tar.gz
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/ccxstream-1.0.15.tar.gz
    tar -xvzf ccxstream-1.0.15.tar.gz
    cd ccxstream-1.0.15
    make
    cp ccxstream /usr/local/bin
    cp ccxtest /usr/local/bin
    mkdir /usr/doc/ccxstream
    cp  COPYRIGHT /usr/doc/ccxstream/
    cp  ChangeLog /usr/doc/ccxstream/
    cp  PORTING /usr/doc/ccxstream/
    cp  README /usr/doc/ccxstream/
    cp  TODO /usr/doc/ccxstream/
    cp  xbmsp-xml.txt /usr/doc/ccxstream/
    cp  xbmsp.txt /usr/doc/ccxstream/
    echo '#! /bin/sh' >> /etc/init.d/ccxstream
    echo '#' >> /etc/init.d/ccxstream
    echo '# CCXSTREAM - see /usr/doc/ccxstream/README for options' >> /etc/init.d/ccxstream
    echo '#' >> /etc/init.d/ccxstream
    echo '# Set SHAREDIR to directory you want to share' >> /etc/init.d/ccxstream
    echo '# Set OPTIONS to other command line options you want' >> /etc/init.d/ccxstream
    echo 'SHAREDIR=/mnt/share' >> /etc/init.d/ccxstream
    echo 'OPTIONS="-f -F /var/run/ccxstream.pid"' >> /etc/init.d/ccxstream
    echo '#' >> /etc/init.d/ccxstream
    echo '  if [ -n "`pidof ccxstream`" ] ; then' >> /etc/init.d/ccxstream
    echo '     killall ccxstream 2>/dev/null' >> /etc/init.d/ccxstream
    echo '  fi' >> /etc/init.d/ccxstream
    echo '  sleep 2' >> /etc/init.d/ccxstream
    echo '  /usr/local/bin/ccxstream -r $SHAREDIR  $OPTIONS' >> /etc/init.d/ccxstream
    chmod a+x /etc/init.d/ccxstream
    # cd /etc/rc.d/rc2.d
    # ln -s ../init.d/ccxstream S75ccxstream
    # cd ../rc0.d
    # ln -s ../init.d/ccxstream K02ccxstream
    # cd ../rc6.d
    # ln -s ../init.d/ccxstream K02ccxstream
    # /etc/init.d/ccxstream
  fi
fi
###############################################################################
#KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP                    #
###############################################################################
clear
echo " "
echo "KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP"
echo "---------------------------------------------------------"
echo " Xlink Kai: Evolution VII lets you connect with other console users"
echo " around the world, and play online games for free. XLink Kai: Evo VII"
echo " tricks your console into thinking that the other users it is connecting"
echo " to over the Internet, are actually part of a Local Area Network. This"
echo " is the basis of system-link gaming, where friends would gather around"
echo " in the same house and play over 2 or more consoles. With XLink Kai: Evo VII"
echo " you now have the option to test your skills out with anybody in the world."
echo " you will need a XTAG (username) and Password for this service."
echo " Xlink Kai is developed by Team Xlink - http://www.teamxlink.co.uk/"
echo " "
echo -n "Do you want to install X-link KAID? (y/n)"
read -e ANSWER 
if [ "$ANSWER" == "y" ] ; then
  if grep -F xlinkkai /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "xlinkkai" >> /etc/freelinkomatix_installed  
    echo -n "Enter your Xlink username:"
    read -e USERNAME
    echo -n "Enter your password:"
    read -e PASSWORD
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://www.teamxlink.co.uk/binary/kaid-ppc-static-libc-2.3.zip
    wget --tries=3 --dns-cache=off --dns-timeout=8 --connect-timeout=8 --random-wait -c http://downloads.linkstationwiki.net/Installers/Freelinkomatix/kaid-ppc-static-libc-2.3.zip
    apt-get install unzip
    unzip kaid-*
    mv kaid-static* kaid
    mv kaid /usr/local/sbin
    chmod 755 /usr/local/sbin/kaid
    wget http://downloads.linkstationwiki.net/freelinkomatix/kaid
    mv kaid /etc/init.d/kaid
    chmod 755 /etc/init.d/kaid  
    # ln -s /etc/init.d/kaid /etc/rc.d/rc0.d/K99kaid
    # ln -s /etc/init.d/kaid /etc/rc.d/rc2.d/S99kaid
    # ln -s /etc/init.d/kaid /etc/rc.d/rc6.d/K99kaid
    wget http://downloads.linkstationwiki.net/freelinkomatix/kaid.conf
    echo 'Username = ' $USERNAME  >> kaid.conf
    echo 'Password = ' $PASSWORD  >> kaid.conf
    mv kaid.conf /etc/kaid.conf
  fi
fi




###############################################################################
#LAMP and Gallery2 Photo gallery                                              #
###############################################################################
clear
echo "LAMP and Gallery2 Photo gallery"
echo "-------------------------------"
echo " LAMP (or L.A.M.P.) refers to a set of free software programs commonly"
echo " used together to run dynamic Web sites or servers:"
echo "  * Linux, the operating system"
echo "  * Apache, the Web server"
echo "  * MySQL, the database management system (or database server)"
echo "  * PHP scripting/programming language" 
echo " "
echo " Gallery2"
echo " The Gallery Project is an open source PHP project enabling simple"
echo " management and publication of photographs and other digital media"
echo " through a PHP-enabled Apache, IIS or Zeus web server. Photo management"
echo " includes automatic thumbnails, resizing, rotation, and flipping, among"
echo " other things. Albums can be organized hierarchically and individually"
echo " controlled by administrators or privileged users. "
echo " "
echo -n "Do you want to install LAMP? (y/n)"
read -e ANSWER 
if [ "$ANSWER" == "y" ] ; then
  if grep -F lamp /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "lamp" >> /etc/freelinkomatix_installed  
    apt-get install apache apache-common 
    apt-get install mysql-server php4-mysql libapache-mod-auth-mysql
  fi
fi
echo -n "Do you want to install Gallery2? (y/n)"
read -e ANSWER 
if [ "$ANSWER" == "y" ] ; then
  if grep -F gallery /etc/freelinkomatix_installed ; then
    clear
    echo "You already installed this with the FreeLinkomatix Post-install Script"
    sleep 2
  else
    echo "gallery" >> /etc/freelinkomatix_installed  
    apt-get install apache debconf  mysql-client  netpbm  php4  php4-mysql  wwwconfig-common 
    wget http://ftp.debian.org/debian/pool/main/g/gallery2/gallery2_2.1.2-1_all.deb
    dpkg -i gallery2_2.1.2-1_all.deb 
  fi
fi