Magellan Linux

Diff of /mage/branches/alx-0_6_0/profiles/alx-060/forced-uninstall

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2734 by niro, Thu Aug 11 14:51:25 2011 UTC revision 3258 by niro, Wed Sep 28 13:07:28 2011 UTC
# Line 4  Line 4 
4  # get a suitable environment  # get a suitable environment
5  source /etc/profile  source /etc/profile
6    
7    PATH="/etc/mage-profile:${PATH}"
8    
9  MAGERC="/etc/mage.rc"  MAGERC="/etc/mage.rc"
10  MAGEPROFILE="alx-060"  MAGEPROFILE="alx-060"
11  NEW_MAGE_DISTRIBUTION="unstable"  NEW_MAGE_DISTRIBUTION="unstable"
12  NEW_RSYNC="rsync://magellan-linux.de/mage-alx-0.6.0"  #NEW_RSYNC="rsync://magellan-linux.de/mage-alx-0.6.0"
13  NEW_MIRRORS="http://magellan-linux.de/magellan/alx-0.6.0/${NEW_MAGE_DISTRIBUTION}"  #NEW_MIRRORS="http://magellan-linux.de/magellan/alx-0.6.0/${NEW_MAGE_DISTRIBUTION}"
14    NEW_RSYNC="rsync://128.20.41.110/mage-alx-060"
15    NEW_MIRRORS="http://128.20.41.110/magellan/alx-060"
16  NEW_PACKAGES_SERVER_PATH='packages/${ARCH}'  NEW_PACKAGES_SERVER_PATH='packages/${ARCH}'
17  NEW_MAGE_UNINSTALL_TIMEOUT=0  NEW_MAGE_UNINSTALL_TIMEOUT=0
18    
# Line 18  NEW_ALX_DHCP_PROG="/sbin/udhcpc" Line 22  NEW_ALX_DHCP_PROG="/sbin/udhcpc"
22  NEW_ALX_DHCP_START="-T 10 -t 5 -n -i"  NEW_ALX_DHCP_START="-T 10 -t 5 -n -i"
23  NEW_ALX_DHCP_STOP=""  NEW_ALX_DHCP_STOP=""
24  NEW_MIN_DISK_SPACE="85000"  NEW_MIN_DISK_SPACE="85000"
25  NEW_ALX_PLUGINS="/etc/alxconfig-ng/plugins"  NEW_ALX_PLUGINS="/usr/lib/alxconfig-ng/plugins"
26    NEW_ALX_FUNCTIONS="/usr/lib/alxconfig-ng/functions"
27    
28  # fake mage upgrade to prevent annoying error messages  # fake mage upgrade to prevent annoying error messages
29  if [[ ! -x /usr/sbin/mageupgrade ]]  if [[ ! -x /usr/sbin/mageupgrade ]]
# Line 90  updategrub2() Line 95  updategrub2()
95   grub-install --no-floppy "${bootdisk}"   grub-install --no-floppy "${bootdisk}"
96  }  }
97    
98    # checks size of the mbr, if we are able to install grub2
99    check_mbr_size()
100    {
101     local hdd="$1"
102     local geometry_sectors
103     local partition_start_sector
104     local retval
105    
106     hdd="$(mount | grep '/dev/' | grep ' / ' | cut -d' ' -f1 | sed 's:\(.*\)[0-9].*:\1:')"
107    
108     if [[ -z ${hdd} ]]
109     then
110     echo "check_mbr_size(): No hdd given, aborting"
111     return 1
112     fi
113    
114     # fix permissions
115     chmod +x /etc/mage-profile/sfdisk > /dev/null
116    
117     # default retval is 0
118     retval=0
119    
120     # check only if disk size is below 256mb
121     if [[ $(sfdisk -s ${hdd}) -lt 257000 ]]
122     then
123     geometry_sectors=$(sfdisk -g ${hdd} | sed 's:.*,\ \([0-9].*\)\ sectors.*:\1:')
124     partition_start_sector=$(sfdisk -d /dev/hda | grep /dev/hda1 | sed -e 's:.*start=\(.*\), size.*:\1:' -e 's:\ ::g')
125    
126     # check start_sector / geomtry > 1 then everything is fine, else abort setup as grub may not install!
127     if [[ $(expr ${partition_start_sector} / ${geometry_sectors}) -gt 1 ]]
128     then
129     echo "Current partition setup is big enough, to install grub2 mbr to this disk."
130     retval=0
131     else
132     echo "Warning: Current partition setup to small, cannot install grub2 boot-sector to this disk."
133     echo "Maybe this is a *RANGEE* with a flash-disk =<256MB. Please re-install this client."
134     echo "Upgrade *not* supported!"
135     retval=1
136     killall mage &> /dev/null
137     killall update-alx &> /dev/null
138     fi
139     else
140     echo "Current disk is big enough, to install grub2 mbr to this disk."
141     retval=0
142     fi
143    
144     return "${retval}"
145    }
146    
147  # fix mage.rc  # fix mage.rc
148  CONFIG="${MAGERC}"  CONFIG="${MAGERC}"
149  updateconfig RSYNC MIRRORS MAGE_DISTRIBUTION PACKAGES_SERVER_PATH MAGE_UNINSTALL_TIMEOUT  updateconfig RSYNC MIRRORS MAGE_DISTRIBUTION PACKAGES_SERVER_PATH MAGE_UNINSTALL_TIMEOUT
150    
151  # fix config.rc  # fix config.rc
152  CONFIG="${CONFIGRC}"  CONFIG="${CONFIGRC}"
153  updateconfig ALX_NETWORKING ALX_DHCP_PROG ALX_DHCP_START ALX_DHCP_STOP MIN_DISK_SPACE ALX_PLUGINS  updateconfig ALX_NETWORKING ALX_DHCP_PROG ALX_DHCP_START ALX_DHCP_STOP MIN_DISK_SPACE ALX_PLUGINS ALX_FUNCTIONS
154    
155  # fix profile  # fix profile
156  if [[ $(readlink /etc/mage-profile) != */${MAGEPROFILE} ]]  if [[ $(readlink /etc/mage-profile) != */${MAGEPROFILE} ]]
# Line 110  if [[ ! -e /dev/root ]] Line 164  if [[ ! -e /dev/root ]]
164  then  then
165   echo "fixing missing /dev/root symlink ..."   echo "fixing missing /dev/root symlink ..."
166   rootdev=$(basename $(mount | grep ' / ' | cut -d' ' -f1))   rootdev=$(basename $(mount | grep ' / ' | cut -d' ' -f1))
167   [[ ! -e /dev/${rootdev} ]] && ln -snf ${rootdev} /dev/root   [[ -e /dev/${rootdev} ]] && ln -snf ${rootdev} /dev/root
168  fi  fi
169    
170    check_mbr_size || exit 1
171    
172  # update mage3 -> mage4  # update mage3 -> mage4
173  if [[ -z $(magequery -n mage) ]]  if [[ -z $(magequery -n mage) ]]
174  then  then
# Line 233  fi Line 289  fi
289    
290  if [[ -f /.dist-upgrade ]]  if [[ -f /.dist-upgrade ]]
291  then  then
292     # busybox gets installed before the new busybox initscripts
293     # and the syslog daemon gets started at the wrong runlevels (rc3.d instead of rc.sysinit)
294     # these runlevel symlinks will be deleted by the prune-orphaned-files script
295     # and syslogd will be left never started. so add syslogd here
296     rc-config add syslogd
297    
298   # array of wireless opts   # array of wireless opts
299   WIRELESS_OPTS=( WIRELESS_BITRATE WIRELESS_CHANNEL WIRELESS_ESSID WIRELESS_FREQUENCY WIRELESS_MODE WIRELESS_NICK WIRELESS_AUTH_MODE WIRELESS_KEY_LENGTH WIRELESS_KEY WIRELESS_KEY_ASCII WIRELESS_WPA_DRIVER )   WIRELESS_OPTS=( WIRELESS_BITRATE WIRELESS_CHANNEL WIRELESS_ESSID WIRELESS_FREQUENCY WIRELESS_MODE WIRELESS_NICK WIRELESS_AUTH_MODE WIRELESS_KEY_LENGTH WIRELESS_KEY WIRELESS_KEY_ASCII WIRELESS_WPA_DRIVER )
300    
# Line 272  then Line 334  then
334   # install an appropriate uvesafb.conf   # install an appropriate uvesafb.conf
335   install -d /etc/modprobe.d || die   install -d /etc/modprobe.d || die
336   echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > /etc/modprobe.d/uvesafb.conf || die   echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > /etc/modprobe.d/uvesafb.conf || die
337     # install an appropriate viafb.conf
338     echo "options viafb viafb_mode=1024x768 viafb_refresh=60" > /etc/modprobe.d/viafb.conf || die
339   # create an updated initrd   # create an updated initrd
340   DISKMODS="sd_mod"   DISKMODS="sd_mod"
341   OLDPATAMODS="amd74xx piix sis5513 via82cxxx"   OLDPATAMODS="amd74xx piix sis5513 via82cxxx"
342   PATAMODS="ata_piix pata_amd pata_mpiix pata_oldpiix pata_sis pata_via"   PATAMODS="ata_piix pata_amd pata_mpiix pata_oldpiix pata_sis pata_via"
343   SATAMODS="sata_via sata_sis sata_nv"   SATAMODS="sata_via sata_sis sata_nv"
344   DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via"   DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via"
345   FBMODS="uvesafb"   if [ -x /usr/sbin/alx-hwdetection ]
346     then
347     case $(/usr/sbin/alx-hwdetection system) in
348     zotac) FBMODS="" ;;
349     rangee) FBMODS="" ;; ## fallback to vesafb, viafb does not run on all CLE266 boards
350     standard) FBMODS="uvesafb" ;;
351     # unkown, use nothing to be safe
352     *) FBMODS="" ;;
353     esac
354     else
355     # unkown, use nothing to be safe
356     FBMODS=""
357     fi
358   echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS}\"" > /etc/conf.d/mkinitrd   echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS}\"" > /etc/conf.d/mkinitrd
359   kernelver=$(readlink /boot/vmlinuz | sed 's:kernel-::')   kernelver=$(readlink /boot/vmlinuz | sed 's:kernel-::')
360     # run depmod before
361     depmod -aF /boot/System.map-${kernelver}
362   mkinitrd -f /boot/initrd-${kernelver}.img ${kernelver}   mkinitrd -f /boot/initrd-${kernelver}.img ${kernelver}
363   # update grub bootloader   # update grub bootloader
364   updategrub2   updategrub2
# Line 288  fi Line 366  fi
366    
367  if [[ -f /.dist-upgrade ]]  if [[ -f /.dist-upgrade ]]
368  then  then
369   echo "preparing a reboot in 60 seconds ..."   if [[ ${NOREBOOT} != 1 ]]
370   # reboot via cronjob   then
371   [[ ! -d /var/spool/cron/crontabs ]] && install -d /var/spool/cron/crontabs   echo "preparing for a reboot in 60 seconds ..."
372   # setup a proper cronjob   # reboot via cronjob
373   tmp=$(mktemp)   [[ ! -d /var/spool/cron/crontabs ]] && install -d /var/spool/cron/crontabs
374   echo "* * * * * crontab -r && reboot -f" > ${tmp}   # setup a proper cronjob
375   crontab ${tmp}   tmp=$(mktemp)
376   [[ -f ${tmp} ]] && rm -f ${tmp}   :> ${tmp}
377   # start cron daemon in background   # fake mageupgrade to fix annoying error messages
378   crond -b -S   if [[ ! -x /sbin/mageupgrade ]]
379     then
380     echo '#!/bin/sh' > /sbin/mageupgrade
381     echo 'exit 0'  >> /sbin/mageupgrade
382     chmod +x /sbin/mageupgrade
383     echo "* * * * * rm /sbin/mageupgrade" >> ${tmp}
384     fi
385     echo "* * * * * crontab -r && reboot -f" >> ${tmp}
386     crontab ${tmp}
387     [[ -f ${tmp} ]] && rm -f ${tmp}
388     # start cron daemon in background
389     crond -b -S
390     fi
391    
392     rm -f /.dist-upgrade
393  fi  fi
394    
395  exit 0  exit 0

Legend:
Removed from v.2734  
changed lines
  Added in v.3258