Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Solved: Problems with /etc/init.d/modules
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
kevmille
Guru
Guru


Joined: 26 Jul 2003
Posts: 311
Location: Ho Chi Minh City (Saigon), Vietnam

PostPosted: Fri Mar 18, 2005 3:28 am    Post subject: Solved: Problems with /etc/init.d/modules Reply with quote

Yesterday, I started to receive an error during bootup. I get a message that says there is a syntax error in line 122 near the unexpected token '}'. This is the last '}' in the file I listed below at the bottom. I can't seem to find what the problem is. Any help would be nice.

Code:

#!/sbin/runscript
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-src/rc-scripts/init.d/modules,v 1.30 2004/04/21 17:09:18 vapier Exp $

depend() {
        need checkroot hostname
        use isapnp
}

load_modules() {
        local x=
        local i=0
        local retval=0
        local modules=
        local modargs=
        local modcount=0
        local config="$1"

        [ -z "${config}" ] && return 0
        [ ! -r "${config}" ] && return 0

        # Loop over every line in $config
        eval $(awk '
                BEGIN {
                        COUNT = 0 # Make sure COUNT is set
                }

                $0 !~ /(^[[:space:]]*(#|$))/ {
                        if (MODULES == "")
                                MODULES = $1
                        else
                                MODULES = MODULES " " $1

                        # Not the greatest method to remove $1 from $0, but it works
                        sub(/^[[:space:]]*[^[:space:]]*[[:space:]]*/, "")
                        ARGS[COUNT] = $0
                        COUNT++
                }

                END {
                        # 'eval' will make sure these are set to proper bash variables
                        print "modcount=" COUNT
                        print "modules=\"" MODULES "\""
                        for (x = 0;x < COUNT;x++)
                                print "modargs[" x "]=\"" ARGS[x] "\""
                }
        ' "${config}")

        if [ "${modcount}" -gt 0 ]
        then
                einfo "Using ${config} as config:"

                for x in ${modules}
                do
                        ebegin "  Loading module ${x}"
                        modprobe -q ${x} ${modargs[${i}]} &>/dev/null
                        retval=$?
                        eend ${retval} "  Failed to load ${x}"

                        i=$((i+1))
                        [ "${retval}" -eq 0 ] || modcount=$((modcount-1))
                done

                einfo "Autoloaded ${modcount} module(s)"
        fi

        return 0
}

start() {
        # Should not fail if kernel do not have module
        # support compiled in ...
        [ -f /proc/modules ] || return 0

        # Here we should fail, as a modular kernel do need
        # depmod command ...
        if [ ! -x /sbin/depmod ]
        then
           eerror "ERROR:  system is missing /sbin/depmod !"
                return 1
        fi

        if [ -z "${CDBOOT}" ]

        ebegin "Calculating module dependencies"
        /sbin/modules-update &>/dev/null
        eend $? "Failed to calculate dependencies"

        if [ -f /etc/modules.autoload -a ! -L /etc/modules.autoload ]
        then
                # Loop over every line in /etc/modules.autoload.
                load_modules /etc/modules.autoload
        else
                local KV="$(uname -r)"
                local KV_MAJOR="`KV_major "${KV}"`"
                local KV_MINOR="`KV_minor "${KV}"`"

                # New support for /etc/modules.autoload/kernel-$KV
                if [ "$(get_KV)" -ge "$(KV_to_int '2.5.48')" ] && \
                   [ -f /etc/modules.autoload.d/kernel-"${KV_MAJOR}.${KV_MINOR}" ]
                then
                        load_modules /etc/modules.autoload.d/kernel-"${KV_MAJOR}.${KV_MINOR}"

                elif [ ! -f /etc/modules.autoload.d/kernel-"${KV_MAJOR}.${KV_MINOR}" ]
                then
                        ewarn "Missing /etc/modules.autoload.d/kernel-${KV_MAJOR}.${KV_MINOR}"
                        load_modules /etc/modules.autoload.d/kernel-2.4
                else
                        load_modules /etc/modules.autoload.d/kernel-2.4
                fi
        fi

        #
        # Just in case a sysadmin prefers generic symbolic links in
        # /lib/modules/boot for boot time modules we will load these modules
        #
        if [ -n "$(modprobe -l -t boot)" ]
        then
                modprobe -a -t boot \*  &>/dev/null
        fi
} #THIS IS THE '}' THE ERROR REFERS TOO

# vim:ts=4

_________________
My Company: Hakata Consulting


Last edited by kevmille on Fri Mar 18, 2005 4:17 am; edited 1 time in total
Back to top
View user's profile Send private message
kevmille
Guru
Guru


Joined: 26 Jul 2003
Posts: 311
Location: Ho Chi Minh City (Saigon), Vietnam

PostPosted: Fri Mar 18, 2005 4:17 am    Post subject: Reply with quote

Solved. I was missing a then and fi statement from below.

Code:

 if [ -z "${CDBOOT}" ]
        then
        ebegin "Calculating module dependencies"
        /sbin/modules-update &>/dev/null
        eend $? "Failed to calculate dependencies"
        fi

_________________
My Company: Hakata Consulting
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum