leo2k wrote:mich würde genauer interessieren wie man eine gentoo install so klein bekommt, habe aber im moment nicht die zeit um mich drum zu kümmern.
Mini-Howto für Mini-Gentoo
Um ein Mini-Gentoo zu erzeugen benötigen wir einen größeren Rechner, da das kompilieren auf älteren PCs meist wenig Sinn macht.
Um das System auf die Platte vom alten Rechner zu bekommen können wir diese entweder an dem großen PC anschliessen (Laptops: es gibt Adapter 2,5" auf 3,5") oder wenn der alte Rechner von CD (mein Liebling hierbei immernoch Knoppix) bootet und dann nur auf dem Großen kompilieren.
Das wird hier noch genauer beschreiben.
[Optional]
Haben wir die Möglichkeit die Platte vorher noch zu formatieren sollten wir die Optionen -b 1024 -i 1024 wählen um noch möglichst viel Plattenplatz herauszukitzeln. Das kostet allerdings wieder etwas Performance, also wären Werte von 2048 wahrscheinlich die beste Alternative.
[/Optional]
Gehen wir davon aus unsere Platte hängt jetzt an /klein. Wir besorgen uns erstmal das aktuelle stage1 und packen es nach /klein aus. Dann mounten wir proc und kopieren die /etc/resolv.conf und chrooten in das Verzeichnis. Portagetree (und distfiles) mounten vorher noch mit bind, wir wollen ja Platz sparen. Optional auch /var/tmp
Code: Select all
cd /klein
wget http://mirror-deiner-wahl/gentoo/releases/x86/2005.0/stages/x86/stage1-x86-2005.0.tar.bz2
tar -xjvpf stage1-x86-2005.0.tar.bz2
mount -o bind /proc /klein/proc
mkdir /klein/usr/portage
mount -o bind /usr/portage /klein/usr/portage
mount -o bind /tmp /klein/var/tmp
cp /etc/resolv.conf /klein/etc
chroot /klein
env-update
source /etc/profile
Jetzt wechseln wir das Profil auf die uclibc.
Code: Select all
cd /etc
rm make.profile
ln -s /usr/portage/profiles/uclibc/ make.profile
Wir passen die make.conf entsprechend unseren Vorstellungen an, wobei als Optimierung in den CFLAGS auf jeden Fall -Os angegeben werden sollte. Das Useflags uclibc wird durch das Profil gesetzt und braucht nicht eingetragen zu werden.
dann der bootstrap
Code: Select all
cd /usr/portage/scripts
bootstrap.sh
Der kniffligste Teil ist das mergen des systems. Bei meinen Versuchen (ca. Dez. 04) brach es immer an zwei Stellen regelmäßig ab, da es zu "Problemen" mit den uclibs kam. Das betraf aber Pakete die nicht zwingend erforderlich waren. Sollte also das emerge system fehlschlagen können wir es wie folgt probieren, das mergt jedes mögliche Paket.
Code: Select all
for i in `emerge -pe system | grep "^\[ebuild" | cut -d "]" -f 2 | cut -d " " -f 2` ; do emerge =$i ; done
Dann die "üblichen" Sachen, Kernel etc... aber aufpassen, besonders beim Kernel. Lieber erstmal ein paar Optionen zu viel einstellen. Root-Passwort setzen, fstab anpassen ...
Nicht vergessen alle Tools zu mergen die wir fürs Netzwerk brauchen:
dhcpcd, nfs-utils, die Sachen für die PCMCIA-Karte... etc.
So, wenn alles fertig Platte umbauen/neu booten und hoffen das die Kiste hochkommt.
Für Updates den Portagetree per NFS mounten.
Das fertige System liegt dann bei etwa ~170MB.