Προς το περιεχόμενο

Οδηγος εγκαταστασης Gentoo Linux


tritonas00

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Σε συνεργασια με το μελος mphxths δημιουργησαμε αυτον τον - οσο το δυνατο μαζεμενο και απλο - οδηγο εγκαταστασης του Gentoo.

 

Οτιδηποτε εκτελειται σε κονσολα ειναι σε code tag.

 

 

 

0 HARDWARE REQUIREMENTS

 

 

Minimal CD (το οποιο και θα χρησιμοποιησουμε)

 

CPU : i486 or later

Memory : 64 MB

Diskspace : 1.5 GB (excluding swap space)

Swap space : At least 256 MB

 

 

LiveCD

 

CPU : i686 or later

Memory : 256 MB

Diskspace : 1.5 GB (excluding swap space)

Swap space : At least 256 MB

 

 

 

1 ΚΑΤΕΒΑΖΟΥΜΕ ΤΟ ISO

 

Πηγαινουμε εδω , επιλεγουμε mirror και στην συνεχεια releases/αρχιτεκτονικη που μας ενδιαφερει/current-iso/install-αρχιτεκτονικη-minimal-<release>.iso

 

Στον συγκεκριμενο οδηγο θα δουμε την περιπτωση x86 αρχιτεκτονικης οποτε κατεβαζουμε το install-x86-minimal-ημερομηνια.iso απο εδω

 

Στην περιπτωση 64bit θα επιλεγαμε το mirror/releases/amd64/current-iso/install-amd64-minimal-ημερομηνια.iso

 

Καιμε το iso ή το κανουμε mount στη εικονικη μηχανη μας (vmware/virtualbox)

 

Κανουμε boοt απο το cd/iso και παταμε enter.

 

 

2 ΡΥΘΜΙΣΗ ΔΙΚΤΥΟΥ

 

Φορτωνουμε το module 8139too που υποστηριζει τις περισσοτερες καρτες δικτυου και ανοιγουμε dhcpcd:

 

># modprobe 8139too

 

># ifconfig eth0 up

 

># dhcpcd

 

Ελεγχουμε :

 

># ping google.com

 

Σταματαμε με control - C

 

 

 

3 PARTITIONS

 

 

 

3α Δημιουργια partitions:

 

Στον συγκεκριμενο οδηγο , υποθετοντας οτι ο δισκος μας ειναι αδειος και ειναι ο sda θα φτιαξουμε τρια partitions που θα εχουν ως εξης:

 

sda1 ---> /boot

sda2 ---> swap

sda3 ---> /

 

Ξεκιναμε με fdisk:

 

 

 

># fdisk /dev/sda

 

Παταμε διαδοχικα:

 

 

n (new)

 

p (primary)

 

enter (default 1)

 

enter (first sector default)

 

+100M (γραφουμε) και enter

 

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

 

n (new)

 

p (primary)

 

enter (default 2)

 

enter (first sector default)

 

+1000M (γραφουμε) και enter

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

 

n (new)

 

p (primary)

 

enter (default 3)

 

enter (default)

 

enter (default)

 

 

Παταμε p για να δουμε το αποτελεσμα που πρεπει να ειναι ετσι:

 

/dev/sda1.............

/dev/sda2.............

/dev/sda3.............

 

και παταμε w για να γραφτουν οι αλλαγες στον δισκο.

 

 

3β Δημιουργια filesystems.

 

Στην συγκεκριμενη περιπτωση θα κανουμε ως εξης:

 

/dev/sda1 ---> ext2 (boot)

/dev/sda2 ---> swap (swap)

/dev/sda3 ---> ext4 (/)

 

 

 

Αρα δινουμε:

 

># mke2fs /dev/sda1

 

># mkswap /dev/sda2

 

># mkfs.ext4 /dev/sda3

 

 

3γ Κανουμε MOUNT τα partitions:

 

># mount /dev/sda3 /mnt/gentoo

 

># mkdir /mnt/gentoo/boot

 

># mount /dev/sda1 /mnt/gentoo/boot

 

 

4 ΕΓΚΑΘΙΣΤΟΥΜΕ ΤΑ ΑΡΧΕΙΑ ΕΓΚΑΤΑΣΤΑΣΗΣ ΤΟΥ GENTOO

 

4α Εγκατασταση stage3

 

Μπαινουμε στο mountpoint που θα εγκατασταθει το Gentoo:

 

># cd /mnt/gentoo

 

και κατεβαζουμε το αρχειο stage3-i686-<release>.tar.bz2 μεσω του links (web browser):

 

># links http://www.gentoo.org/main/en/mirrors.xml

 

