PDA

Επιστροφή στο Forum : Που μπορώ να βρω τα kernel-sources....



xaxa1982
10-03-06, 19:06
Έχω μια απορία!Κατεβάζω καινούριο kernel από εδώ: http://www.kernel.org/ .
Το πρόβλημά μου είναι ότι θέλω να βρω τα kernel-sources για τον kernel που θα βάλω.Που μπορώ να τα βρω και πώς θα τα εγκαταστήσω?Τα χρειάζομαι για να εγκαταστήσω το module της κάρτας wireless μου μετά την εγκατάσταση...

Please help...:worthy::worthy::worthy: :respekt::respekt::respekt:

msid
10-03-06, 19:16
Και γιατί δεν κατεβάζεις τα sources από kernel.org ?

verestio
10-03-06, 19:16
Λοιπον τι ακριβώς θες να κανεις ? Μηπώς θες να βαλεις μια πιο καινουργια εκδοση του πυρηνα ωστε να μπορεσεις να εκμεταλευτείς τα module που διαθέτει ώστε να παίξει κάποιο συγκεκριμένο hardware. Τα modules πάντως βρίσκονται στο /lib/modules/<kernel-version>
Πες μου κατι πιο συγκεκριμένο. Θες τα source files του πυρήνα του ιδιου ; ή τα C libraries (/usr/include/, /usr/include/linux/).

anodizer
10-03-06, 19:19
Το source δεν κατεβάζεις; Τι εννοείς να βάλεις module μετά την εγκατάσταση; Πριν κάνεις compile τον νέο πυρήνα δεν μπορείς να το βάλεις;

xaxa1982
10-03-06, 19:36
Λοιπόν!Να σας πω τι κάνω για να καταλάβετε!Έχω Suse 10.0(άσχετο αυτό,τα ίδια έκανα και στο Mandriva).Λοιπόν!Όταν κάνω εγκατάσταση των Suse,θέλω να βάλω την wireless κάρτα μου με το ndiswrapper.Για να εγκαταστήσω όμως το ndiswrapper(γίνεται με make και make install η εγκατάσταση του),πρέπει να πάω στο Yast και να εγκαταστήσω τα kernel-sources,γιατί αλλιώς δεν μπορώ να κάνω make στο ndiswrapper.Ωραία ως εδώ!
Τώρα θέλω να βάλω καινούριο πυρήνα!Κατεβάζω τον πυρήνα από εδώ: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.6.tar.bz2 .
Ψάχνω όμως να βρω τα kernel-sources του πυρήνα αυτού,έτσι ώστε να κάνω ξανά make και make install το ndiswrapper.(ξανακάνω make και make install το ndiswrapper,γιατί η κάρτα wireless μου,"απορυθμίζεται" όταν βάζω τον νέο πυρήνα,οπότε θα πρέπει πάλι να την ρυθμίσω μέσω επανεγκατάστασης του ndiswrapper).

Ελπίζω να καταλάβατε τι εννοώ γιατί δεν είμαι σίγουρος ότι τα γράφω όλα σωστά!

anodizer
10-03-06, 19:52
Μα δεν έχει σχέση αυτό. Το kernel-sources το κατεβάζεις επειδή στη διανομή υπάρχει precompiled ο πυρήνας κι εσύ χρειάζεσαι τον πηγαίο κώδικα αν θέλεις να κάνεις τροποποιήσεις και άρα recompile.
Αν κατεβάσεις το tarball αυτό, θα έχεις το source που θέλεις και θα ξαναβάλεις κανονικά το ndiswrapper μετά την εγκατάσταση του νέου πυρήνα.
Υποθέτω τα σχετικά howto θα είναι αναλυτικότερα, πάντως δεν χρειάζεσαι κάτι άλλο, νομίζω.

xaxa1982
10-03-06, 19:59
Χμμμμμμ.......Μήπως δεν πρέπει να πετάξω μετά τον φάκελο από τον οποίο έκανα το compile του kernel(τον ξεζιπαρισμένο φάκελο)?Πρέπει να τον βάλω κάπου?Το ερώτημα μου είναι αν έχουν περαστεί κατευθείαν τα kernel-sources ή θα πρέπει να κάνω εγώ κάτι μετά την εγκατάσταση του νέου kernel...

