Αναλαμβάνω τη σύνταξη ενός -όσο γίνεται- σύντομου οδηγού για την εγκατάσταση του Funtoo Linux σε ότι αφορά την x86 αρχιτεκτονική πάντα.
Το Funtoo είναι ένα πειραματικό project του ιδρυτή του Gentoo και πρώην προέδρου του Gentoo Foundation, Daniel Robbins. Έχει πολλές ομοιότητες με το αρχικό project, αλλά διαφέρει σε αρκετά σημεία και αυτό γίνεται κάθε φορά όλο και πιο αισθητό. Το Funtoo Linux διαθέτει εγγενή υποστήριξη UTF-8 ενεργοποιημένη από προεπιλογή, ένα Portage tree βασισμένο στο git, αυτοματοποιημένη εισαγωγή των νέων αλλαγών στο Gentoo κάθε 12 ώρες, υποστήριξη GPT / GUID, εκκίνηση που πατάει σε Grub2 , βελτιωμένη διαμόρφωση του δικτύου, ενημερωμένα καθημερινά σταθερά και τρέχοντα stages του Funtoo - όλα κτισμένα με τη χρήση του Metro build του Funtoo.
Ξεκινάμε την εγκατάσταση μπουτάροντας το Live CD του SystemRescue, το οποίο βασίζεται σε Gentoo αλλά περιέχει αρκετά χρήσιμα εργαλεία, υποστηρίζοντας παράλληλα τόσο τα 32-bit όσο και τα 64-bit συστήματα. Δεν προτείνεται πλέον το live CD του Gentoo, καθώς δεν περιέχει το εργαλείο κατάτμησης gdisk.
Οπότε, καίμε ένα SystemRescueCd. Μπουτάρουμε τον υπολογιστή μας από αυτό. Επιλέγουμε την αρχιτεκτονική που μας ενδιαφέρει (στην περίπτωσή μας, το 32-bit σύστημα).
Μόλις βρεθούμε στο live περιβάλλον, ανοίγει αυτόματα ένα τερματικό σε root.
Ακολουθούμε τα εξής βήματα:
Αρχικά θα κάνουμε την κατάτμηση (partitions) του σκληρού μας δίσκου με το εργαλείο gdisk:
Δημιουργία Boot partition (1):
Πληκτρολογούμε: n ↵
Partition Number: (γράφουμε)1 ↵
First sector: ↵ (πατάμε enter)
Last sector: (γράφουμε) +500M ↵
Hex Code: ↵ (πατάμε enter)
Δημιουργία Grub Partition (2):
Πληκτρολογούμε: n ↵
Partition Number: 2 ↵
First sector: ↵
Last sector: +32M ↵
Hex Code: EF02 ↵
Δημιουργία Swap Partition (3):
Πληκτρολογούμε: n ↵
Partition Number: 3 ↵
First sector: ↵
Last sector: +4G ↵
Hex Code: 8200 ↵
Δημιουργία Root Partition (4):
Πληκτρολογούμε: n ↵
Partition Number: 4 ↵
First sector: ↵
Last sector: ↵ (for rest of disk)
Hex Code: ↵
Ανάμεσα στη δημιουργία των partitions, μπορούμε να πληκτρολογούμε p και Enter, για να παρακολουθούμε αν οι κατατμήσεις έγιναν σωστά. Στο τέλος, για να σώσουμε το Partition Table, πληκτρολογούμε:
Command: w ↵
Do you want to proceed? (Y/N): Y ↵
Αφού πατήσουμε p θα πρέπει να δούμε κάτι σαν αυτό:
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): A4E5208A-CED3-4263-BB25-7147DC426931
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 500.0 MiB 8300 Linux filesystem
2 206848 272383 32.0 MiB EF02 BIOS boot partition
3 272384 8660991 4.0 GiB 8200 Linux swap
4 8660992 234441614 107.7 GiB 8300 Linux filesystem
Command (? for help):
Άμα το δούμε, τότε πάμε στο επόμενο βήμα.
Δημιουργούμε τα filesystems των κατατμήσεων:
# mkfs.xfs /dev/sda4
# mkswap /dev/sda3
# swapon /dev/sda3
Αφού ολοκληρώσουμε, πάμε να ενσωματώσουμε στο σύστημα τα partitions που φτιάξαμε:
# mount /dev/sda4 /mnt/funtoo
# mkdir /mnt/funtoo/boot
# mount /dev/sda1 /mnt/funtoo/boot
Ρυθμίζουμε την ώρα και την ημερομηνία:
Αν η ημερομηνία είναι λάθος, τότε την αλλάζουμε με την εντολή "date":
Όταν πατήσουμε Enter, θα δούμε:
Mon Sep 17 11:00:00 UTC 2012
Πάμε τώρα να κατεβάσουμε το stage tarball για την εγκατάσταση.
Μπαίνουμε στο mnt/funtoo, που δημιουργήσαμε και εκεί θα αποθηκεύσουμε το stage3, με την εντολή wget:
# wget http://ftp.osuosl.org/pub/funtoo/funtoo-current/x86-32-bit/i686/stage3-…
Αφού κατέβει, το αποσυμπιέζουμε με την εντολή:
Και τώρα ήρθε η ώρα να μπούμε στο νέο μας σύστημα, με την εντολή chroot!
Πριν από αυτό, ενσωματώνουμε τα /proc και /dev στο νέο μας σύστημα
# mount --bind /dev dev
Αντιγράφουμε και το /etc/resolv.conf για να έχουμε δίκτυο στο νέο μας σύστημα:
Γινόμαστε chroot με τις παρακάτω εντολές:
# export PS1="(chroot) $PS1"
Τώρα στο τερματικό μας θα δούμε την ένδειξη (chroot)
Δίνουμε την εντολή emerge --sync για να δημιουργήσουμε το αποθετήριο του Portage, από το GitHub.
Αν όλα πάνε καλά, θα ολοκληρωθεί κάπως έτσι:
>>> Starting initial git clone with git://github.com/funtoo/ports-2012.git...
Cloning into 'portage'...
remote: Counting objects: 1385112, done.
remote: Compressing objects: 100% (208747/208747), done.
remote: Total 1385112 (delta 1201168), reused 1356181 (delta 1172249)
Receiving objects: 100% (1385112/1385112), 240.82 MiB | 1.56 MiB/s, done.
Resolving deltas: 100% (1201168/1201168), done.
Checking out files: 100% (117797/117797), done.
Αν ξαναδώσουμε την εντολή, για σιγουριά, θα μας δώσει:
>>> Starting git pull...
Already up-to-date.
>>> Git pull in /usr/portage successful
Φτιάχνουμε τώρα κάποια αρχεία μας.
Αρχικά το /etc/fstab:
Θα πρέπει να γίνει κάπως έτσι:
# The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
#
# See the manpage fstab(5) for more information.
#
# <fs> <mountpoint> <type> <opts> <dump/pass>
/dev/sda1 /boot ext2 noauto,noatime 1 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / xfs noatime 0 1
#/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
Οι αλλαγές στον nano, σώζονται με Ctrl+O (όμικρον) και Enter και βγαίνουμε από το αρχείο με Ctril+X.
/etc/localtime:
Αν θέλουμε το σύστημά μας, να παρακολουθεί την τοπική ώρα, τότε φτιάχνουμε symlink στη ζώνη ώρας που επιθυμούμε:
/etc/make.conf:
Εδώ θέλουμε:
ACCEPT_KEYWORDS="~x86"
CHOST="i686-pc-linux-gnu"
Για να ρυθμίσουμε την παράμετρο MAKEOPTS, δίνουμε την εντολή
για να δούμε πόσους επεξεργαστές διαθέτει το σύστημά μας. Αν π.χ. διαθέτει 2, θα πρέπει να γράψουμε έναν παραπάνω. Άρα:
H παράμετρος LINGUAS δηλώνει στο Portage σε ποια γλώσσα να κάνει compile το σύστημα και τις εφαρμογές του (όσες φυσικά χρησιμοποιούν το LINGUAS, όπως π.χ. το OpenOffice). Αν χρησιμοποιείτε ως γλώσσα συστήματος τα Αγγλικά, δεν είναι απαραίτητο να ρυθμίσετε την παράμετρο αυτή. Διαφορετικά:
LINGUAS="gr"
/etc/conf.d/hwclock
Αν χρησιμοποιείτε dual boot με Windows (λέω, τώρα! ), θα πρέπει να αλλάξετε την επιλογή σε local, γιατί τα Windows κάθε φορά που μπουτάρουν θα σας αλλάζουν το hardware clock στην τοπική ώρα. Διαφορετικά δεν υπάρχει λόγος να το αλλάξετε.
Βάζουμε τα Ελληνικά:
To αρχείο μας θα πρέπει να δείχνει έτσι:
en_US ISO-8859-1
en_US.UTF-8 UTF-8
el_GR ISO-8859-7
el_GR.UTF-8 UTF-8
Σώζουμε τις ρυθμίσεις:
* Generating 4 locales (this might take a while) with 1 jobs
* (1/4) Generating en_US.UTF-8 ... [ ok ]
* (2/4) Generating en_US.ISO-8859-1 ... [ ok ]
* (3/4) Generating el_GR.ISO-8859-7 ... [ ok ]
* (4/4) Generating el_GR.UTF-8 ... [ ok ]
* Generation complete
Και:
>>> Regenerating /etc/ld.so.cache...
Ρυθμίζουμε τώρα το δίκτυο:
Και τώρα, ο πυρήνας!
Αν δεν είμαστε εξοικιωμένοι με το να χτίζουμε πυρήνες για να περνάει η ώρα μας, το Funtoo φρόντισε να μας παράσχει τον πυρήνα που χρησιμοποιεί το SystemRescueCd, αφού βάλουμε το USE flag binary, ώστε να τον χτίσει με τον Genkernel. Αυτός ο πυρήνας είναι βασισμένος σε Fedora Core.
(chroot) # emerge sysrescue-std-sources
Αυτό ήταν!
Τώρα περνάμε τον bootloader.
To Funtoo χρησιμοποιεί grub2, ο οποίος χρειάζεται το εργαλείο boot-update για να λειτουργήσει:
Ελέγχουμε να δούμε εάν η ένδειξη "Funtoo Linux" έχει αντικατασταθεί από την "Funtoo Linux genkernel". Αυτό θα το δούμε με το άνοιγμα του αρχείου /etc/boot.conf.
To /etc/boot.conf θα πρέπει να δείχνει έτσι:
boot {
generate grub
default "Funtoo Linux genkernel"
timeout 3
}
"Funtoo Linux" {
kernel bzImage[-v]
# params += nomodeset
}
"Funtoo Linux genkernel" {
kernel kernel[-v]
initrd initramfs[-v]
params += real_root=auto
# params += nomodeset
}
Περνάμε τον grub και ενημερώνουμε το /boot.conf:
(chroot) # boot-update
Θα πρέπει να μας βγάλει αυτό το μήνυμα:
boot-update 1.6.4 /
Copyright 2009-2012 Funtoo Technologies
[use option "-l" for license info, "-h" for help]
* Generating config for grub...
DEFAULT > Funtoo Linux genkernel - kernel-sysrescue-std-x86-3.0.21-sysrescue-std302
* Completed successfully.
Ρυθμίζουμε το password για να μπορούμε να κάνουμε login:
New password: (το δίνουμε)
Retype new password: (το ξαναδίνουμε)
passwd: password updated successfully
Και τώρα πάμε για επανεκκίνηση!
# cd /
# umount /mnt/funtoo/boot /mnt/funtoo/dev /mnt/funtoo/proc /mnt/funtoo
# reboot
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε