LFS-6.5-rc2

nks_7 | Σάβ, 08/01/2009 - 20:18 | 2' | 10



Φίλοι του ανοιχτού λογισμικού,γεία σας!

 

Έχει ασχοληθεί κανένας σας με το Linux From Scratch και συγκεκριμένα με την έκδοση

6.5-rc2;Εχω κάποιες απορίες και θα ήθελα τη βοήθειά σας.Συγκεκριμένα:

Στο κεφάλαιο 5.6. Linux-2.6.30.2 API Headers ,ενω αναφέρει όλες τις εντολές που χρει-

άζονται,δεν αναφέρει πουθενά που βρίσκεται το source για να το αποσυμπιέσω και να

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

τόσο καλά).

Ένα άλλο είναι στο κεφάλαιο 5.3 το After installing each package, delete its source and build directories, unless specifically instructed otherwise.Δηλαδή μετα την εγκατάσταση του

binutils-2.19.1 σβήνω τα binutils-2.19.1.tar.bz2,binutils-build και binutils-2.19.1 η μόνο

τα δυο πρώτα;Αν εκτελέσεις τις οδηγίες σαν χρήστης nikos και όχι σαν χρήστης lfs τι θα

γίνει;

Μπορεί ολα αυτά να σας φαίνονται λίγο παιδικά,αλλά που θα πάει θα μεγαλώσω και 'γω!

-with a litle help from my Linux friends-

 

 

 

 

Ευχαριστώ για τη προσοχή σας , Νίκος


Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Γειά σου φίλε μου,

Πάντα έλεγα να ασχοληθώ με το LFS, αλλά πάντα το αναβάλλω. Γι'αυτό κ (κατά τη γνώμη μου) σου αξίζουν πολλά συγχαρητήρια που το προσπαθείς, ενώ μάλιστα δεν θεωρείς το ευατό σου κ linux guru (ή έτσι κατάλαβα εγώ). Έτσι όπως πας όμως, πολύ σύντομα θα λύνεις κ θα δένεις τα πάντα :)

Λοιπόν, μιας κ με έψησες, έριξα μια ματιά στις απορίες σου.

Σχετικά με τα API headers του πυρήνα, δεν είναι ξεχωριστό αρχείο. Τα headers προκύπτουν από τον κώδικα του πυρήνα. Αν έχεις κατεβάσει τον πυρήνα 2.6.30, τότε εκτελείς τις εντολές που σου λέει μέσα στον πάνω-πάνω φάκελο του κώδικα του πυρήνα. Αν δεν τον έχεις κατεβάσει, ρίξε μια ματιά στο παρακάτω για να δεις που θα τον βρεις (αν κ λογικά ξέρεις, γιατί είναι το ίδιο με τα υπόλοιπα πακέτα):

http://www.linuxfromscratch.org/lfs/view/6.5-rc2/chapter03/packages.html

Σχετικά με τις διαγραφές: απ'ό,τι κατάλαβα από τα λίγα που διάβασα, όλα τα εργαλεία που φτιάχνεις στο κεφάλαιο 5, εγκαθίστανται στο φάκελο /tools. Επομένως, ο κώδικας (ο φάκελος που φτιάχνεται όταν αποσυμπιέζεις) κ ο προσωρινός φάκελος που γίνεται το compile, μπορούν -κ σύμφωνα με το LFS πρέπει- να φύγουν. Δεν νομίζω πάντως ότι χρειάζεται να σβήσεις κ το συμπιεσμένο (το tar.gz ή tar.bz2) που κατέβασες. Απ'ό,τι είδα πάλι, στο κεφάλαιο 5 φτιάχνεις προσωρινά πακέτα. Στο 6ο κεφάλαιο θα τα ξανακάνεις όλα compile, οπότε αν σβήσεις τα συμπιεσμένα, θα πρέπει να τα ξανακατεβάσεις. Κράτα τα σε μια γωνιά του δίσκου σου. Επίσης, όπως λέει κ στη σχετική παράγραφο, τους φάκελους τους σβήνεις, εκτός κ αν οι οδηγίες σου λένε αλλιώς. Έχε το νου σου λοιπόν τι σου λέει σε κάθε βήμα.