anodizer
10-03-06, 20:06
Που να περαστούν, είναι απλά source code! Απο εκεί θα φτιάξεις τον πυρήνα σου. Φυσικά και δεν πρέπει να πετάξεις τον φάκελο, αλλά τεσπα, βρες κάποιο καλό howto και θα καταλάβεις τι γίνεται, δεν έχω βάλει ποτέ το ndiswrapper, υποθέτω πάντως θα μπαίνει όπως τα patches στο φάκελο που έχεις κάνει extract. Πατσάρεις τον πυρήνα, δίνεις menuconfig και κάνεις τις επιλογές σου και μετά κάνεις compile.

mrsaccess
10-03-06, 20:12
Τα kernel sources πρέπει να βρίσκονται στο φάκελλο /usr/src/linux .
Συνήθως τοποθετείς τον «ξεζιπαρισμένο φάκελο» στο /usr/src/, αφαιρείς το παλιό linux που είναι link στα τωρινά sources και το δημιουργείς ξανά βάζοντας το να δείχνει στα νέα σου sources.

Γενικά, αφού είσαι χρήστης SuSE θα σου πρότεινα να μην κάνεις τέτοιες ταρζανιές και να χρησιμοποιήσεις τον official kernel της διανομής σου που γίνεται και συχνά update για κενά ασφαλείας.

xaxa1982
10-03-06, 20:49
Ok παιδιά!Κατάλαβα!Έκανα λάθος ότι δεν έβαζα τον φάκελο στο /usr/src και απλά τον πέταγα μετά!Ευχαριστώ!

Υ.Γ.:Δεν μπορώ να χρησιμοποιώ τον kernel της Suse ,γιατί ενώ είναι Pentium 4 M η CPU μου,τον αναγνωρίζει σαν απλό Pentium και όπως καταλαβαίνεις δεν χρησιμοποιεί διάφορες δυνατότητες του,με αποτέλεσμα να δουλεύει περισσότερο,χωρίς λόγο και να θερμαίνεται περισσότερο χωρίς λόγο και να δουλεύει το ανεμιστηράκι στον φορητό μου χωρίς λόγο.Θα δω κιόλας μήπως φταίει αυτό που σκαμπάζει και ο ήχος στο Suse,που μάλλον αυτό φταίει....

mrsaccess
10-03-06, 20:57
Δεν μου ακούγεται και πολύ λογικό αυτό που λες, αλλά γιατί δεν συμπιλίζεις το kernel της διανομής σου με τα options που θες;

$ cd /usr/src/linux
$ make menuconfig

Πάντως παλιότερα είχα πρόβλημα μετά το συμπίλισμα του kernel στο SuSE (9.1 είχα νομίζω) γιατί χρησιμοποιούσαν κάποια αρκετά advanced scripts για να ενεργοποιούν τα modules.

xaxa1982
10-03-06, 21:05
Άσε να τον κάνω με τον κλασσικό τρόπο το compile του kernel και αν υπάρξει πρόβλημα θα δούμε τι θα κάνουμε.Δεν είμαι και πολύ γνώστης του αθλήματος του σιμπιλίσματος,γι'αυτό τα φοβάμαι αυτά.Πάντως είναι αλήθεια ότι τον επεξεργαστή μου τον βλέπει σαν απλό Pentium,γιατί ξέρουμε ότι όταν κάνεις make xconfig,παίρνει τις ρυθμίσεις του παλιού kernel και εσύ απλά τον πειράζεις.Εκεί λοιπόν είδα ότι ο kernel ήταν ρυθμισμένος για απλό pentim επεξεργαστή!Επίσης του έβαλα να ανταποκρίνεται γρήγορα στον χρήστη και να μην δουλεύει σαν server,όπως ήταν προρυθμισμένος ο kernel της μαμάς Suse...

anodizer
10-03-06, 21:15
Έκανα λάθος ότι δεν έβαζα τον φάκελο στο /usr/src και απλά τον πέταγα μετά!

