Παράμετροι στον grub. Πως τις θέτουμε, τι εξυπηρετούν.

ΑΥΤΗ Η ΔΗΜΟΣΙΕΥΣΗ ΕΧΕΙ ΓΙΝΕΙ ΠΑΝΩ ΑΠΟ ΕΝΑ ΧΡΟΝΟ ΠΡΙΝ!

Εδώ θα δούμε μερικές από τις γνωστότερες παραμέτρους που μπορούμε να θέσουμε μέσω του GRUB bootloader στον πυρήνα Linux.

Ο GRUB είναι γνωστός και δημοφιλής και χρησιμοποιείται από τις γνωστότερες διανομές Linux σήμερα. Μέσω αυτού μπορούμε να περάσουμε διάφορες παραμέτρους στον πυρήνα Linux, οι οποίες θα επηρεάσουν την λειτουργία του. Μερικές φορές λύνουν προβλήματα, άλλες φορές βελτιστοποιούν την απόδοση του συστήματος, άλλες πάλι μπορεί και να το καταστήσουν άχρηστο (οπότε προσοχή).

Θα παραθέσουμε τον τρόπο και μερικές από τις γνωστότερες παραμέτρους (όχι όλες, γιατί η λίστα θα ήταν αρκετά μεγάλη).

Πως;

Αν θέλουμε να δοκιμάσουμε την παράμετρο χωρίς να την κάνουμε μόνιμη (δηλαδή να μην εκτελείτε σε κάθε εκκίνηση του λειτουργικού), τότε μπορούμε να μπούμε στο edit mode του grub, πατώντας το πλήκτρο e. Δηλαδή την ώρα που βλέπουμε το μενού του GRUB με τις διάφορες επιλογές, πάμε στην διανομή (στην επιλογή) που θέλουμε να θέσουμε την παράμετρο και να κάνουμε boot και αντί να πατήσουμε το Enter για εκκίνηση, πατάμε το e . Τότε θα μπούμε στο λεγόμενο edit mode και εκεί μπορούμε να δοκιμάσουμε την παράμετρο γράφοντάς την χειροκίνητα στο κατάλληλο σημείο. Αν θέλουμε να θέσουμε περισσότερες από μια παραμέτρους, τότε τις διαχωρίζουμε με spaces(κενά). Αφού τελειώσουμε πατάμε το πλήκτρο F10 για να γίνει απευθείας εκκίνηση με τις παραμέτρους φορτωμένες. Αυτός ο τρόπος είναι ο μη μόνιμος και ισχύει μόνο για την εκάστοτε εκκίνηση.

Δείτε την εικόνα παρακάτω. Οι παράμετροι πρέπει να γραφτούν στην γραμμή που ξεκινά με linux και μετά το ro. Επαναλαμβάνω, πως αν είναι περισσότερες από μια πρέπει να τις διαχωρίσουμε με κενά (space). Στο grub mode πλοηγούμαστε με τα βελάκια (πάνω-κάτω-δεξιά-αριστερά).

grub_edit_mode

Για παράδειγμα, για να θέσουμε την παράμετρο nomodeset, η γραμμή θα γίνει

ro nomodeset quiet splash

Ο μόνιμος τρόπος

Αν η παράμετρος μας εξυπηρετεί, δηλαδή λύνει κάποιο πρόβλημα ή βελτιστοποιεί την λειτουργία και θέλουμε να την κάνουμε μόνιμη, τότε θα την γράψουμε σε ένα configuration αρχείο του grub.
Αυτό είναι το /etc/default/grub. Αφού το ανοίξουμε με έναν κειμενογράφο με δικαιώματα επεξεργασίας π.χ

gksudo gedit /etc/default/grub

θα βρούμε την γραμμή GRUB_CMDLINE_LINUX_DEFAULT και θα προσθέσουμε την παράμετρο εκεί, μετά το splash αφήνοντας κενό (space). Μετά αποθηκεύουμε το αρχείο (save) και εκτελούμε στο τερματικό την εντολή δημιουργίας νέου grub.cfg. Στο Ubuntu αυτή η εντολή είναι

sudo update-grub

default_grub

Έτσι οι αλλαγές μας αποθηκεύονται και σε κάθε εκκίνηση θα ισχύει η παράμετρος που θέσαμε. Στην παραπάνω εικόνα έχουμε θέσει την nomodeset.