Όσο για το με ποιον χρήστη τα κάνεις όλα αυτά, δεν μπορώ να ξέρω τις συνέπειες, εκτός κ αν ξεκοκαλίσω το LFS (που δεν παίζει, είναι κ καλοκαίρι!). Μπορώ όμως να σου πω ότι αυτή είναι ούτως ή άλλως η σωστή πρακτική από πολλές απόψεις, αφού πχ κάποιες ρυθμίσεις κ δικαιώματα που χρειάζεται ο χρήστης lfs μπορεί να είναι απαραίτητες για τη δουλειά αυτή, αλλά άχρηστες, ενοχλητικές, ή κ επικίνδυνες από άποψη ασφάλειας για καθημερινή/κανονική χρήση του υπολογιστή. Οπότε έχοντας 2 χρήστες, μπορείς να έχεις κ 2 σετ ρυθμίσεων/δικαιωμάτων. Επίσης, το όλο κόλπο έχει κ λογική από πλευράς των συγγραφέων, αφού δεν χρειάζεται να μυρίσουν τα νύχια τους για το τι δικαιώματα έχει ο προσωπικός χρήστης του καθένα μας. Αντ'αυτού, σου λένε να φτιάξεις ένα νέο χρήστη, όπως τον θέλουν αυτοί κ πάπαλα, μετά μπορούν να έχουν κοινές οδηγίες για όλους.

Έλπιζω να βοήθησα κάπως. Καλή τύχη φίλε μου, κ άμα το φτιάξεις κ παίζει πες μας εντυπώσεις.

-- gnu_labis

Το Linux ΔΕΝ είναι Windows!!!

gnu_labis σίγουρα με βοηθάς πολύ.Και σίγουρα guru δεν είμαι και ούτε σκοπεύω να γίνω.Ετσι όπως βλέπω τα πράγματα η ιστορία αυτή θα μου φάει

κανένα μήνα αλλά το Linux είναι απο τα συναρπαστικότερα πράγματα που ανακάλυψα τον τελεύταιο χρόνο.Έτσι λοιπόν είπα να πέσω στα βαθεία και

οτι βγεί.Τουλάχιστον κάτι θα μάθω...

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

 

                                                                                  

                                                                                                                              Φιλικά , Νίκος

Παλαιότερα είχα προσπαθήσει και εγώ να βάλω το LFS, αλλά δυστυχώς με έναν ταπεινό P4@1,6GHz το compile έκανε τόση ώρα που θα χρειαζόμουν τουλάχιστον 3-4μήνες ασταμάτητης ενασχόλησης μέχρι να φτιάξω ένα σωστό σύστημα...

Το μεγαλύτερο μειονεκτημα του LFS (που για μερικούς σίγουρα επικαλύπτει το πλεονέκτημα του πλήρως προσαρμοσμένου -από άποψη μεταγλώττισης- συστήματος) είναι η δύσκολία για στην επίλυση των εξαρτήσεων στις αναβαθμίσεις... Και δεν αναφέρομαι μόνο στο γεγονός ότι θα πρέπει να εγκαθιστάς όλες τις εξαρτήσεις μόνο σου, αλλά κυρίως στο γεγονός ότι η εφαρμογή που θέλεις να αναβαθμίσεις μπορεί να απαιτεί νεώτερες π.χ. βιβλιοθήκες οι οποίες όμως δεν λειτουργούν με άλλες εφαρμογές (είτε διότι δεν έχουν αναβαθμισμένη έκδοση είτε απλά διότι χρησιμοποιούν ακόμη την παλιά βιβλιοθήκη)... Με λίγα λόγια μπάχαλο...

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

Μην περιμένεις λοιπόν να δεις στο τέλος μια διανομή εύχρηστη και λειτουργική, αλλά ακριβώς το αντίθετο!!! Αν θες μια διανομή που να συνδυάζει λίγο από όλα τότε δοκίμασε το Gentoo, του οποίου τα πακέτα είναι πηγαίος κώδικας που μεταγλωττίζεται στο σύστημά σου!

Καλή επιτυχία πάντως και κυρίως καλή δύναμη και υπομονή στο εγχείρημά σου... Η εμπειρία του να χτίσεις από το μηδέν ένα λειτουργικό είναι μονοαδική!!!

--------------------------------------------------------------------