Ένα symlink είναι αρκετό και πιο ασφαλές.

xaxa1982
10-03-06, 21:20
Πώς κάνουμε symlink?Με την εντολή "ln -s [φάκελος kernel] [linux]" είμαι καλυμμένος?

holyghost
10-03-06, 21:21
Δεν προτείνω σε μια binary διανομή να αλλάξεις τον default kernel διότι ειναι πιταρισμένος στα patchακια, σύμφωνα με τα οποία εχουν χτιστεί κάποια προγράμματα...

Άσε που ειδικά με τα suse θα έχεις πρόβλημα με το automount (απο ότι ξέρω χρησιμοποιούν το submount) και θα πρέπει να αλλάξεις όλο το fstab...

Καλύτερα είναι να περιμένεις λιγάκι να βγει η 10.1 και να κάνεις ενα update στο δικό τους kernel...

xaxa1982
10-03-06, 21:28
Δε νομίζω να έχω πρόβλημα!Την προηγούμενη φορά που έβαλα στο Suse τον kernel,δεν είχα τέτοια προβλήματα!Θα σας πω όταν τελειώσω το compile!Ας το δοκιμάσω ξανά και δεν πειράζει,ας στραβώσει λίγο το σύστημα,να δω και τις ικανότητές μου να το ρυθμίζω!!!Ευχαριστώ πάντως!

narsis
10-03-06, 22:26
Δεν ξέρω αν άργησα και έχεις ήδη κάνει τη δουλειά σου αλλά here's my 2 cents:

Το αρχείο που κατεβάζεις από το kernel.org είναι συμπιεσμένος ο πηγαίος κώδικας του πυρήνα. Τον αποσυμπιέζεις με "tar xvfj linux-a.b.c.d.tar.bz2" και κάνεις compile κατά τα γνωστά. Όμως ο πυρήνας από το kernel.org είναι ο "γενικός" πυρήνας. Αυτός που βγάζει η ομάδα των προγραμματιστών του πυρήνα. Από εκεί και πέρα η κάθε διανομή παίρνει αυτά τα sources και προσθαφαιρεί διάφορα χαρακτηριστικά όπως ανέφεραν κάποια άλλα μέλη. Σίγουρα μπορείς να τον κάνεις να δουλέψει σε οποιαδήποτε διανομή, αλλά τζάμπα κόπος. Γιατί να κάνεις τη δουλειά που έκαναν ήδη οι προγραμματιστές της διανομής σου.

