Skip to content
Snippets Groups Projects
Commit 0932f3c2 authored by Florian Pose's avatar Florian Pose
Browse files

Better installer and startup scripts.

parent 78ded7bd
No related branches found
No related tags found
No related merge requests found
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# #
# Globales Makefile # EtherCAT Makefile
#
# IgH EtherCAT-Treiber
# #
# $Id$ # $Id$
# #
...@@ -11,7 +9,7 @@ ...@@ -11,7 +9,7 @@
ifneq ($(KERNELRELEASE),) ifneq ($(KERNELRELEASE),)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Kbuild-Abschnitt # kbuild section
obj-m := master/ devices/ obj-m := master/ devices/
...@@ -20,15 +18,17 @@ obj-m := master/ devices/ ...@@ -20,15 +18,17 @@ obj-m := master/ devices/
else else
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Default-Abschnitt # default section
ifneq ($(wildcard ethercat.conf),) ifneq ($(wildcard ethercat.conf),)
include ethercat.conf include ethercat.conf
else else
KERNELDIR := /usr/src/linux KERNEL := `uname -r`
INSTALLDIR := /opt/ethercat DEVICEINDEX := 99
endif endif
KERNELDIR := /lib/modules/$(KERNEL)/build
modules: modules:
$(MAKE) -C $(KERNELDIR) M=`pwd` $(MAKE) -C $(KERNELDIR) M=`pwd`
...@@ -36,7 +36,7 @@ clean: ...@@ -36,7 +36,7 @@ clean:
$(MAKE) -C $(KERNELDIR) M=`pwd` clean $(MAKE) -C $(KERNELDIR) M=`pwd` clean
install: install:
@./install.sh $(INSTALLDIR) @./install.sh $(KERNEL) $(DEVICEINDEX)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# The kernel to compile the EtherCAT sources against # The kernel to compile the EtherCAT sources against
KERNELDIR = /usr/src/linux KERNEL := `uname -r`
# Install directory used by "make install" # PCI index of the EtherCAT device
INSTALLDIR := /opt/ethercat DEVICEINDEX := 99
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
#!/bin/sh
#------------------------------------------------------------------------------
#
# EtherCAT rc script
#
# $Id$
#
#------------------------------------------------------------------------------
CONFIGFILE=/etc/sysconfig/ethercat
#------------------------------------------------------------------------------
print_usage()
{
echo "Usage $0 { start | stop }"
}
unload_module()
{
if lsmod | grep ^$1 > /dev/null; then
echo " unloading module \"$1\"..."
rmmod $1 || exit 1
fi
}
#------------------------------------------------------------------------------
# Get parameters
if [ $# -eq 0 ]; then
print_usage
exit 1
fi
ACTION=$1
# Load configuration from sysconfig
if [ -f $CONFIGFILE ]; then
. $CONFIGFILE
else
echo "ERROR: Configuration file \"$CONFIGFILE\" not found!"
exit 1
fi
case $ACTION in
start)
echo "Starting EtherCAT master..."
# remove modules
unload_module 8139too
unload_module 8139cp
unload_module ec_8139too
unload_module ec_master
echo " loading master modules..."
if ! modprobe ec_8139too ec_device_index=$DEVICEINDEX; then
echo "ERROR: Failed to load module!"
exit 1
fi
;;
stop)
echo "Stopping EtherCAT master..."
unload_module ec_8139too
unload_module ec_master
if ! modprobe 8139too; then
echo "Warning: Failed to restore 8139too module."
fi
;;
*)
print_usage
exit 1
esac
echo "done."
exit 0
#------------------------------------------------------------------------------
...@@ -8,11 +8,15 @@ ...@@ -8,11 +8,15 @@
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
CONFIGFILE=/etc/sysconfig/ethercat
#------------------------------------------------------------------------------
# install function # install function
install() install()
{ {
echo " installing $1" echo " $1"
if ! cp $1 $INSTALLDIR; then exit 1; fi if ! cp $1 $INSTALLDIR; then exit 1; fi
} }
...@@ -20,28 +24,48 @@ install() ...@@ -20,28 +24,48 @@ install()
# Fetch parameter # Fetch parameter
if [ $# -eq 0 ]; then if [ $# -ne 2 ]; then
echo "Usage: $0 <INSTALLDIR>" echo "Usage: $0 <KERNEL> <DEVICEINDEX>"
exit 1 exit 1
fi fi
INSTALLDIR=$1 KERNEL=$1
echo "EtherCAT installer. Target: $INSTALLDIR" DEVICEINDEX=$2
# Create installation directory INSTALLDIR=/lib/modules/$KERNEL/kernel/drivers/net
echo "EtherCAT installer - Kernel: $KERNEL"
if [ ! -d $INSTALLDIR ]; then
echo " creating target directory."
if ! mkdir $INSTALLDIR; then exit 1; fi
fi
# Copy files # Copy files
echo " installing modules..."
install master/ec_master.ko install master/ec_master.ko
install devices/ec_8139too.ko install devices/ec_8139too.ko
# Finished # Update dependencies
echo " building module dependencies..."
depmod
# Create configuration file
if [ -f $CONFIGFILE ]; then
echo " notice: using existing configuration file."
else
echo " creating $CONFIGFILE..."
echo "DEVICEINDEX=$DEVICEINDEX" > $CONFIGFILE || exit 1
fi
# Install rc script
echo " installing startup script..."
cp ethercat.sh /etc/init.d/ethercat || exit 1
if [ ! -L /usr/sbin/rcethercat ]; then
ln -s /etc/init.d/ethercat /usr/sbin/rcethercat || exit 1
fi
# Finish
echo "EtherCAT installer done."
exit 0 exit 0
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment