Διαδικασία εγκατάστασης νέου kernel σε Ubuntu 10.04

Ξεκίνησε από alkisg, 25 Μαΐου 2011, 09:40:29 ΜΜ

« προηγούμενο - επόμενο »

alkisg

Σε μερικές περιπτώσεις, π.χ. πολύ καινούργιου υλικού ή ελαττωματικού driver, ίσως χρειαστεί να εγκαταστήσετε πιο καινούργιο kernel.
Για να προσθέσετε στο Ubuntu 10.04 LTS τον kernel που διατίθεται στην 11.10, δώστε σε ένα τερματικό την παρακάτω εντολή:
sudo apt-get install linux-image-generic-lts-backport-oneiric linux-headers-generic-lts-backport-oneiric


Αντί για -oneiric στην παραπάνω εντολή μπορείτε να βάλετε -natty για τον kernel της 11.04 ή -maverick για τον kernel της 10.10.

Οι παραπάνω εντολές αφορούν το server. Εάν το καινούργιο υλικό είναι στους clients, τότε από τα sch-scripts πηγαίνετε στο μενού Εξυπηρετητής → Εικονικός δίσκος → Άνοιγμα κονσόλας, και στο τερματικό που θα ανοίξει δώστε τις παρακάτω εντολές:
# Ενημέρωση των πληροφοριών για τα πακέτα:
apt-get update

# Εγκατάσταση του νεότερου kernel:
apt-get --yes install linux-image-generic-lts-backport-oneiric

# Αν χρειάζεται, εγκατάσταση και των headers:
test -n "$(dpkg -l 'linux*headers*' | grep ^ii)" && apt-get --yes install linux-headers-generic-lts-backport-oneiric

# Έξοδος από το τερματικό
exit


Στη συνέχεια πηγαίνετε στο μενού Εξυπηρετητής → Εικονικός δίσκος → Συμπίεση, και τελικά επανεκκινήστε τους clients.

Η διαδικασία που αναφέρεται παραπάνω ισχύει μόνο για την 10.04 που είναι LTS έκδοση, οι kernels δεν γίνονται backport στις άλλες εκδόσεις του Ubuntu.

alkisg

#1
Γράφω και την αντίστροφη διαδικασία αφαίρεσης του νέου kernel, μήπως κανείς τη χρειαστεί.
Για το server, ανοίξτε ένα τερματικό και δώστε την παρακάτω εντολή:
apt-get --yes purge --auto-remove linux-image-generic-lts-backport-oneiric linux-headers-generic-lts-backport-oneiric

Ανάλογα με ποια έκδοση είχατε εγκαταστήσει, μπορεί να χρειαστεί να βάλετε -natty ή -maverick αντί για -oneiric.

Για τον εικονικό δίσκο, πηγαίνετε στο μενού Εξυπηρετητής → Εικονικός δίσκος → Άνοιγμα κονσόλας των sch-scripts, και στο τερματικό που θα ανοίξει δώστε τις παρακάτω εντολές::
# Αφαίρεση του νεότερου kernel και των headers:
rm /boot/nbi.img*
apt-get --yes purge --auto-remove linux-image-generic-lts-backport-oneiric linux-headers-generic-lts-backport-oneiric

# Δυστυχώς σε downgrades παρουσιάζονται προβλήματα με κάποια symlinks, οπότε θα πρέπει να διορθωθούν χειρωνακτικά:
test -f /boot/vmlinuz || mv /boot/vmlinuz.old /boot/vmlinuz
test -f /boot/initrd.img || mv /boot/initrd.img.old /boot/initrd.img
test -f /boot/nbi.img || mv /boot/nbi.img.old /boot/nbi.img

# Έξοδος από το τερματικό
exit


Στη συνέχεια πηγαίνετε στο μενού Εξυπηρετητής → Εικονικός δίσκος → Συμπίεση, και τελικά επανεκκινήστε τους clients.

poursali

έκανα στον εικονικό δίσκο εγκατάσταση του kernel και συμπίεση.
κατά την εκκίνηση των client βγαίνει το μήνυμα (τελευταίες 2 γραμμές):