Παράμετροι

Πάμε να δούμε τις γνωστότερες από αυτές και σε τι εξυπηρετούν.

nomodeset
Ίσως η γνωστότερη όλων. Χρησιμοποιείται συχνά και σε Live CD/USB. Εξυπηρετεί στην επίλυση προβλημάτων που σχετίζονται με το γραφικό περιβάλλον. Για παράδειγμα, «ξεκινάει να φορτώνει το Ubuntu και καταλήγω σε έναν μαύρο κέρσορα που αναβοσβήνει». Η συγκεκριμένη παράμετρος λέει στον πυρήνα να μην «ασχοληθεί» εκείνος με το γραφικό περιβάλλον αλλά να το αφήσει στον Xserver.

acpi_osi=
Αυτή σχετίζεται συνήθως με την λειτουργία του backlight. Ίσως την συναντήσετε σε διάφορες παραλλαγές, όπως acpi_osi=Linux , acpi_backlight=vendor …κλπ. Πως μιλάει λοιπόν αυτή η παράμετρος στον πυρήνα; Τα BIOS συνήθως είναι κατασκευασμένα με την προοπτική ότι θα τρέξουν σε Windows λειτουργικό. Όταν λοιπόν ζητείται από το BIOS ένα request στον πυρήνα Linux για Windows functionality (αυτό μπορεί να είναι και το backlight) τότε ο πυρήνας αντιδρά αρνητικά. Οπότε και απενεργοποιείται η συγκεκριμένη λειτουργία. Θέτοντας αυτή την παράμετρο αποτρέπουμε τον πυρήνα Linux από το να αντιδράσει(απαντήσει) αρνητικά στο request του BIOS. Το παραπάνω δεν συμβαίνει σε όλα τα BIOS βέβαια, καθώς σε μερικά το request και η απάντηση είναι σωστά. Οπότε και το backlight λειτουργεί όπως πρέπει.

noapic και nolapic
Οι παραπάνω παράμετροι είναι παρόμοιες. Τι σημαίνουν ; noapic (Advanced Programmable Interrupt Controller) , nolapic (Local Advanced Programmable Interrupt Controller). Οπότε με το no μπροστά καταλαβαίνουμε πως απενεργοποιούμε τον interrupt controller ο οποίος χρησιμοποιείται (συνήθως από νεότερο hardware) για να περάσει διάφορα μηνύματα (επικοινωνία). Προβλήματα που μπορούν να επιλυθούν με αυτές τις παραμέτρους μπορεί να σχετίζονται με το πληκτρολόγιο/ποντίκι ή ακόμη και την διαχείριση ενέργειας (π.χ suspend).

acpi=off
Αυτή η παράμετρος απενεργοποιεί εντελώς το acpi(Advanced Configuration and Power Interface). Θεωρείται από τις επικίνδυνες, καθώς απενεργοποιώντας τελείως το acpi μπορεί να προκύψουν σοβαρά προβλήματα στην λειτουργία του hardware. Σε μερικά συστήματα ίσως να μην δουλέψει καθόλου, σε άλλα ίσως να απενεργοποιήσει εντελώς την λειτουργία των ανεμιστήρων προκαλώντας υπερθέρμανση. Μην χρησιμοποιείται αυτή την παράμετρο, παρά μόνο αν τίποτε άλλο δεν λειτουργεί.

edd=on
Ενεργοποιεί το EDD (Enhanced Disk Drive) το οποίο χρησιμοποιείται από μερικές μητρικές για να βελτιώσει την λειτουργία των δίσκων.

nodmraid
Απενεργοποιεί το dmraid, αλλά μερικές φορές μπορεί να προκαλέσει προβλήματα εμφανίζοντας τους δίσκους ως άδειους ή χωρίς το κατάλληλο μέγεθος.

Έξτρα

Κάποιες έξτρα παράμετροι που έχω πετύχει κατά καιρούς.

radeon.dpm=1
Ενεργοποιεί το Dynamic Power Managment στον οδηγό radeon, για όσους φυσικά έχουν τέτοια κάρτα γραφικών. Χρησιμοποιείται για εξοικονόμηση ενέργειας και boost preformance. Επίσης λύνει και προβλήματα κακής λειτουργία ήχου από HDMI. Λειτουργεί στον ανοιχτό οδηγό radeon (προ-ενεργοποιημένος) και από τον πυρήνα 3.13 η λειτουργία είναι ενεργοποιημένη από default. Ωστόσο και πάλι μπορείτε να δοκιμάσετε την παράμετρο αν υποπτεύεστε ότι για κάποιον λόγο δεν έχει ενεργοποιηθεί.

