From 95f543f24a4599a3ce753b8bede5626298ffaae0 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Tue, 16 Dec 2014 20:03:18 +0100 Subject: [PATCH 1/1] add a service to erase udev rules files when hardware is different --- install_debian.txt | 2 ++ master/etc/init.d/checkudevrules | 62 ++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 master/etc/init.d/checkudevrules diff --git a/install_debian.txt b/install_debian.txt index 15adb9e..43c780c 100644 --- a/install_debian.txt +++ b/install_debian.txt @@ -52,5 +52,7 @@ Step 3: update-rc.d wakeonlan enable update-rc.d waitslaves defaults update-rc.d shutdownallblades defaults + update-rc.d checkudevrules enable + update-rc.d checkudevrules defaults chown webconfig /etc/webconfig/alias.csv /etc/dhcp/dhcpd.conf reboot diff --git a/master/etc/init.d/checkudevrules b/master/etc/init.d/checkudevrules new file mode 100755 index 0000000..62cd844 --- /dev/null +++ b/master/etc/init.d/checkudevrules @@ -0,0 +1,62 @@ +#!/bin/bash +VER=1.0 +# ============================================================================ +# +# Copyright (C) THALES. All rights reserved +# Author: Laurent Mazet +# Date : 15/12/2014 +# ============================================================================ + +### BEGIN INIT INFO +# Provides: checkudevrules +# Required-Start: udev +# Required-Stop: +# Should-Start: +# Default-Start: S +# Default-Stop: +# Short-Description: Check udev rules +# Description: Check udev rules files (70-persistent-*.rules) and reboot if necessary +### END INIT INFO + +FILES="/etc/udev/rules.d/70-persistent-{cd,net}.rules" +ENABLE="yes" +ETHx=eth0 + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +[ -f /etc/default/checkudevrules ] && . /etc/default/checkudevrules +[ "$ENABLE" = "yes" ] || exit 0 + +. /lib/lsb/init-functions + +do_check () { + + log_action_msg "Check if $ETHx exists..." + + if ip link show $ETHx >&/dev/null; then + log_action_msg "Continue booting" + else + log_action_msg "Erase udev rules and reboot" + rm -f $FILES + reboot + fi +} + +case "$1" in + -v) + echo "$(basename $0), version $VER" + ;; + start) + do_check + ;; + restart|reload|force-reload|stop) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + *) + echo "Usage: $0 start" >&2 + exit 3 + ;; +esac + +# vim:set tabstop=4 expandtab shiftwidth=4: -- 2.30.2