1. Απόκτηση του Πηγαίου Κώδικα
2. Δημιουργία CUSTOM Configuration
3. Δημιουργία και εγκατάσταση του CUSTOM Kernel σας
Από προεπιλογή, το λειτουργικό σύστημα FreeBSD χρησιμοποιεί τον GENERICπυρήνα. Ωστόσο, σε αυτό το σεμινάριο, θα μεταγλωττίσουμε ξανά έναν πυρήνα του FreeBSD με μια προσαρμοσμένη διαμόρφωση γνωστή ως: CUSTOM.
Προαπαιτούμενα
1) Για να ακολουθήσετε αυτό το σεμινάριο, αναπτύξτε το ακόλουθο παράδειγμα:
2) Μόλις αναπτυχθεί το στιγμιότυπο, εγκαταστήστε sudoως χρήστης root:
# pkg install -y sudo
3) Δημιουργήστε έναν τοπικό χρήστη ως μέλος της ομάδας τροχών και μετά εκδώστε έναν κωδικό πρόσβασης:
# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:
4) Επιτρέψτε σε όλα τα μέλη της ομάδας τροχών να εκτελέσουν οποιαδήποτε εντολή
# visudo
Αλλαγή:
# %wheel ALL=(ALL) ALL
Προς το
%wheel ALL=(ALL) ALL
Αποθήκευση και έξοδος πατώντας το Escπλήκτρο και στη συνέχεια πληκτρολογώντας:wq!
5) Αλλαγή στο κέλυφος του νέου χρήστη
# su test
$
1. Απόκτηση του Πηγαίου Κώδικα
Για να κάνουμε εκ νέου μεταγλώττιση του πυρήνα, πρέπει πρώτα να λάβουμε τον πηγαίο κώδικα από το σύστημα ελέγχου έκδοσης του FreeBSD. σε αυτήν την περίπτωση,subversion
$ sudo pkg install -y subversion
Password:
Από προεπιλογή, το κέλυφος για τους νέους χρήστες του FreeBSD είναι sh; Ωστόσο, θα χρειαστεί να το αλλάξουμε σε cshμετά την εγκατάστασηsubversion
1) Επιβεβαιώστε το κέλυφος του τρέχοντος χρήστη:
$ echo $SHELL
/bin/sh
2) Αλλάξτε το κέλυφος του τρέχοντος χρήστη σε csh:
$ chsh -s /bin/csh
Password:
chsh: user information updated
3) Επιβεβαιώστε ότι το κέλυφος έχει αλλάξει για τον τρέχοντα χρήστη:
$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh
Ή
$ echo $SHELL
/bin/csh
4) Τώρα που το κέλυφος του τρέχοντος χρήστη έχει διαμορφωθεί ως csh, μπορούμε τώρα rehashτους πίνακες καταλόγου:
$ rehash
5) Τέλος, ελέγξτε ένα αντίγραφο του πιο πρόσφατου σταθερού κλάδου στον /usr/srcκατάλογο:
$ sudo svn co --trust-server-cert --non-interactive https://svn0.us-east.freebsd.org/base/stable/11/ /usr/src
Password:
Checked out revision 317943.
2. Δημιουργία CUSTOMδιαμόρφωσης
Για τη CUSTOMδιαμόρφωση του πυρήνα μας, θα αντιγράψουμε την υπάρχουσα GENERICδιαμόρφωση.
1) Αντιγράψτε GENERICαπό τον /usr/src/sys/amd64/conf/κατάλογο ως CUSTOM:
$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:
Μέσα στη CUSTOMδιαμόρφωση του πυρήνα μας , θα κάνουμε κάποιες αλλαγές.
2) Ανοιχτό /usr/src/sys/amd64/conf/CUSTOM:
$ sudo vi /usr/src/sys/amd64/conf/CUSTOM
Στη γραμμή 22, θα δείτε μια identσημαία, οι αριθμοί γραμμών εμφανίζονται στον viεπεξεργαστή πατώντας το Escπλήκτρο και στη συνέχεια πληκτρολογώντας:set nu
22 ident GENERIC
3) Αλλάξτε GENERICτο όνομα του προσαρμοσμένου πυρήνα σας. σε αυτή την περίπτωση CUSTOM:
22 ident CUSTOM
Επιπλέον, στο κάτω μέρος της διαμόρφωσης, θα προσθέσουμε τα εξής:
options IPSEC
options TCP_SIGNATURE
Μόλις είστε ικανοποιημένοι με τις αλλαγές σας, αποθηκεύστε και βγείτε ξανά πατώντας το Escπλήκτρο και στη συνέχεια πληκτρολογήστε:wq!
Πρόσθετες πληροφορίες για αυτές τις διάφορες επιλογές μπορείτε να βρείτε στο NOTESαρχείο για κάθε τύπο αρχιτεκτονικής στον /usr/src/sys/κατάλογο.
Παρακάτω είναι μερικές από τις κοινές NOTESτοποθεσίες αρχιτεκτονικής :
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/arm64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
Μπορείτε να κάνετε αναφορά σε ανεξάρτητες επιλογές αρχιτεκτονικής /usr/src/sys/conf/NOTES
Για περισσότερες λεπτομέρειες, ανατρέξτε στο Εγχειρίδιο του FreeBSD .
3. Δημιουργία και εγκατάσταση του CUSTOMπυρήνα σας
Τώρα θα μεταγλωττίσουμε τον CUSTOMπυρήνα που έχετε ετοιμάσει.
1) Αλλάξτε στον /usr/srcκατάλογο και εκδώστε ένα make buildkernelμε το CUSTOMαρχείο ρυθμίσεων:
$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:
Ο εκτιμώμενος χρόνος μέχρι την ολοκλήρωση θα ποικίλλει ανάλογα με τον όγκο των πόρων της παρουσίας σας.
Για αυτό το σεμινάριο, χρησιμοποιήσαμε τα ακόλουθα:
CPU: 4 vCore
RAM: 8192 MB
Storage: 100 GB SSD
Με αυτούς τους πόρους, ολοκληρώσαμε τη μεταγλώττιση του CUSTOMπυρήνα μας σε ~ 4 ώρες:
--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------
2) Μόλις CUSTOMολοκληρωθεί η μεταγλώττιση του πυρήνα σας , μπορείτε να εγκαταστήσετε τη διαμόρφωση:
$ sudo make installkernel KERNCONF=CUSTOM
Password:
Η εγκατάσταση θα πρέπει να ολοκληρωθεί πολύ πιο γρήγορα από τη μεταγλώττιση.
3) Μόλις ολοκληρωθεί η εγκατάσταση, επανεκκινήστε την παρουσία σας:
$ sudo shutdown -r now
Password:
Η παρουσία σας θα αρχίσει τώρα να τερματίζεται και να επανεκκινείται στον CUSTOMπυρήνα σας . Μπορείτε να συνδεθείτε στην κονσόλα της παρουσίας σας για να παρακολουθήσετε τη διαδικασία εκκίνησης.
4) Μόλις γίνει επανεκκίνηση της παρουσίας σας, συνδεθείτε και επιβεβαιώστε ότι χρησιμοποιείται ο CUSTOMπυρήνας σας :
$ sysctl kern.conftxt | grep ident
ident CUSTOM
Ή
$ uname -i
CUSTOM