LawyersVoice.grLawyersVoice.gr - To forum των νέων δικηγόρων

apkoutsou]Για αυτό το LFS έχει κυρίως εκπαιδευτικό/δοκιμαστικό χαρακτήρα, ώστε να μάθεις τι στο καλό συμβαίνει πίσω από την σκηνή...

Εννοείται! Αλλά μεγαλύτερο κ καλύτερο "σχολείο" από το LFS για το πώς δουλεύει το Linux δεν υπάρχει (νομίζω). Είναι πολύ αξιέπαινη προσπάθεια, ειδικά γιατί ξέρουν ότι δεν πρόκειται για διανομή, κ ότι ποτέ δεν θα αποκτήσουν ένα ικανό αριθμό χρηστών. Είναι απλά μερακλήδες οι άνθρωποι :)

Στα σχετικά τμήματα των πανεπιστημίων/πολυτεχνείων, πρώτη εργασία στο μάθημα Λειτουργικά Συστήματα θα έπρεπε να είναι "καταρχήν, φτιάξτε ένα LFS". Το μόνο που δεν θα κάλυπταν έτσι είναι τους εσωτερικούς μηχανισμούς του πυρήνα (η επόμενη εργασία κοινώς ;) )

-- gnu_labis

Το Linux ΔΕΝ είναι Windows!!!

Γεια σας και πάλι!

Βιάστηκα να κλείσω ραντεβού σε ένα μήνα αλλά το LFS είναι απαιτητικό για ένα αρχάριο σαν και εμένα!

Τα API Headers είναι εντάξει τώρα , αλλά έχω πρόβλημαμε το glibc:ενώ έχω όλα τα απαραίτητα εργαλεία για το compile

κάνω ότι ακριβώς λέει το βιβλίο,όταν εκτελώ το make και αφού συνεχιστεί η εργασία για λίγο μου δίνει το μήνυμα λάθους:

-o /mnt/lfs/tools/glibc-build/signal/sigprocmask.o -MD -MP -MF /mnt/lfs/tools/glibc-build/signal/sigprocmask.o.dt -MT /mnt/lfs/tools/glibc-build/signal/sigprocmask.o

make[2]: *** No rule to make target `/mnt/lfs/tools/glibc-build/s-proto.d', needed by `/mnt/lfs/tools/glibc-build/signal/kill.o'. Stop.

make[2]: Leaving directory `/mnt/lfs/tools/glibc-2.10.1/signal'

make[1]: *** [signal/subdir_lib] Error 2

make[1]: Leaving directory `/mnt/lfs/tools/glibc-2.10.1'

make: *** [all] Error 2

Αυτό που θέλω να καταλάβω τώρα,είναι το τι σημαίνει αυτό(no rule to make target),και πως μπορώ να το διορθώσω.

 

Κάποια μηνύματα απο το configure επίσης:

checking how to run the C preprocessor... i686-lfs-linux-gnu-gcc -E

checking for i686-lfs-linux-gnu-g++... no

checking for i686-lfs-linux-gnu-c++... no

checking for i686-lfs-linux-gnu-gpp... no

checking for i686-lfs-linux-gnu-aCC... no κλπ

Δεν ξέρω αν έχουν ιδιαίτερη σημασία αυτά η αν είναι σημαντικά.

Λοιπόν ζητάω πάλι τη βοήθεια σας και σας ευχαριστώ πολύ για το ενδιαφέρον

 

    Νίκος

 

ΥΓ:Φ'ιλε apkoutsou το Gentoo ακούγεται ενδιαφέρον, ευχαριστώ                                                                                                                       

 

 

 

Θα στο πω όσο πιο απλά μπορώ, διότι δεν ξέρω το βαθμό της εμπειρίας σου κατά την μεταγλώττιση κώδικα:

Το μύνημα 'No rule to make target' σημαίνει ότι το make καταλαβαίνει ότι πρέπει να φτιάξει ένα αρχείο, όμως δεν βρίσκει τις απαραίτητες οδηγίες (το αντίστοιχο makefile) για να το φτιάξει... [ελπίζω να έχεις αποκτήσει αρκετή εμπειρία για το τι είναι το makefile έτσι??]