Mε τα βελακια μας επιλεγουμε mirror (enter στο link του mirror) και μετα releases/αρχιτεκτονικη που μας ενδιαφερει/current-stage3/stage3-<αρχιτεκτονικη>-<ημερομηνια>.tar.bz2 , παταμε enter , save , οκ.

 

Στην περιπτωση μας εχουμε x86 αρχιτεκτονικη και επιλεγουμε το stage3-i686-ημερομηνια.tar.bz2

 

Στην περιπτωση 64bit θα επιλεγαμε το mirror/releases/amd64/current-stage3/stage3-amd64-ημερομηνια.tar.bz2

 

 

Οταν τελειωσει το download κλεινουμε τον links πατωντας q και κανουμε unpack:

 

># tar xvjpf stage*

 

4β Εγκατασταση portage

 

Βεβαιωνομαστε οτι ειμαστε στο mountpoint εγκαταστασης του Gentoo

 

># cd /mnt/gentoo

 

και δινουμε

 

># links http://www.gentoo.org/main/en/mirrors.xml

 

Eπιλεγουμε mirror και απο τον φακελο snapshots κατεβαζουμε το portage-ημερομηνια.tar.bz2 (συνηθως το πρωτο πρωτο που ειναι και το πιο προσφατο) - επιλεγουμε το αρχειο - save και ok.

 

 

Οταν τελειωσει το download κλεινουμε links με q και κανουμε unpack:

>
# tar xvjf /mnt/gentoo/portage-* -C /mnt/gentoo/usr

 

4γ Ρυθμιση make.conf

 

 

Δηλωνουμε αρχιτεκτονικη και cpu cores στο make.conf:

 

># nano  /mnt/gentoo/etc/make.conf

 

και οπου

 

CFLAGS="-O2 -march=i686 -pipe"

 

που ειναι και το default αλλαζουμε το i686 με τον επεξεργαστη που εχουμε.

 

Πληροφοριες για τον επεξεργαστη μας περνουμε με:

 

># cat /proc/cpuinfo

 

Για παραδειγμα , για συγχρονους amd επεξεργαστες:

 

CFLAGS="-march=athlon64 -O2 -pipe"

 

αν δεν ειμαστε σιγουροι :

 

CFLAGS="-march=native -O2 -pipe"

 

 

Επισης οριζουμε και το ποσους πηρυνες εχει ο επεξεργαστης μας:

 

MAKEOPTS="-jΧ"

 

οπου Χ ο αριθμος των πυρηνων +1.Στην περιπτωση μας που εχουμε 4 cores βαζουμε:

 

MAKEOPTS="-j5"

 

Σωζουμε και κλεινουμε τον text editor:

 

Control - O και enter

Control - X

 

 

 

5 ΕΓΚΑΤΑΣΤΑΣΗ ΒΑΣΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ

 

5α Επιλογη mirrors

 

># mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

 

και επιλεγουμε mirror της αρεσκειας μας με space και enter.

 

># mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf

 

και παλι επιλεγουμε mirror της αρεσκειας μας με space και enter.

 

 

5β Αντιγραφη DNS Info

 

># cp -L /etc/resolv.conf /mnt/gentoo/etc/

 

 

5γ Mount proc και dev

 

># mount -t proc none /mnt/gentoo/proc

 

># mount --rbind /dev /mnt/gentoo/dev

 

 

 

 

5δ Εισοδος στη νεα εγκατασταση

 

># chroot /mnt/gentoo /bin/bash

 

># env-update

 

># source /etc/profile

 

># export PS1="(chroot) $PS1"

 

 

5ε Ρυθμιση Portage

 

Kανουμε sync:

 

># emerge --sync

 

 

Επιλεγουμε profile:

 

># eselect profile list 

 

Eμεις αφησαμε το 1 (default/linux/αρχιτεκτονικη/10.0 * που ειναι και το default)

 

Για να αλλαξουμε πχ στο 2 (default/linux/x86/10.0/desktop) :

 

># eselect profile set 2

 

 

5ζ Ρυθμιση locales

 

># nano  /etc/locale.gen

 

