Οδηγίες για την εγκατάσταση του λειτουργικού συστήματος funtoo σε Virtual Box
Ο οδηγός αυτός είναι συμπυκνωμένες οδηγίες παρμένες από το official funtoo installation guide που βοήθησαν εμάς προσωπικά να εγκαταστήσουμε το λειτουργικό στο Virtual Box και δεν αποτελούν το μόνο τρόπο εγκατάστασης. Ενθαρρύνουμε όλους να προσπαθήσουν μόνοι τους να κάνουν την εγκατάσταση του λειτουργικού ώστε να δούνε τις διαφορές που έχει από λειτουργικά με systemD και σε περίπτωση αποτυχίας να δοκιμάσουν με τον δικό μας οδηγό. Have fun!!! 😃
Table of Contents |
---|
- Ένα livecd iso του funtoo (κατά προτίμηση να είναι η τελευταία έκδοση)
- Το Virtual Box (Μπορείτε να χρησιμοποιήσετε όποια άλλα εικονική μηχανή θέλετε αλλά αυτός ο οδηγός βασίζεται στο VirtualBox)
‼️ Ο οδηγός βασίζεται σε εγκατάσταση MBR και όχι GPT καθώς υπήρχαν κάποια προβλήματα με το τελευταίο. Αν κάποιος τα καταφέρει με GPT θα θέλαμε να το συμπεριλάβουμε στον οδηγό μας.
- Επιλέγουμε τα κατάλληλα πεδία όπως φαίνεται στην παρακάτω εικόνα
- Δίνουμε στη μηχανή τουλάχιστον δύο πυρήνες (ιδανικά 4) και τουλάχιστον 2GB RAM (ιδανικά 4GB λόγω του GUI) και 30GB αποθηκευτικό χώρο.
Τα funtoo προσφέρουν έτοιμα isos σχεδόν για κάθε αρχιτεκτονική επεξεργαστών, όμως προσφέρουν και έτοιμα generic isos τα οποία λειτουργούν με κάθε επεξεργαστή απλά δεν είναι τόσο optimized. Μετά από πολύωρη ενασχόληση με τα specific CPU isos και αρκετά errors δεν καταφέραμε να μας δουλέψουν και έτσι αποφασίσαμε να ασχοληθούμε με τα generic τα οποία και δούλεψαν. Ο οδηγός βασίζεται λοιπόν στα generic isos, και πάλι αν κάποιος τα καταφέρει με συγκεκριμένη αρχιτεκτονική θα θέλαμε να το συμπεριλάβουμε στον οδηγό.
Αφού έχουμε bootάρει στο σύστημα ακολουθούμε τα συγκεκριμένα βήματα:
-
lsblk
για να δούμε το layout των δίσκων -
fdisk /dev/sda
και δίνουμε την εντολήo
για να γίνει διαγραφή του partition -
mkfs.ext2 /dev/sda1
-
mkfs.ext4 /dev/sda2
(αν έχουμε φτιάξει swap partition τότε είναι το /dev/sda3) -
mkdir -p /mnt/funtoo
-
mount /dev/sda2 /mnt/funtoo
-
mkdir /mnt/funtoo/boot
-
mount /dev/sda1 /mnt/funtoo/boot
date
για να δούμε την ημερομηνία του συστήματος
date MMDDhhmmYYYY
αντικαθιστούμε τις μεταβλητές με νούμερα πχ.date 021718502023
hwclock --systohc
για να ρυθμίσουμε το hardware clock και να μείνει persistent
cd /mnt/funtoo
links http://build.funtoo.org
Επιλέγετε τα generic drivers τα οποία βρίσκονται στοnext/x86-64bit/generic_64/2023-01-31
και επιλέγετε όποια έκδοση θέλετε (.xz)(για δική σας ευκολία επιλέξτε κάτι με γραφικό περιβάλλον)q
για να βγούμε απ τοlinks
1.tar --numeric-owner --xattrs --xattrs-include='*' -xpf stage3-latest.tar.xz
(stage3=το αρχείο που κατεβάσατε)
fchroot /mnt/funtoo /bin/bash --login
(οι οδηγίες του funtoo λένε ότι το prompt αλλάζει στη δική μας περίπτωση δεν έγινε κάτι τέτοιο αλλά παρέμεινε και πάλιlivecd
)
ego sync
nano -w /etc/fstab
ακολουθήστε τις οδηγίεςrm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Athens /etc/localtime
Υπάρχουν δυο τρόποι:
1ος τρόπος: emerge -auDN @world
2ος τρόπος: emerge -q -auDN @world
το -q
κάνει suppress το output
emerge -av grub
grub-install --target=i386-pc --no-floppy /dev/sda
ego boot update
προσπεράστε το warning της AMD
Ethernet
rc-update add dhcpcd default
nano /etc/conf.d/hostname
και αλλάζουμε το hostname
Wi-Fi
emerge linux-firmware networkmanager
rc-update add NetworkManager default
nmtui
passwd
κωδικός για τον root useruseradd -m myuser
usermod -G wheel,audio,video,plugdev,portage myuser
passwd myuser
exit
cd /mnt
umount -lR funtoo
shutdown
για να επιστρέψουμε στη αρχική του livecd- Τερματίζουμε το vm μας
- Από τις ρυθμίσεις του vm για το storage πρέπει να αφαιρέσουμε το livecd απο το "IDE Secondary Device"
Σε αυτό το σημείο καλό είναι να σετάρουμε τα sudo privilege του user μας. Για να το καταφέρουμε αυτό θα χρειαστεί να κατεβάσουμε το sudo package.
su
και βάζουμε τον κωδικό του root useremerge --ask app-admin/sudo
visudo
ΠΡΟΣΟΧΗ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕ ΜΟΝΟ ΤΗΝ ΕΝΤΟΛΗ VISUDO ΚΑΤΑ ΤH ΔΙΑΡΚΕΙΑ ΤΟΥ EDIT ΤΟΥ SUDOERS ΑΡΧΕΙΟ. ΟΠΟΙΟΔΗΠΟΤΕ ΑΛΛΟ COMMAND ΤΟΥ ΣΤΥΛnano /etc/sudoers
ΔE ΘΑ ΚΑΝΕΙ ΣΩΣΤΟ ΦΟΡΜΑΤ ΤΟ ΑΡΧΕΙΟ.- Κάνουμε uncomment τη γραμμή
%wheel ALL=(ALL:ALL) ALL
(η συγκεκριμένη γραμμή δίνει sudo access σε όλα τα command που χρησιμοποιούνται από τους χρήστες του group Wheel)
visudo
ΠΡΟΣΟΧΗ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕ ΜΟΝΟ ΤΗΝ ΕΝΤΟΛΗ VISUDO ΚΑΤΑ ΤH ΔΙΑΡΚΕΙΑ ΤΟΥ EDIT ΤΟΥ SUDOERS ΑΡΧΕΙΟ ΟΠΟΙΟΔΗΠΟΤΕ ΑΛΛΟ COMMAND ΤΟΥ ΣΤYΛnano /etc/sudoers
ΔE ΘΑ ΚΑΝΕΙ ΣΩΣΤΟ ΦΟΡΜΑΤ ΤΟ ΑΡΧΕΙΟ- Προσθέτουμε κάτω από τη γραμμή User privilege specification
myuser localhost = /usr/bin/emerge
(για παράδειγμαp19arti vboxfun = /usr/bin/emerge
) Με αυτό τον τρόπο δίνουμε sudo access μόνο για το command emerge δηλαδή για να χρησιμοποιούμε το package manager των Funtoo.
Σε περίπτωση που θέλουμε να δώσουμε και άλλα access, όπως για παράδειγμα για το git ώστε να μπορούμε να κάνουμε sudo git
, θα πρέπει να συμπληρωθεί στη γραμμή που δίνουμε privilege π.χ. myuser localhost = /usr/bin/emerge, /usr/bin/git
Στη δικιά μας περίπτωση δώσαμε full access στον user μας διότι το έχουμε ξανακάνει και μπορούμε να καταλάβουμε πότε είναι προτιμότερο να χρησιμοποιείται η εντολή sudo και πότε όχι.
Στη συνέχειά su myuser
για να επιστρέψουμε στον user μας και κάνουμε ένα τεστ κατεβάζοντας ένα πακέτο π.χ. το neofetch emerge --ask app-misc/neofetch
.
Κατά την διάρκεια του installation θα παρατηρήσατε ότι το portage παίρνει αρκετό χρόνο για να κάνει install πακέτα. Με τις παρακάτω αλλαγές ο χρόνος αυτός μπορεί να μειωθεί σε έναν βαθμό:
Το μεγαλύτερο κομμάτι του απαιτούμενου χρόνου είναι διότι τα Gentoo λογισμικά κάνουν compile όλα τα απαιτούμενα πακέτα από την αρχή. Χρησιμοποιώντας το ccache, μπορούμε να το σεττάρουμε έτσι ώστε το σύστημα να κρατάει κάποια compiled πακέτα στην μνήμη cache, έτσι ώστε όταν μετά χρειάζονται ως dependency για κάποιο άλλο πακέτο, να μην ξαναγίνονται compile.
- Install ccache:
sudo emerge --ask dev-util/ccache
- Δημιουργία directory:
sudo mkdir /var/cache/ccache/
- Δημιουργία config file:
sudo touch /var/cache/ccache/ccache.conf
- Βάζουμε τις παρακάτω παραμέτρους μέσα στο config file:
max_size = 20.0G
umask = 002
hash_dir = false
compiler_check = %compiler% -v
cache_dir_levels = 3
Εδώ θα κάνουμε configure το portage να χρησιμοποιεί παραπάνω πόρους έτσι ώστε τα compiles να γίνονται πιο γρήγορα.
- Ανοίγουμε το config file του portage:
/etc/portage/make.conf
- Εισάγουμε παραμέτρους:
MAKEOPTS="-j# -l#"
Το j δηλώνει πόσα compiles να γίνονται allocate στη CPU, ενώ το l δηλώνει πόσες διεργασίες η CPU εκτελεί ταυτόχρονα. Προτείνεται το j να σεττάρεται ως το μισό από τους πυρήνες της CPU σας.
- Επιπλέον εισάγουμε τα παρακάτω έτσι ώστε το portage να χρησιμοποιεί το ccache:
FEATURES="ccache"
CCACHE_DIR="/var/cache/ccache"
Αν όλα έγιναν σωστά, τότε το config file του portage θα πρέπει να μοιάζει κάπως έτσι:
ΔΕΝ ΞΕΧΝΑΜΕ ΠΑΝΤΑ ΝΑ ΚΟΙΤΑΜΕ ΤΑ WIKI ΕΙΤΕ ΤΩΝ ΠΑΚΕΤΩΝ ΠΟΥ ΘΕΛΟΥΜΕ ΝΑ ΕΓΚΑΤΑΣΤΗΣΟΥΜΕ ΕΙΤΕ ΤΟ OFFICIAL WIKI ΤΟΥ FUNTOO/GENTOO ΓΙΑ ΝΑ ΜΑΘΑΙΝΟΥΜΕ ΤΙ ΚΑΝΕΙ Η ΚΑΘΕ ΕΝΤΟΛΗ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΜΑΙ ΚΑΙ ΝΑ ΜΗΝ ΠΗΓΑΙΝΟΥΜΕ ΣΤΑ ΤΥΦΛΑ. ΠΑΝΤΑ Η ΑΠΑΝΤΗΣΗ ΒΡΙΣΚΕΤΑΙ ΣΤΑ WIKI
Feel free να προτείνετε διορθώσεις!
Made with ❤️ by PaneksypnesDiepafes