Η καλύτερη λύση είναι για να κάνεις compile τον πυρήνα της διανομής σου. Κατεβάζεις τα sources του πυρήνα της διανομής σου. Αυτά υπάρχουν στο ftp site της διανομής σου (π.χ. για SUSE που είπες ότι έχεις ftp://ftp.suse.com/pub/suse/i386/update/10.0-OSS/rpm/i586/kernel-source-2.6.13-15.8.i586.rpm)

Αφού κάνεις extract το αρχείο το βάζεις στο /usr/src/linux-2.6.13.15.8 ή όποια έκδοση κατεβάσεις. Κατόπιν παίρνεις το αρχείο .config του παλιου σου πυρήνα και το αντιγράφεις στον φάκελο αυτό. Το αρχείο .config βρίσκεται στον φάκελο που υπάρχουν τα sources του πυρήνα που χρησιμοποιείς ή πολλές διανομές το βάζουν και στο /boot. Στο /boot δεν θα ονομάζεται πιθανώς .config αλλά αν το αρχείο του πυρήνα σου είναι π.χ. vmlinuz-sata-2.6.10 τότε μάλλον .config-sate-2.6.10. Το βάζεις στο φάκελο σαν .config.

Μπες στο φάκελο /usr/src. Δώσε "rm linux" και μετά "ln -s linux-2.6.15.8 linux", εννοείται αλλάζεις το 2.6.15.8 με ότι έκδοση έχεις κατεβάσει. Μετά "cd linux" και "make oldconfig" ώστε να βάλεις στο νέο πυρήνα ότι ρυθμίσεις είχες στον παλιό. Θα σε ρωτήσει κάποια πράγματα (τα οποία προφανώς δεν υπήρχαν στον παλιό πυρήνα σαν επιλογές) και προς το παρόν πάτα συνέχεια Enter για να δεχτείς τις προκαθορισμένες ρυθμίσεις. Μετά "make menuconfig" κτλ. για να κάνεις compile τον πυρήνα. Νομίζω είναι ο καλύτερος τρόπος kernel compile για τις διανομές καθώς αλλιώς μπορεί να έχεις ασυμβατότητες ή να χρειάζεται να σπάσεις τα νεύρα σου να κάνεις ειδικές ρυθμίσεις. Εννοείται στο menu config αλλάζεις αυτά που θέλεις (π.χ. βάζεις ρυθμίσεις για το φορητό σου κτλ.)

Ελπίζω να ήμουν σχετικά κατανοητός.

xaxa1982
10-03-06, 22:49
Παιδιά,το έκανα το compilation στον πυρήνα ακι δουλεύουν ολα καλά!Έτσι δείχνει ως τώρα τελοσπάντων!narsis θα το δοκιμάσω και αυτό που λες,αλλά όχι τώρα γιατί βαριέμαι!Απλά να πω ότι δεν διορθώθηκε το πρόβλημα που σκαμπάζει ο ήχος με τον νέο kernel.Δεν ξέρω το γιατί,αλλά δεν διορθώθηκε!Μήπως ξέρει κανείς να μου πει,πώς μπορώ να βγάλω κανένα επιπλέον χαρακτηριστικό από το γραφικό περιβάλλον της διανομής,γιατί ίσως αυτό την κάνει την ζημιά!

bedazzled
10-03-06, 23:25
Έχεις βάλει Preemption και την επιλογή desktop (1000 hz)?

xaxa1982
11-03-06, 00:01
Ναι,το έβαλα το desktop και πάλι το κάνει!!!Και το preemption και το 1000hz!!!

xaxa1982
11-03-06, 01:01
Ο kernel που έχει το σύστημά μου από την Suse,έχει αναγνωρίσει τον επεξεργαστή μου σαν αρχιτεκτονική i386.πώς μπορώ να το κάνω να αναγνωριστεί σαν Pentium 4 Mobile που είναι στην πραγματικότητα?

narsis
11-03-06, 02:02
Μάλλον εννοείς ότι ο kernel έχει γίνει compile για αρχιτεκτονική 386, πράγμα που είναι αρκετά συχνό για δημοφιλείς διανομές καθώς θέλουν το ευρύτερο δυνατό κοινό και συμβατότητα. Όταν κάνεις configure τον πυρήνα (με make menuconfig π.χ.) τότε στο μενού Processor Type and Features, υπομενού Subarchitecture Type ή κάτι τέτοιο διάλεξε αυτό που θέλεις.

xaxa1982
11-03-06, 02:08
Πώς γίνεται να το κάνω αυτό στο src.rpm που μου είπες παραπάνω?Και πώς θα ξεζιπάρω το src.rpm για να το ρυθμίσω μετά?

narsis
11-03-06, 03:11
Εγκαθίσταται όπως κάθε άλλο rpm. Δηλαδή rpm -ivf filename.rpm. Και βάζει το tar.bz2 ή τον πηγαίο κώδικα κάπου μέσα στο /usr/src/ (Συγγνώμη δεν θυμάμαι διότι δεν χρησιμοποιώ rpm διανομή εδώ και αρκετό καιρό). Ε, από εκεί και πέρα είναι η ίδια διαδικασία. Δηλαδή από το rpm θα πάρεις είτε ενα tar.bz2 όπως από το download είτε κατευθείαν τα αρχεία χύμα. Βάλτα εκεί που πρέπει και δουλεύεις. "make menuconfig" και εκεί σου βγάζει τα μενού που είπα.

Αυτό με το .config και το πέρασμα των παραμέτρων του παλιού πυρήνα ισχύει γενικά. Δεν είναι κάτι το μοναδικό στα src.rpm

@ ADSLgr.com All rights reserved.