Magellan Linux

Diff of /alx-src/branches/alxconf-060/init.d/alxsettings

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

revision 2007 by niro, Mon May 9 15:31:56 2011 UTC revision 2122 by niro, Mon May 16 11:08:31 2011 UTC
# Line 26  source $rc_functions Line 26  source $rc_functions
26  source /etc/alxconfig-ng/config.rc  source /etc/alxconfig-ng/config.rc
27    
28  # helper functions  # helper functions
29    source /usr/lib/alxconfig-ng/functions/common
30  source /usr/lib/alxconfig-ng/functions/mysqlfunctions  source /usr/lib/alxconfig-ng/functions/mysqlfunctions
31  source /usr/lib/alxconfig-ng/functions/serial_functions  source /usr/lib/alxconfig-ng/functions/serial_functions
32  source /usr/lib/alxconfig-ng/functions/config_modules  source /usr/lib/alxconfig-ng/functions/config_modules
# Line 155  get_system_serial() Line 156  get_system_serial()
156   echo -e ${COLMAGENTA}"Preparing system for first boot"${COLDEFAULT}   echo -e ${COLMAGENTA}"Preparing system for first boot"${COLDEFAULT}
157   fi   fi
158   ALX_HW_DETECT=true   ALX_HW_DETECT=true
159   /etc/init.d/hwdetect start   hwsetup
160    
161   # set hostname to alx_default_hostname   # set hostname to alx_default_hostname
162   # use old hostname if this is a forced re-check   # use old hostname if this is a forced re-check
# Line 177  get_system_serial() Line 178  get_system_serial()
178   exit 1   exit 1
179   fi   fi
180    
181    
182   CUR_IP=$(/sbin/ifconfig eth0 | sed -n '/addr:/s/ [^r]*..//gp')   CUR_IP=$(/sbin/ifconfig eth0 | sed -n '/addr:/s/ [^r]*..//gp')
183   CUR_MAC=$(/sbin/ifconfig eth0 | grep HWaddr | cut -d ' ' -f11)   CUR_MAC=$(/sbin/ifconfig eth0 | grep HWaddr | cut -d ' ' -f11)
184   CUR_MTIME=$(date +%s)   CUR_MTIME=$(date +%s)
# Line 277  import_settings_to_db() Line 279  import_settings_to_db()
279   [ -z "${ALX_DEFAULT_DOMAIN}" ] && ALX_DEFAULT_DOMAIN=localdomain   [ -z "${ALX_DEFAULT_DOMAIN}" ] && ALX_DEFAULT_DOMAIN=localdomain
280   [ -z "${ALX_DEFAULT_HOSTNAME}" ] && ALX_DEFAULT_HOSTNAME=magellan-alx   [ -z "${ALX_DEFAULT_HOSTNAME}" ] && ALX_DEFAULT_HOSTNAME=magellan-alx
281    
282   # vars used by hwdetect   # vars used by hwsetup
283   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME
284   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER
285   local MOUSETYPE XMOUSETYPE FULLNAME DEVICE   local MOUSETYPE XMOUSETYPE FULLNAME DEVICE
286    
287   # get setting from hwdetect   # get setting from hwsetup
288   source /etc/sysconfig/hwsetup/knoppix   source /etc/conf.d/hwsetup/knoppix
289   source /etc/sysconfig/hwsetup/mouse   source /etc/conf.d/hwsetup/mouse
290    
291   echo   echo
292   echo -e ${COLMAGENTA}"Importing detected settings to database"${COLDEFAULT}   echo -e ${COLMAGENTA}"Importing detected settings to database"${COLDEFAULT}
# Line 300  import_settings_to_db() Line 302  import_settings_to_db()
302   [[ $(< ${SETTINGSPATH}/confd-networking) != ${iface} ]] && continue   [[ $(< ${SETTINGSPATH}/confd-networking) != ${iface} ]] && continue
303   echo "WARNING: only importing settings for interface [ ${iface} ] !"   echo "WARNING: only importing settings for interface [ ${iface} ] !"
304   source ${network_settings}/net.${iface} || exit 1   source ${network_settings}/net.${iface} || exit 1
305   NETCARD_DRIVER="$(cat /etc/modules.d/net.${iface} | cut -d' ' -f3)"   NETCARD_DRIVER="$(cat /etc/modprobe.d/net.${iface}.conf | cut -d' ' -f3)"
306    
307   mysqldo "insert into cfg_network(   mysqldo "insert into cfg_network(
308   hostname,   hostname,
# Line 450  update_settings_in_db() Line 452  update_settings_in_db()
452   [ -z "${ALX_DEFAULT_DOMAIN}" ] && ALX_DEFAULT_DOMAIN=localdomain   [ -z "${ALX_DEFAULT_DOMAIN}" ] && ALX_DEFAULT_DOMAIN=localdomain
453   [ -z "${ALX_DEFAULT_HOSTNAME}" ] && ALX_DEFAULT_HOSTNAME=magellan-alx   [ -z "${ALX_DEFAULT_HOSTNAME}" ] && ALX_DEFAULT_HOSTNAME=magellan-alx
454    
455   # vars used by hwdetect   # vars used by hwsetup
456   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME
457   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER
458   local MOUSETYPE XMOUSETYPE FULLNAME DEVICE   local MOUSETYPE XMOUSETYPE FULLNAME DEVICE
459    
460   # get setting from hwdetect   # get setting from hwsetup
461   source /etc/sysconfig/hwsetup/knoppix   source /etc/conf.d/hwsetup/knoppix
462   source /etc/sysconfig/hwsetup/mouse   source /etc/conf.d/hwsetup/mouse
463    
464   echo   echo
465   echo -e ${COLMAGENTA}"Updating detected settings in database"${COLDEFAULT}   echo -e ${COLMAGENTA}"Updating detected settings in database"${COLDEFAULT}
# Line 473  update_settings_in_db() Line 475  update_settings_in_db()
475   [[ $(< ${SETTINGSPATH}/confd-networking) != ${iface} ]] && continue   [[ $(< ${SETTINGSPATH}/confd-networking) != ${iface} ]] && continue
476   echo "WARNING: only importing settings for interface [ ${iface} ] !"   echo "WARNING: only importing settings for interface [ ${iface} ] !"
477   source ${network_settings}/net.${iface} || exit 1   source ${network_settings}/net.${iface} || exit 1
478   NETCARD_DRIVER="$(cat /etc/modules.d/net.${iface} | cut -d' ' -f3)"   NETCARD_DRIVER="$(cat /etc/modprobe.d/net.${iface}.conf | cut -d' ' -f3)"
479    
480   mysqldo "update cfg_network set   mysqldo "update cfg_network set
481   hostname='${ALX_DEFAULT_HOSTNAME}',   hostname='${ALX_DEFAULT_HOSTNAME}',
# Line 547  import_settings_local() Line 549  import_settings_local()
549   [ -z "${ALX_DEFAULT_DOMAIN}" ] && ALX_DEFAULT_DOMAIN=localdomain   [ -z "${ALX_DEFAULT_DOMAIN}" ] && ALX_DEFAULT_DOMAIN=localdomain
550   [ -z "${ALX_DEFAULT_HOSTNAME}" ] && ALX_DEFAULT_HOSTNAME=magellan-alx   [ -z "${ALX_DEFAULT_HOSTNAME}" ] && ALX_DEFAULT_HOSTNAME=magellan-alx
551    
552   # vars used by hwdetect   # vars used by hwsetup
553   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME
554   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER
555   local MOUSETYPE XMOUSETYPE FULLNAME DEVICE   local MOUSETYPE XMOUSETYPE FULLNAME DEVICE
556    
557   # get setting from hwdetect   # get setting from hwsetup
558   source /etc/sysconfig/hwsetup/knoppix   source /etc/conf.d/hwsetup/knoppix
559    
560   echo   echo
561   echo -e ${COLMAGENTA}"Importing detected settings to local system"${COLDEFAULT}   echo -e ${COLMAGENTA}"Importing detected settings to local system"${COLDEFAULT}
562    
563   if [[ ${ALX_CONFD_NETWORKING} = false ]]   if [[ ${ALX_CONFD_NETWORKING} = false ]]
564   then   then
565   #[ ! -d ${SETTINGSPATH} ] && install -d ${SETTINGSPATH}   # set an device alias for modprobe.conf
  #echo "${NETCARD_DRIVER}" > ${SETTINGSPATH}/modules  
   
  # set an device alias for modprobe.conf and modules.conf  
  [ ! -d /etc/modules.d ] && install -d /etc/modules.d  
566   [ ! -d /etc/modprobe.d ] && install -d /etc/modprobe.d   [ ! -d /etc/modprobe.d ] && install -d /etc/modprobe.d
567   echo "alias eth0 ${NETCARD_DRIVER}" > /etc/modules.d/net.eth0   echo "alias eth0 ${NETCARD_DRIVER}" > /etc/modprobe.d/net.eth0.conf
  echo "alias eth0 ${NETCARD_DRIVER}" > /etc/modprobe.d/net.eth0  
568    
569   # regenerate modprobe.conf   # regenerate modprobe.conf
570   [ -x $(which modules-update) ] && modules-update || echo "cannot regen modprobe.conf"   [ -x $(which modules-update) ] && modules-update || echo "cannot regen modprobe.conf"
# Line 590  import_settings_local() Line 587  import_settings_local()
587   # now generate fluxbox config files   # now generate fluxbox config files
588    
589   # fluxbox main config   # fluxbox main config
590   cat ${ALX_SKELETONS}/fluxbox/init \   cat ${ALX_SKELETONS}/fluxbox/init > ${ALX_UNPRIV_HOME}/.fluxbox/init
  > ${ALX_UNPRIV_HOME}/.fluxbox/init  
591    
592   # fluxbox autostart   # fluxbox autostart
593   cat ${ALX_SKELETONS}/fluxbox/apps \   cat ${ALX_SKELETONS}/fluxbox/apps > ${ALX_UNPRIV_HOME}/.fluxbox/apps
  > ${ALX_UNPRIV_HOME}/.fluxbox/apps  
594    
595   # fluxbox menu header   # fluxbox menu header
596   cat ${ALX_SKELETONS}/fluxbox/menu.header \   cat ${ALX_SKELETONS}/fluxbox/menu.header > ${ALX_UNPRIV_HOME}/.fluxbox/menu
  > ${ALX_UNPRIV_HOME}/.fluxbox/menu  
597    
598   # now fix it with proper messages :P   # now fix it with proper messages :P
599   local ver="$(< /etc/mageversion)"   local ver="$(< /etc/mageversion)"
600   sed -i "s:@CHANGEME@:alx-${ver}  #${ALX_SERIAL}:g" \   sed -i "s:@CHANGEME@:alx-${ver}  #${ALX_SERIAL}:g" ${ALX_UNPRIV_HOME}/.fluxbox/menu
  ${ALX_UNPRIV_HOME}/.fluxbox/menu  
601    
602   # add a newline (maybe there is no crlf in the header)   # add a newline (maybe there is no crlf in the header)
603   echo >> ${ALX_UNPRIV_HOME}/.fluxbox/menu   echo >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
604    
605   # fluxbox menu footer   # fluxbox menu footer
606   cat ${ALX_SKELETONS}/fluxbox/menu.footer \   cat ${ALX_SKELETONS}/fluxbox/menu.footer >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
  >> ${ALX_UNPRIV_HOME}/.fluxbox/menu  
607    
608   # add a newline (maybe there is no crlf in the footer)   # add a newline (maybe there is no crlf in the footer)
609   echo >> ${ALX_UNPRIV_HOME}/.fluxbox/menu   echo >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
# Line 667  import_settings_local() Line 659  import_settings_local()
659  preliminary_network()  preliminary_network()
660  {  {
661   local module   local module
  local modulesconf  
662    
663   if [ -f /etc/alxconfig-ng/state/configured ]   if [ -f /etc/alxconfig-ng/state/configured ]
664   then   then
# Line 679  preliminary_network() Line 670  preliminary_network()
670   modprobe ${module}   modprobe ${module}
671   fi   fi
672    
  # check modprobe.conf  
  if [[ $(kernel_major_version) = 2.4 ]]  
  then  
  modulesconf="/etc/modules.conf"  
  else  
  modulesconf="/etc/modprobe.conf"  
  fi  
  if [[ -z $(grep eth0 ${modulesconf}) ]]  
  then  
  modules-update force  
  fi  
673   else   else
674   # vars used by hwdetect   # vars used by hwsetup
675   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME   local NETCARD_FULLNAME NETCARD_DRIVER MOUSE_FULLNAME MOUSE_DEVICE SOUND_FULLNAME
676   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER   local SOUND_DRIVER XSERVER XMODULE XDESC FLOPPY_FULLNAME FLOPPY_DEVICE FLOPPY_DRIVER
677    
678   # get setting from hwdetect   # get setting from hwsetup
679   source /etc/sysconfig/hwsetup/knoppix   source /etc/conf.d/hwsetup/knoppix
680   modprobe ${NETCARD_DRIVER}   modprobe ${NETCARD_DRIVER}
681   fi   fi
682    
# Line 705  preliminary_network() Line 685  preliminary_network()
685   # keeping like always safe:   # keeping like always safe:
686   # no network should be startet here,   # no network should be startet here,
687   # so we can delete all pid files if one exists   # so we can delete all pid files if one exists
688   if ps -A|grep dhcpcd > /dev/null   if [[ ! -z $(pidof udhcpc) ]]
689   then   then
690   echo -e ${COLMAGENTA}"Forcing network down"${COLDEFAULT}   echo -e ${COLMAGENTA}"Forcing network down"${COLDEFAULT}
691   dhcpcd -k   killall udhcpc &> /dev/null
692   sleep 1   sleep 1
  else  
  rm -f /var/run/dhcpcd-eth?.pid  
693   fi   fi
694   [[ ${ALX_CONFD_NETWORKING} = true ]] && [[ ${RUNLEVEL} != S ]] && \   [[ ${ALX_CONFD_NETWORKING} = true ]] && ${rc_base}/init.d/network stop
  ${rc_base}/init.d/network stop  
695    
696   echo -e ${COLMAGENTA}"Starting preliminary networking ... "${COLDEFAULT}   echo -e ${COLMAGENTA}"Starting preliminary networking ... "${COLDEFAULT}
697    
# Line 725  preliminary_network() Line 702  preliminary_network()
702   else   else
703   echo -e ${COLOREDSTAR}"Starting default dhcp based networking ... "${COLDEFAULT}   echo -e ${COLOREDSTAR}"Starting default dhcp based networking ... "${COLDEFAULT}
704   # -t 10 timeout of 10 secs   # -t 10 timeout of 10 secs
705   dhcpcd -t 10 &> /dev/null   udhcpc -t 10 &> /dev/null
706   evaluate_retval   evaluate_retval
707   fi   fi
708   ;;   ;;
# Line 739  preliminary_network() Line 716  preliminary_network()
716   echo -e ${COLOREDSTAR}"Stopping default dhcp based networking ... "${COLDEFAULT}   echo -e ${COLOREDSTAR}"Stopping default dhcp based networking ... "${COLDEFAULT}
717   ifconfig eth0 down   ifconfig eth0 down
718   fi   fi
719   if ps -A|grep dhcpcd > /dev/null   if [[ ! -z $(pidof udhcpc) ]]
720   then   then
721   dhcpcd -z  &> /dev/null   killall udhcpc  &> /dev/null
722   sleep 1   sleep 1
723   fi   fi
724   evaluate_retval   evaluate_retval
# Line 781  reset_system_settings() Line 758  reset_system_settings()
758   rm -rf /etc/alxconfig-ng/state   rm -rf /etc/alxconfig-ng/state
759    
760   # clear all printers & net-shares   # clear all printers & net-shares
761   :> /etc/cups/printers.conf   :> /etc/printcap
  :> /etc/samba/smb.conf  
762    
763   # remove inetd, cups & smb from init   # remove lprng
764   rc-config del inetd &> /dev/null   rc-config del lprng &> /dev/null
  rc-config del cups &> /dev/null  
  rc-config del samba &> /dev/null  
765    
766   # remove all user settings   # remove all user settings
767   [ -d ${ALX_UNPRIV_HOME} ] && rm -rf ${ALX_UNPRIV_HOME}   [ -d ${ALX_UNPRIV_HOME} ] && rm -rf ${ALX_UNPRIV_HOME}
# Line 797  reset_system_settings() Line 771  reset_system_settings()
771    
772   # remove all old nics and modules configs   # remove all old nics and modules configs
773   find /etc/conf.d -type f -name 'net.*' | xargs rm   find /etc/conf.d -type f -name 'net.*' | xargs rm
774   find /etc/modules.d -type f -name 'net.*' | xargs rm   find /etc/modprobe.d -type f -name 'net.*' | xargs rm
775    
776   # restore default networking   # restore default networking
777   cat ${ALX_SKELETONS}/net/net.eth0 > /etc/conf.d/net.eth0   cat ${ALX_SKELETONS}/net/net.eth0 > /etc/conf.d/net.eth0
# Line 932  case $1 in Line 906  case $1 in
906   [ -f /etc/alxconfig-ng/state/state ] && rm /etc/alxconfig-ng/state/state   [ -f /etc/alxconfig-ng/state/state ] && rm /etc/alxconfig-ng/state/state
907   sleep 0.1   sleep 0.1
908   ;;   ;;
909    
910   *)   *)
911   echo "Usage: $0 {start|stop} ..."   echo "Usage: $0 {start|stop} ..."
912   ;;   ;;

Legend:
Removed from v.2007  
changed lines
  Added in v.2122