Παράθεση
trying to load: pxelinux.cfg/default
could not find kernel image: vmlinuz
μετρον αριστον
είμαι τζαμπατζής, χρησιμοποιώ λίνουξ

alkisg

Στην 11.04 οι kernels ξεκίνησαν να μην έχουν δικαιώματα ανάγνωσης από απλούς users, οπότε για να επιτρέπεται η μεταφορά τους μέσω tftp, χρειάζεται η παρακάτω εντολή:
sudo chmod +r /var/lib/tftpboot/ltsp/i386/*.38-* /opt/ltsp/i386/boot/*.38-*


Την συμπερίλαβα και στις οδηγίες παραπάνω.

poursali

το δοκίμασα στο virtualbox και ενώ συνδέεται κανονικά στην αρχή βγάζει το μήνυμα:

[     9.655619] piix4_smbus 0000:00:07:0: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr
μετρον αριστον
είμαι τζαμπατζής, χρησιμοποιώ λίνουξ

alkisg

Απλό warning σχετικό με το hardware emulation του virtualbox είναι αυτό, αγνόησέ το, κατά τα άλλα δουλεύουν όλα ΟΚ, έτσι;

poursali

στο virtualbox ναι, όλα οκ.
θα το δοκιμάσω σε πραγματικές συνθήκες σήμερα το απόγευμα :)

ευχαριστώ Άλκη :)
μετρον αριστον
είμαι τζαμπατζής, χρησιμοποιώ λίνουξ

odysseas

Παράθεση από: alkisg στις 25 Μαΐου 2011, 09:40:29 ΜΜ
Για τον kernel που διατίθεται στην 11.04, θα πρέπει καταρχάς να έχετε το αποθετήριο της Τεχνικής Στήριξης στις πηγές σας (προστίθεται αυτόματα με την εγκατάσταση των sch-scripts), και να αντικαταστήσετε στις παραπάνω εντολές τη λέξη "maverick" με τη λέξη "natty".

Άλκη, γιατί πρέπει να υπάρχει το αποθετήριο στις πηγές;

Ρωτάω επειδή πρόσφατα μου ζήτησε μια συνάδελφος να της περάσω linux στο laptop της και σκεφτόμουν (για να αποφύγω τις τελευταίες αμφιλεγόμενες αλλαγές) να της βάλω την LTS έκδοση με νεώτερο πυρήνα.

alkisg

Το πακέτο linux-image-generic-lts-backport-maverick είναι εδώ και καιρό διαθέσιμο στα επίσημα αποθετήρια του Ubuntu.
Το linux-image-generic-lts-backport-natty δεν είναι ακόμα. Η kernel team θα το βάλει σε λίγο καιρό, υποθέτω σε λιγότερο από ένα μήνα.

Μέχρι να γίνει διαθέσιμο και για να διευκολύνουμε την κατάσταση, το βάλαμε στο δικό μας αποθετήριο.
Προφανώς μετά από κανά μήνα δεν θα χρειάζεται πια να το φιλοξενούμε και στο ppa μας, αφού θα έχει πάει στα επίσημα αποθετήρια.

odysseas

Παράθεση από: alkisg στις 31 Μαΐου 2011, 01:10:07 ΜΜ
Μέχρι να γίνει διαθέσιμο και για να διευκολύνουμε την κατάσταση, το βάλαμε στο δικό μας αποθετήριο.
Προφανώς μετά από κανά μήνα δεν θα χρειάζεται πια να το φιλοξενούμε και στο ppa μας, αφού θα έχει πάει στα επίσημα αποθετήρια.

ok, ευχαριστώ!

gidarakos

Σε καινούργια εγκατάσταση LTSP (θα προλάβουμε μέχρι τις 30/6; ;)) δεν βλέπει την κάρτα δικτύου (https://alkisg.mysch.gr/steki/index.php?topic=3995.msg42779#msg42779).
Θέλω να δοκιμάσω τους kernel 10.10 ή 11.04.
Αυτό εφόσον δεν έχω internet πως ακριβώς θα γίνει;
Θα χρειαστώ τα live cd των 10.10 και 11.04 ή γίνεται με πιο σύντομο τρόπο;

alkisg

Ο πιο εύκολος τρόπος είναι να χώσεις στο server μια άλλη κάρτα δικτύου για λίγο.

Άλλοι τρόποι είναι να μπουτάρεις με το 11.04 (ή με την παλιά εγκατάσταση, αν είναι στο ίδιο μηχάνημα) και να κάνεις chroot/install, ή να πάρεις τα πακέτα με usb stick από κάποιο μηχάνημα με Internet και να τα εγκαταστήσεις χειρωνακτικά.

Αν θες live βοήθεια μπες στο IRC από το μενού "Βοήθεια" των sch-scripts.

Σε ένα μήνα βγαίνει και η νεότερη έκδοση 10.04.3, ίσως αυτή να έχει τον driver κατευθείαν στο CD (για όσους πετύχουν αυτήν την κάρτα το Σεπτέμβρη).

apapakL

Επειδή αντιμετώπισα παρόμοιο πρόβλημα έστησα το server προσθέτοντας μια παλαιότερη κάρτα δικτύου που έβγαλα από ένα άλλο pc και πέρασα τον πυρήνα  της 11.04.  Έτσι η νεότερη κάρτα καθώς και η κάρτα οθόνης, που επίσης δεν έπαιζε σωστά, δούλεψαν κανονικά.  :) Απλά για να είσαι σίγουρος ότι και στη δική σου περίπτωση θα παίξουν όλα κανονικά δοκίμασε πρώτα με ένα live cd της 11.04.

gidarakos

Με τη χρήση μιας άλλης κάρτας δικτύου λύθηκε το πρόβλημα με τον kernel 10.10.
Δεν αναγνωρίζει το sata dvd. Δεν πρόσεξα αν αυτό έγινε με τον 10.10. Δοκίμασα και το kernel 11.04 (χωρίς απεγκατάσταση του 10.10) αλλά τίποτα!

alkisg

Ενώ το αναγνωρίζει με τον παλιό kernel; Αν τον έβγαλες, είτε δοκίμασε με ένα live CD 10.04, είτε ξαναβάλε τον παλιό kernel να δεις - δεν ενοχλεί σε τίποτα να έχουμε πολλούς kernels εγκατεστημένους, lucid, maverick, natty και αργότερα και oneiric.

Περίεργο μου ακούγεται πάντως, τα CD συνήθως δεν θέλουν τίποτα περίεργους drivers... σαν συσκευή, το CD δουλεύει; Μπορείς να μπουτάρεις από αυτό;

gidarakos

#15
Παράθεση από: alkisg στις 28 Ιουν 2011, 03:19:24 ΜΜ
είτε ξαναβάλε τον παλιό kernel να δεις - δεν ενοχλεί σε τίποτα να έχουμε πολλούς kernels εγκατεστημένους, lucid, maverick, natty και αργότερα και oneiric.
1) Τι εννοείς να ξαναβάλω τον παλιό; Δεν είναι ήδη εγκατεστημένος;
2) Όταν έχεις πολλούς εγκατεστημένους ποιον/ποιους χρησιμοποιείς;
Παράθεση από: alkisg στις 25 Μαΐου 2011, 09:44:06 ΜΜ
Γράφω και την αντίστροφη διαδικασία αφαίρεσης του νέου kernel, μήπως κανείς τη χρειαστεί.
Για το server, ανοίξτε ένα τερματικό και δώστε την παρακάτω εντολή:
apt-get --yes purge --auto-remove linux-image-generic-lts-backport-maverick linux-headers-generic-lts-backport-maverick

Αυτή η εντολή χρειάστηκε sudo μπροστά για να δουλέψει.
3) Αλλά αφού μπορούμε να έχουμε εγκατεστημένους πολλούς kernel γιατί να βγάλουμε κάποιον;
Παράθεση από: alkisg στις 28 Ιουν 2011, 03:19:24 ΜΜ
Μπορείς να μπουτάρεις από αυτό;
4) Από αυτό έκανα την εγκατάσταση. Έκανα boot με το 10.04.02 και στον "Υπολογιστή" δεν υπάρχει "Οδηγός cd/dvd"!
5) O server βλέπει μόνο τα 4GB ram από τα 8. Έχω την εντύπωση ότι κάτι είχε αναφερθεί στο παρελθόν..

alkisg

1) Αν δεν τον έβγαλες, ναι, είναι ήδη εγκατεστημένος.

2) Στο μενού του grub πρώτος πάνω πάνω βγαίνει ο πιο καινούργιος, κι αν θες να διαλέξεις κάποιον παλιότερο απλά πατάς κάτω βελάκι.

3) Μόνο και μόνο επειδή πιάνουν χώρο στο δίσκο, και επειδή γεμίζει και το μενού του grub.

4) Άρα το βλέπει το CD σαν συσκευή αφού μπορεί να μπουτάρει από αυτό. Κάτι άλλο πάει στραβά. Ξεκίνα ένα άλλο θέμα να το παλέψουμε εκεί - ή έλα από το IRC.

5) Στον Η/Υ μου έχω εγκατεστημένους 3 kernels. Αυτός της Maverick έχει τη λέξη "pae" μέσα:
Κώδικας: shell
$ dpkg -l linux-image-generic* | grep ^ii
ii  linux-image-generic                             2.6.32.32.38      Generic Linux kernel image
ii  linux-image-generic-lts-backport-natty          2.6.38.10.20      Generic Linux kernel image
ii  linux-image-generic-pae-lts-backport-maverick   2.6.35.28.37      Generic Linux kernel image


Οι pae kernels βλέπουν και πάνω από 4 Gb RAM κι ας είναι 32bit το λειτουργικό.
Εντωμεταξύ, αν κάποιος έχει 4 Gb RAM, τότε οι μη-pae kernels δεν την βλέπουν όλη, επειδή ένα σημαντικό κομμάτι της δεσμεύεται ως χώρος διευθύνσεων για την προσπέλαση του BIOS, της VideoRAM κ.α. Για να δείτε πόση RAM βλέπει ο kernel, δώστε:
Κώδικας: shell
$ free
             total       used       free     shared    buffers     cached
Mem:       3056216     873552    2182664          0      98724     323760
-/+ buffers/cache:     451068    2605148
Swap:            0          0          0


Άρα ο μη-pae kernel από τον οποίο μπούταρα, βλέπει μόνο τα 3 από τα 4 Gb RAM που έχω. Ο -pae θα έβλεπε και τα 4.

Σε καινούργιες εγκαταστάσεις, το Ubuntu διαλέγει αυτόματα τον -pae kernel εάν νομίζει ότι χρειάζεται. Απλά εσύ έβαλες χειρωνακτικά τον μη-pae, οπότε για να δει και τα 8 GB RAM σου, εγκατέστησε τον αντίστοιχο -pae.

gidarakos

Παρόλο που εφάρμοσα την εντολή:
sudo apt-get --yes purge --auto-remove linux-image-generic-pae-lts-backport-natty linux-headers-generic-pae-lts-backport-natty

ο kernel φαίνεται στο μενού του grub αλλά και από τερματικό:
teacher@server:~$ uname -r
2.6.38-10-generic-pae


Κάνω κάτι λάθος;

alkisg

Είτε από το περιβάλλον προσθαφαίρεσης πακέτων Synaptic, είτε με την εντολή
Κώδικας: shell
dpkg -l 'linux*' | grep ^ii


μπορείς να δεις ποια πακέτα σου έχουν μείνει. Βγάλε όλα αυτά που περιέχουν την υποέκδοση .38.

Όμως, δεν πρέπει να κάνουμε αφαίρεση ενός kernel ενώ αυτός εκτελείται. Κάνε reboot πρώτα, διάλεξε κάτι διαφορετικό από το grub, και μετά κάνε την αφαίρεση.