Εν προκειμένω ο κώδικας για την δημιουργία του /mnt/lfs/tools/glibc-build/signal/kill.o παραπέμπει στο αρχείο /mnt/lfs/tools/glibc-build/s-proto.d για το οποίο όμως δεν έχει παραχθεί το αντίστοιχο αρχείο makefile, που περιέχει οδηγίες για την μεταγλώττισή του...

Αυτό (η έλλειψη του makefile) οφείλεται σε πολλούς λόγους, ο οποιος πιθανός δε είναι να έχει παραληθφεί η αναφορά του στα configuration αρχεία που προετοιμάζουν την δουλειά για την μεταγλώττιση... Δηλαδή τρέχα γύρευε για να βρεις που είναι η παράλειψη, ιδίως αν δεν έχεις γράψει εσύ τον κώδικα...

Πάντως αλήθεια: η σταθερή έκδοση του LFS είναι η 6.4... Εσύ γιατί επέλεξες την 6.5-rc2?? (To rc2 σημαίνει δεύτερη release candidate, δηλαδή μια έκδοση που είναι δοκιμαστική και περιέχει λάθη σφάλματα και φυσικά προβλήματα...) Χρησιμοποιείς το LiveCD που διαθέτει το site ή κατεβάζεις κάθε πρόγραμμα από το site του δημιουργού του??

 

--------------------------------------------------------------------

LawyersVoice.grLawyersVoice.gr - To forum των νέων δικηγόρων

Κατέβασα τα προγράμματα απο internet cafe (έχω γραμμή που σέρνεται) και η εμπειρία μου σε μεταγλώττιση κώδικα είναι ελάχιστη.

Μου αρέσει όμως να μαθαίνω.Λες να μην έχει κατέβει κάτι σωστά;

Επέλεξα rc2 γιατί δεν ήξερα οτι μπορεί να περιέχει λάθη και σφάλματα.Τώρα μπορεί να αναθεωρήσω και να πάω για την 6.4

και το livecd...

Σ'ευχαριστώ πολύ πάντως, όσα έγραψες ήταν πράγματι διαφωτιστικά!

Νίκος

Το θέμα δεν είναι ότι έχει κατεβεί λάθος, αλλά ότι η έκδοση του βιβλίου που διαβάζεις (και οι εκδόσεις των προγραμμάτων που προτείνει) δεν είναι πλήρως δοκιμασμένες - ότι δηλαδή θα δουλέψουν άριστα μεταξύ τους... Μπορεί δηλαδή το παραπάνω πρόβλημα να έχει ήδη εντοπιστεί μετά την κυκλοφορία της rc2 να έχει διορθωθεί, αλλά δεν έχει ακόμη κυκλοφορήσει!

Η ανάπτυξη μιας εφαρμογής περνά (συνήθως) από τα εξής στάδια:

alpha (prototype): είναι το στάδιο όπου ο προγραμματιστής αναπτύσει την εφαρμογή χωρίς να κυκλοφορεί καμία έκδοσή του
quality control: είναι το στάδιο όπου ο προγραμματιστής δίνει σε πολύ κλειστό κύκλο την εφαρμογή για τα τον πρώτο ποιοτικό έλεγχο
beta (testing): είναι το στάδιο όπου ο προγραμματιστής κυκλοφορεί τις πρώτες δοκιμαστικές εκδόσεις της εφαρμογής
release candidate: είναι το στάδιο όπου ο προγραμματιστής κυκλοφορεί δοκιμαστικά την τελική έκδοση της εφαρμογής
official release: νομίζω είναι κατανοητό ;-)

Όπως καταλαβαίνεις ακόμη και η rc μπορεί να έχει προβλήματα, αφού αποτελεί δοκιμαστική κυκλοφορία της εφαρμογής!

--------------------------------------------------------------------

LawyersVoice.grLawyersVoice.gr - To forum των νέων δικηγόρων

Κατανοητό...

Θα προσπαθήσω με την 6.4 και ελπίζω να έχω τη βοήθεια σας και πάλι.

Ευχαριστώ πολύ , Ν'ικος

Ό,τι θες νίκο, αλλά ενδέχεται λόγω καλοκαιριού να υπάρχει καθυστέρηση σε απαντήσεις...

--------------------------------------------------------------------

LawyersVoice.grLawyersVoice.gr - To forum των νέων δικηγόρων