i915.i915_enable_rc6=1
Για κάρτες γραφικών Intel και Notebooks. Ενεργοποιεί την λειτουργία power save , όταν η κάρτα γραφικών είναι idle. Χρησιμοποιείται για να παρατείνει την διάρκεια ζωής της μπαταρίας.

i915.i915_enable_fbc=1
Για κάρτες γραφικών Intel. Ενεργοποιεί το Frame-Buffer Compression, με αποτέλεσμα την καλύτερη διαχείριση μνήμης από την κάρτα γραφικών (καταναλώνει λιγότερη μνήμη).

nouveau.blacklist=1
Χρησιμοποιείται σε περίπτωση που δεν μπορείτε (για κάποιο λόγο) να απενεργοποιήσετε τον nouveau οδηγό για κάρτες γραφικών Nvidia.

nouveau.noaccel=1
Απενεργοποιεί την επιτάχυνση abi16 στον πυρήνα. Μπορεί να λύσει προβλήματα κακού painting στην οθόνη.

nouveau.modeset=
Για κάρτες γραφικών Nvidia με ενεργοποιημένο τον ανοιχτό οδηγό nouveau.
Μπορεί να ισούται με 0,1,2 . Το default είναι το auto και αφήνουμε τον πυρήνα να κάνει αυτό που ξέρει καλύτερα.
0 = απενεργοποίηση, 1 = ενεργοποίηση, 2 = ακέφαλο (headless). Συνήθως χρησιμοποιείται το 0 (nouveau.modeset=0) για προβλήματα μαύρης οθόνης μετά τον GRUB.

Από LiveCD/USB Ubuntu

Παραμέτρους στον πυρήνα μπορούμε να θέσουμε και στο LiveCD/USB που έχουμε κάνει boot. Αυτές (σε Ubuntu) βρίσκονται εκεί από default για να επιλύσουν προβλήματα κατά τη διάρκεια της εγκατάστασης. Για παράδειγμα «κάνω boot από το LiveCD/USB και βλέπω μια μαύρη οθόνη». Μετά την επιτυχή εγκατάσταση του λειτουργικού, τα προβλήματα πιθανότατα θα επιλυθούν με την εγκατάσταση κάποιου κλειστού οδηγού (κάρτας γραφικών) ή κάποια παραμετροποίηση.

Κάνοντας boot από το LiveCD ή USB , μόλις δείτε την παρακάτω εικόνα

live_ubuntu_parameters1

πατήστε οποιοδήποτε πλήκτρο (εγώ χρησιμοποιώ το Space). Μετά θα σας ζητηθεί η γλώσσα κειμένου, μπορείτε να το αφήστε ως έχει (English) και έπειτα θα δείτε την παρακάτω εικόνα, όπου πατώντας το F6 θα αποκτήσετε πρόσβαση στις παραμέτρους.

live_ubuntu_parameters2

από εκεί επιλέγετε όποια χρειάζεται (συνήθως nomodeset για προβλήματα με black screen) πατώντας το space. Μετά κλείνετε το μενού με το Esc και επιλέγετε το «Try Ubuntu without installing» για να δείτε αν κάνει boot κανονικά σε γραφικό περιβάλλον. Αν ναι, συνεχίζετε την εγκατάσταση μέσα από εκεί. (θα υπάρχει εικονίδιο στην επιφάνεια εργασίας). Αν όχι, κάντε ένα reboot και δοκιμάστε κάποια άλλη παράμετρο.

Μια λίστα με αρκετές παραμέτρους και μια σύντομη περιγραφή μπορεί να βρεθεί στο kernel.org/Documentation

3 thoughts on “Παράμετροι στον grub. Πως τις θέτουμε, τι εξυπηρετούν.

  1. Νίκο μάλλον πρέπει να συγκεντρώσεις όλους τους οηγούς που έχεις γράψει και να τους κάνεις την ΒΙΒΛΟ για Λίνουξ σε ελληνικά .

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s