--- trunk/hwinfo/emulate-hwsetup.sh 2010/11/22 22:59:53 1200 +++ trunk/hwinfo/emulate-hwsetup.sh 2010/12/02 15:07:24 1213 @@ -5,6 +5,17 @@ HWSETUP_DIR=/etc/sysconfig/hwsetup HWINFO="/usr/sbin/hwinfo" +UNSUPPORTED_GFXCARD_DRIVERS="" +UNSUPPORTED_NETCARD_DRIVERS="" +if [ -f ${HWSETUP_DIR}/unsupported-gfxcard-drivers ] +then + UNSUPPORTED_GFXCARD_DRIVERS="$(< ${HWSETUP_DIR}/unsupported-gfxcard-drivers)" +fi +if [ -f ${HWSETUP_DIR}/unsupported-netcard-drivers ] +then + UNSUPPORTED_NETCARD_DRIVERS="$(< ${HWSETUP_DIR}/unsupported-netcard-drivers)" +fi + clearconfig() { local file="$1" @@ -19,6 +30,21 @@ echo "${data}" >> ${HWSETUP_DIR}/${file} } +# check_unsupported_netcard_drivers UNSUPPORTED_ARRAY DRIVER +check_unsupported_drivers() +{ + local unsupported="$1" + local driver="$2" + local i + + # filter unsupported devices + for i in ${unsupported} + do + [[ ${i} = ${driver} ]] && return 1 + done + return 0 +} + echo -n "Autoconfiguring devices... " 1>&2 GFXCARD_INFO="$(${HWINFO} --gfxcard)" @@ -65,6 +91,10 @@ then GFXCARD_MODULE[${i}]="vesa" fi + + # exclude unsupported drivers + check_unsupported_drivers "${UNSUPPORTED_GFXCARD_DRIVERS}" "${NETCARD_MODULE[${i}]}" || continue + addconfig xserver "XSERVER=\"${GFXCARD_XSERVER}\"" addconfig xserver "XMODULE=\"${GFXCARD_MODULE[${i}]}\"" addconfig xserver "XDESC=\"${GFXCARD_DESC[${i}]}\"" @@ -82,6 +112,10 @@ then NETCARD_MODULE[${i}]="${NETCARD_MODULE_FB[${i}]}" fi + + # exclude unsupported drivers + check_unsupported_drivers "${UNSUPPORTED_NETCARD_DRIVERS}" "${NETCARD_MODULE[${i}]}" || continue + addconfig netcard "FULLNAME=\"${NETCARD_DESC[${i}]}\"" addconfig netcard "DRIVER=\"${NETCARD_MODULE[${i}]}\""