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
#
# IgH EtherCAT-Treiber
# EtherCAT Makefile
#
# $Id$
#
......@@ -11,7 +9,7 @@
ifneq ($(KERNELRELEASE),)
#------------------------------------------------------------------------------
# Kbuild-Abschnitt
# kbuild section
obj-m := master/ devices/
......@@ -20,15 +18,17 @@ obj-m := master/ devices/
else
#------------------------------------------------------------------------------
# Default-Abschnitt
# default section
ifneq ($(wildcard ethercat.conf),)
include ethercat.conf
else
KERNELDIR := /usr/src/linux
INSTALLDIR := /opt/ethercat
KERNEL := `uname -r`
DEVICEINDEX := 99
endif
KERNELDIR := /lib/modules/$(KERNEL)/build
modules:
$(MAKE) -C $(KERNELDIR) M=`pwd`
......@@ -36,7 +36,7 @@ clean:
$(MAKE) -C $(KERNELDIR) M=`pwd` clean
install:
@./install.sh $(INSTALLDIR)
@./install.sh $(KERNEL) $(DEVICEINDEX)
#------------------------------------------------------------------------------
......
......@@ -10,9 +10,9 @@
#------------------------------------------------------------------------------
# The kernel to compile the EtherCAT sources against
KERNELDIR = /usr/src/linux
KERNEL := `uname -r`
# Install directory used by "make install"
INSTALLDIR := /opt/ethercat
# PCI index of the EtherCAT device
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 @@
#
#------------------------------------------------------------------------------
CONFIGFILE=/etc/sysconfig/ethercat
#------------------------------------------------------------------------------
# install function
install()
{
echo " installing $1"
echo " $1"
if ! cp $1 $INSTALLDIR; then exit 1; fi
}
......@@ -20,28 +24,48 @@ install()
# Fetch parameter
if [ $# -eq 0 ]; then
echo "Usage: $0 <INSTALLDIR>"
if [ $# -ne 2 ]; then
echo "Usage: $0 <KERNEL> <DEVICEINDEX>"
exit 1
fi
INSTALLDIR=$1
echo "EtherCAT installer. Target: $INSTALLDIR"
KERNEL=$1
DEVICEINDEX=$2
# Create installation directory
if [ ! -d $INSTALLDIR ]; then
echo " creating target directory."
if ! mkdir $INSTALLDIR; then exit 1; fi
fi
INSTALLDIR=/lib/modules/$KERNEL/kernel/drivers/net
echo "EtherCAT installer - Kernel: $KERNEL"
# Copy files
echo " installing modules..."
install master/ec_master.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
#------------------------------------------------------------------------------
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