воскресенье, 13 ноября 2011 г.

laptop-mode-tools: Unhandled kernel version

Проблема кроссплатформенная, решается следующим образом. В /usr/sbin/laptop_mode находим такие строки:
case "$KLEVEL" in
        "2.4" ) ;;
        "2.6" ) ;;
        *)
                log "ERR" "Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')" >&2
                exit 1
                ;;
esac

И добавляем, например, "3.0" ) ;; в это дело, тем самым у нас получается такое:

case "$KLEVEL" in
        "2.4" ) ;;
        "2.6" ) ;;
        "3.0" ) ;;
        *)
                log "ERR" "Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')" >&2
                exit 1
                ;;
esac
Потом просто добавляем версии по мере необходимости. Можно заранее, но есть риск, что при обновлении laptop-mode-tools снова придется переписывать. Благо не особо часто обновляется.
Большое спасибо вот этому источнику.

UPD В новых версиях пакета всё уже исправлено.

1 комментарий:

Анонимный комментирует...

у меня такая же проблема в CentOS 6 до сих пор. (16.04.2013).
Версия пакета laptop-mode-tools-1.33-1.el6.rf.noarch

Нужно еще полазить по этому же файлу и продублировать в соответствующих местах в операторах case
----
3.[0-9]*)
echo "Adjusting 2.6 kernel parameters to enable laptop mode." >> $OUTPUT
set_sysctl /proc/sys/vm/laptop_mode "$LM_SECONDS_BEFORE_SYNC"
set_sysctl /proc/sys/vm/dirty_writeback_centisecs "$AGE"
set_sysctl /proc/sys/vm/dirty_expire_centisecs "$AGE"
set_sysctl /proc/sys/vm/dirty_ratio "$LM_DIRTY_RATIO"
set_sysctl /proc/sys/vm/dirty_background_ratio "$LM_DIRTY_BACKGROUND_RATIO"
;;

----

и

----
<------><------>3.[0-9]*)
<------><------><------>echo "Adjusting 2.6 kernel parameters to disable laptop mode." >> $OUTPUT
<------><------><------>set_sysctl /proc/sys/vm/dirty_writeback_centisecs "$U_AGE"
<------><------><------>set_sysctl /proc/sys/vm/dirty_expire_centisecs "$B_AGE"
<------><------><------>set_sysctl /proc/sys/vm/dirty_ratio<---><------> "$NOLM_DIRTY_RATIO"
<------><------><------>set_sysctl /proc/sys/vm/dirty_background_ratio<> "$NOLM_DIRTY_BACKGROUND_RATIO"
<------><------><------>;;

----