Κανουμε uncomment (βγαζουμε το # μπροστα απο) τα

 

en_US ISO-8859-1

en_US.UTF-8 UTF-8

 

σωζουμε και κλεινουμε τον text editor:

 

Control - O και enter

Control - X

 

 

 

και τελος:

 

># locale-gen

 

 

6 ΡΥΘΜΙΣΗ - ΕΓΚΑΤΑΣΤΑΣΗ KERNEL

 

 

6α Timezone

 

για να δουμε τις διαθεσιμες ζωνες ωρας:

 

># ls /usr/share/zoneinfo

 

και αντιγραφουμε οποια επιθυμουμε (πχ Athens):

 

># cp /usr/share/zoneinfo/Europe/Athens /etc/localtime

 

 

6β Εγκατασταση kernel source

 

 

># emerge gentoo-sources

 

6γ Εγκατασταση genkernel

 

># emerge genkernel

 

Αντιγραφουμε το configuration file:

 

# zcat /proc/config.gz > /usr/share/genkernel/arch/αρχιτεκτονικη/kernel-config

 

Στην περιπτωση μας

 

># zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config

 

Στην περιπτωση 64bit αρχιτεκτονικης:

 

># zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config

 

6δ Δημιουργια kernel και initramfs:

 

># genkernel all

 

 

Σε περιπτωση που βγαλει error στο χτισιμο των modules ξανακανουμε δευτερη φορα:

 

># genkernel all

 

(ναι μονο με την δευτερη επιανε.. :blink: )

 

 

Τελος βεβαιωνομαστε οτι ο kernel και το initrmafs ειναι στην θεση τους:

 

># ls /boot/kernel* /boot/initramfs*

 

 

 

 

7 ΡΥΘΜΙΣΕΙΣ ΣΥΣΤΗΜΑΤΟΣ

 

7α Ρυθμιση fstab

 

># nano  /etc/fstab

 

Στην περιπτωση μας οπου εχουμε:

 

sda1 ---> /boot

sda2 ---> swap

sda3 ---> /

 

εχουμε τα εξης στο fstab:

 

/dev/sda1 /boot ext2 defaults,noatime 1 2

/dev/sda2 none swap sw 0 0

/dev/sda3 / ext4 noatime 0 1

proc /proc proc defaults 0 0

shm /dev/shm tmpfs nodev,nosuid,noexec 0 0

 

σωζουμε και κλεινουμε τον text editor:

 

Control - O και enter

Control - X

 

 

 

7β Ρυθμιση δικτυου

 

 

># nano  /etc/conf.d/net

 

Aν θελουμε στατικη ip:

 

config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"

routes_eth0="default via 192.168.1.1"

 

αν θελουμε dhcp:

 

config_eth0="dhcp"

 

σωζουμε και κλεινουμε τον text editor:

 

Control - O και enter

Control - X

 

Ενημερωνουμε το init μας για το network:

 

># cd /etc/init.d

 

># ln -s net.lo net.eth0

 

># rc-update add net.eth0 default

 

Σε περιπτωση που ορισαμε static ip ενημερωνουμε το hosts :

 

># nano  /etc/hosts

 

(This defines the current system)

127.0.0.1 gentoo.homenetwork gentoo localhost

 

(Define extra systems on your network,

they need to have a static IP to be defined this way.)

192.168.0.5 jenny.homenetwork jenny

192.168.0.6 benny.homenetwork benny

 

αλλαζουμε με βαση το hostname μας και την ip που θελουμε , σωζουμε και κλεινουμε.

 

Control - O και enter

Control - X

 

7γ Αλλαγη root password

 

># passwd

 

και πληκτρολογουμε το password που θελουμε.

 

8 ΕΓΚΑΤΑΣΤΑΣΗ ΑΠΑΡΑΙΤΗΤΩΝ ΕΡΓΑΛΕΙΩΝ

 

Εγκαθιστουμε το πακετο syslog-ng και ενημερωνουμε το init:

 

># emerge syslog-ng

 

># rc-update add syslog-ng default

 

Eγκαθιστουμε dhcpcd και mlocate:

 

># emerge dhcpcd mlocate

 

 

 

9 ΕΓΚΑΤΑΣΤΑΣΗ GRUB

 

 

># emerge grub

 

># nano  /boot/grub/grub.conf

 

και στην περιπτωση μας:

 

title Gentoo Linux

root (hd0,0)

kernel /boot/kernel-genkernel-x86-2.6.39-gentoo-r3 real_root=/dev/sda3

initrd /boot/initramfs-genkernel-x86-2.6.34-gentoo-r1

Τα ονοματα του kernel και του initramfs τα βλεπουμε με:

 

># ls /boot/kernel* /boot/initramfs*

 

Σωζουμε και κλεινουμε:

 

Control - O και enter

Control - X

 

Δημιουργουμε το mtab:

 

># grep -v rootfs /proc/mounts > /etc/mtab

 

και εγκαθιστουμε τον grub στον MBR του sda:

 

># grub-install --no-floppy /dev/sda

 

Τελος κανουμε unmount και reboot:

 

 

># exit

 

># cd

 

># umount -l /mnt/gentoo/dev{/shm,/pts,}

 

># umount -l /mnt/gentoo{/boot,/proc,}

 

># reboot

 

 

 

 

 

Αυτα ...τα ....ολιγα :P

 

Μερικες χρησιμες εντολες:

 

Δημιουργια χρηστη:

 

πχ babis

 

># useradd -m -G users babis

 

Ορισμος password σε χρηστη

 

πχ babis

 

># passwd babis

 

και πληκτρολογουμε το password που θελουμε.

 

Updating Portage tree:

 

># emerge --sync

 

Ευρεση προγραμματος:

 

πχ: pdf

 

>$ emerge --search pdf 

 

Eγκατασταση προγραμματος:

 

πχ: htop

 

>
# emerge htop

 

Αφαιρεση προγραμματος:

 

πχ: htop

 

># emerge --unmerge htop

 

Update συστηματος:

>
# emerge world

 

 

Αναλυτικες πληροφοριες - οδηγιες:

 

Gentoo Handbook

Επεξ/σία από tritonas00
  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

πολύ ωραίος και κατατοπιστικός.

 

το Module για τις κάρτες δικτύου δεν διαφέρει; και πως θα ξέρω εγώ πιο πρέπει να φορτώσω;;

 

+1 και από μένα για την απλότητα και την προσπάθεια.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

πολύ ωραίος και κατατοπιστικός.

 

το Module για τις κάρτες δικτύου δεν διαφέρει; και πως θα ξέρω εγώ πιο πρέπει να φορτώσω;;

 

 

To 8139too υποστηριζει τον μεγαλυτερο αριθμο καρτων.

 

Το διορθωσα και στον οδηγο.

 

http://hardware4linux.info/module/8139too/

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 1 μήνα μετά...

Καναδυό παρατηρήσεις μόνο κυρίως επί του compile.

Λές να χρησιμοποιηθούν τα options -Ο2 και -j(no. cores + 1). Σε γενικές γραμμές ναι, το Ο2 δέν δημιουργεί προβλήματα αλλά επειδή χρησιμοποιεί κάποια optimizations του compiler για να παράξει binary που θα τρέχει πιό γρήγορα και με λιγότερα resources στο το σύστημα για το οποίο προορίζεται (π.χ. athlon64 που έβαλες στο παράδειγμά σου), υπάρχει περίπτωση κάποια προγράμματα να μήν κάνουν build ή να crash-άρουν. Αυτό που θα πρότεινα είναι να βάλεις σαν default optimization level το 0 (-Ο0 δηλαδή) και να πείς οτι υπάρχει η δυνατότητα να ανέβει το optimization level στο 3 για αυτούς που γουστάρουν την ταλαιπωρία.

Επίσης το -j (τα παράλληλα threads στο compile δηλαδή) μπορεί να προκαλέσει μεγάλα κυρίως προγράμματα να μήν κάνουν compile γιατί κάποιο thread που δημιουργεί κάποιο object να μήν έχει τελειώσει μέχρι να ξεκινήσει το επόμενο που χρειάζεται αυτό το object. Κυρίως στον kernel μου έχει τύχει αυτό και με μεγάλο αριθμό threads (64) αλλά ας υπάρχει σαν ενδεχόμενο.

Τέλος στο sample grub σου έχεις βάλει άλλο kernel version και άλλο initrd version (2.6.39-r1 και 2.6.34-r3) Όχι οτι αυτό εμποδίζει απαραίτητα το boot αλλά μπορεί να συμβεί.

 

PS. μετά το σκέφτηκα. Μάλλον θα πρέπει να προσθέσεις τα USE flags στον οδηγό σου γιατί μπορεί κάποιος να θέλει κάποιο software, να κάνει το install και μετά να ανακαλύψει οτι δέν έχει ενεργοποιήσει όλα τα options που ήθελε γιατί δέν έδωσε σημασία στο USE. Link με τη λίστα όλων των δυνατών flags, εδώ: http://www.gentoo.org/dyn/use-index.xml

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είπα και γώ αν και αρχάριος στο linux να δoκιμάσω να εγκαταστήσω gentoo.Όχι ότι δεν με καλύπτουν οι διανομές τύπου (ubuntu,kubuntu,mint,opensuse κλπ) απλά και μόνο για τη γνώση..

Ακολούθησα τον οδηγό αλλά εχω κολήσει προς το παρον σε 2 σημεία.

Στο βήμα 4γ όταν δίνω

># nano  /mnt/gentoo/etc/make.conf

δεν βλέπω πουθενά το MAKEOPTS="-jΧ", στο CFLAGS="-O2 -march=i686 -pipe" πάλι αντί του i686 βάζω native καθώς δεν ξέρω τι πρέπει να βάλω για τον επεξεργαστή μου (είναι ο intel Q6600 2,4GHZ τετραπύρινος) και εδω αν μπορεί κάποιος να μου πεί τι να γράψω.

Παλόλο το προηγούμενο πρόβλημα είπα να συνεχίσω και δίνω

># mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

στο βήμα αυτό μου βγάζει το εξής σφάλμα

>IOError: invalid Python installation: unable to open /usr/include/python2.7/pyconfig.h (No such file or directory)

και κάπου εκέι έχω μείνει..

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εχει να κανει με το τελευταιο livecd , δες εδω :

 

http://forums.gentoo.org/viewtopic-p-6817802.html?sid=323a1a4ceaf63f088b2eab9b7f711243

 

Δεν περιλαμβανει python.

 

Οποτε τα κανεις απευθειας μεσα που υπαρχει python.

 

Στο τελευταιο post εχει και την λυση (το κανεις μεσα με chroot)

 

chroot /mnt/gentoo /bin/bash

 

emerge mirrorselect

 

και μετα συνεχιζεις.

 

Κοινως , κανεις το chroot πιο πριν. :P

 

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

 

NullScan ποια τιμη προτεινεις (στο makepkg.conf σε Arch) για 4 πυρινο με hyper threading ? (i7 920 d0 )

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

για τα threads , στο MAKEFLAGS="-jΧ"

 

Με 6 που του εχω βαλει παει καλα (περιπου 15 λεπτα να χτισει τον kernel) και χρησιμοποιει περιπου 70% cpu.

 

Μπορω να το ανεβασω με ασφαλεια ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι ανέβασέ το, αλλά ειδικά στον kernel να είσαι προετοιμασμένος να σου σταματήσει το build γιατί πρέπει να δημιουργηθούν πολλά .o αρχεία και μπορεί να μπερδευτει. Σε αυτή τη περίπτωση ξανατρέξε το make. Το έχω δοκιμάσει μέχρι και -j64.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

σε gentoo με gcc 4.5.3 εγώ έχω αφήσει μετά από πολλές δοκιμές "-j17 -l20"

είναι γρήγορο και μοιράζει καλύτερα το -l20 ( --load-average) αν το βγάλω καρφώνονται και οι 8 στο 100% αλλά κάνει περίπου των ίδιο χρόνο

δοκίμασα μέχρι "-j60" αλλά όπως λέει ο nullscan έσπαγε μερικά πακέτα

 

για arch έβαλα και εκεί το ίδιο για MAKEFLAGS= με την διαφορά ότι επειδή έχει gcc 4.6 διαβάζει κατευθείαν την cpu (sandy-bridge) και εκμεταλλεύεται και το -mavx οπότε έχω

>CFLAGS="-march=corei7-avx -mtune=corei7-avx -O2 -pipe"
CXXFLAGS="${CFLAGS}"

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Από τον gcc 4.2 αρκεί να χρησιμοποιήσουμε march=native αντί καρφωτά march/mtune.

-O3 προσωπικά δεν χρησιμοποιώ γιατί μου φαίνεται πιο πιθανό να χάσω εξαιτίας του χρόνο ψάχνοντας ένα μυστήριο πρόβλημα παρά να δω διαφορά κάπου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

CFLAGS="-O3 -pipe -march=amdfam10"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j5 -l9"

phenom2 4πηρυνες και ειμαι οκ!Γιατι δεν δοκιμαζετε το -03 ?Λεει

 

στο makeopts -j> πόσες δουλειές ταυτόχρονα να κάνει ο cpu (και 60 βάζεις σε sandy-bridge)

-l> --load-average > (δεν έχω βγάλει ακόμα συμπέρασμα οπότε δεν ξέρω αλλά όπως πρότειναν στο gentoo.forum το άφησα -l20

 

Από τον gcc 4.2 αρκεί να χρησιμοποιήσουμε march=native αντί καρφωτά march/mtune.

-O3 προσωπικά δεν χρησιμοποιώ γιατί μου φαίνεται πιο πιθανό να χάσω εξαιτίας του χρόνο ψάχνοντας ένα μυστήριο πρόβλημα παρά να δω διαφορά κάπου.

 

σε arch με τον δικό μου επεξεργαστή έχει διαφορά μετρημένο γιατί χρησιμοποιεί και το -mavx, σε gentoo που δεν έχω ακόμα gcc4.6 το έχω native

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 χρόνια αργότερα...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...