czwartek, 11 sierpnia 2011

Kernel panic przy wyłączaniu komputera

Ostatnio zmieniałem dystrybucje. Z Minta 9 przesiadłem się na wersję 11, a obecnie posiadam Linux Mint Debian Edition (LMDE). Dystrybucja fajna, polecam się przyjrzeć. Chciałbym zaprezentować w tym poście jak pozbyć się dość uciążliwego problemu, jakim jest występowanie kernel panic przy wyłączaniu komputera.
Poszperałem w internecie i dowiedziałem się, że winą jest moduł vboxdrv. Wystarczy go usunąć i wszystko jest w porządku. Do tego służy polecenie rmmod. Jednak aby usunąć ten moduł należy też najpierw usunąć wszystkie moduły, przez które jest wykorzystywany. Po drugie chcielibyśmy zautomatyzować ten proces. Poniżej rozwiązanie, którego znalezienie trochę mi zajęło, jednak na pewno nauczyłem się czegoś nowego.
  1. Uruchamiamy w konsoli polecenie:
    lsmod | grep vbox
  2. Kopiujemy nazwy wyświetlonych modułów.
  3. Tworzymy plik nopanic w katalogu /etc/init.d i edytujemy go:
    sudo touch /etc/init.d/nopanic
    sudo gedit /etc/init.d/nopanic
  4. Wklejamy do niego:
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides:          nopanic
    # Required-Start:    
    # Required-Stop:     
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: No panic
    # Description:       Shutdown withuout kernel panic
    ### END INIT INFO
    
    # Some things that run always
    touch /var/lock/nopanic
    
    # Carry out specific functions when asked to by the system
    case "$1" in
      start)
        ;;
      stop)
        echo "Removing modules vbox..."
        rmmod -f vboxpci vboxnetadp vboxnetflt vboxdrv
        ;;
      *)
        echo "Usage: /etc/init.d/nopanic {start|stop}"
        exit 1
        ;;
    esac
    
    exit 0
    gdzie w miejsce "vboxpci vboxnetadp vboxnetflt vboxdrv" podajemy moduły z polecenia lsmod | grep vbox (vboxdrv musi być na końcu)
  5. Zapisujemy plik i nadajemy mu uprawnienia do wykonywania:
    sudo chmod 755 /etc/init.d/nopanic
  6. Uruchamiamy polecenie:
    sudo update-rc.d nopanic defaults
To wszystko. Teraz przy zmykaniu systemu automatycznie zostaną wyłączone moduły sprawiające problem.

Brak komentarzy: