# Booten in Sekunden

## cosmophobia

Hallo, ich war schon länger nichtmehr hier, ich hatte schon länger keine Zeit mehr, mal mit Gentoo rumzuspielen (Ich benutze jetzt eher leicht einzurichtende Distris wie Mandriva..).

Doch nun habe ich eine "Vision", bei der das gute, anpassbare Gentoo passend sein sollte.

Kurze Vorgeschichte: Ich habe vor kurzem meinem Haupt-/Gaming-Rechner aufgerüstet. Nen Schönen Phenom II 940, Radeon 4870 (Ps: Wenn man hier den Speicher runtertaktet, ist sie fast silent, ohne viel Leistung zu verlieren..), aber ich schweife ab. : )

Mein neues Mainboard ist von ASUS, welches ein Mini-Linux-System namens Express Gate mitbringt. Mit Diesem ist man in unter 10s im Internet (Erstaunlich, finde ich, da es auf der Festplatte installiert wird..). Allerdings ist das System nicht grade flexibel, soo dass ich damit recht unzufrieden bin.

Ist es nicht auch möglich so etwas mit Gentoo umzusetzen..!?

Gibts da vielleicht schon ein brauchbares HowTo..!? Wenn nicht, können wir hier vielleicht mal ein paar Ideen/Erfahrungen sammeln..!?

Wie baue ich ein Gentoo-System, dass soo schnell wie möglich bootet..!?

----------

## Alanceil

Sofern ich das bei der Eee Box, die hier herumsteht, sehen kann, bootet das Express Gate Linux noch vor dem Bios. Von daher wird es denke ich mal recht schwer, da ran zu kommen, bzw. dieses System zu ersetzen.

Einen Gentoo Boot an sich kann man aber auch recht flott gestalten:

- Das Ausschalten von Kernelnachrichten mit 'quiet' bringt ca 3 Sekunden, da das System dann nicht im Framebuffer umherscrollen muss

- Baselayout2 mit OpenRC waere auch angebracht

Schlussendlich kannst du ja noch ein paar Microsoft Tricks verwenden - Boote z.B. nur das allerwichtigste, und lege dann den X Startbefehl in die local.start. Danach kommen dann erst so Sachen wie Netzwerk. So bist du schon am Loginprompt, waehrend der Rechner noch bootet.

Fuer weitere Tips findet sich auf Google was, so z.B. ein Wiki Eintrag.

Allerdings denke ich nicht, dass du am Ende an die 10 Sekunden herankommen wirst. 30 halte ich fuer realistisch.Last edited by Alanceil on Tue Mar 17, 2009 2:20 pm; edited 1 time in total

----------

## manuels

Oder du nutzt TuxOnIce.

----------

## Anarcho

 *Alanceil wrote:*   

> Einen Gentoo Boot an sich kann man aber auch recht flott gestalten:
> 
> - Das Ausschalten von Kernelnachrichten mit 'quiet' bringt ca 3 Sekunden, da das System dann nicht im Framebuffer umherscrollen muss

 

Das kann man nicht pauschal sagen. Mein Kernel mit Meldungen übergibt nach 2,9 Sekunden an init. Da kann ich wohl kaum 3 Sekunden sparen... Bei mir ist der Unterschied ca. 0,5 - 1 Sekunden.

 *Alanceil wrote:*   

> Allerdings denke ich nicht, dass du am Ende an die 10 Sekunden herankommen wirst. 30 halte ich fuer realistisch.

 

Generell denke ich schon das das möglich ist. Bei mir wird der Login-Screen nach ca. 13 Sekunden angezeigt (siehe Forumsthread weiter unten). Und dort werden noch relativ viele Dienste gestartet. Wenn man das weiter minimiert wären 10 Sekunden durchaus drin, denke ich. Am schlimmsten ist aber die Initialisierung von X. Kann sein das das Express Gate Framebuffer verwendet. Damit könnte man bestimmt 3 - 5 Sekunden sparen.

Siehe auch hier: https://forums.gentoo.org/viewtopic-t-734054.html

----------

## Knieper

Ich denke auch, daß das möglich ist. Selbst auf meinem alten Rechner vergehen von Grub bis Login knapp 20s, da ist dann aber inkl. Netz, httpd, dns alles gestartet. Am längsten hängt er beim Einbinden der verschiedenen Partitionen. Mit ein wenig Optimierung sind 10-15s locker drin und da muß man noch nicht einmal das doofe Initsystem anfassen.

----------

## cosmophobia

 *Alanceil wrote:*   

> Sofern ich das bei der Eee Box, die hier herumsteht, sehen kann, bootet das Express Gate Linux noch vor dem Bios. Von daher wird es denke ich mal recht schwer, da ran zu kommen, bzw. dieses System zu ersetzen.

 

Da ran zu kommen ist möglicherweise schwierig, jedoch würde ein alternatives system ja auch nur ca. 2s mehr warten, bis der POST durchgelaufen ist.

Übrigens legt der Express Gate-Installer auf der Festplatte ein Squash-Image ab, von dem es bootet. Das kann man wohl auch manipulieren, aber eine komplett andere Distri dort istallieren wird wahrscheinlich nicht klappen..!?

 *Alanceil wrote:*   

> Allerdings denke ich nicht, dass du am Ende an die 10 Sekunden herankommen wirst. 30 halte ich fuer realistisch.

 

Bei der Suche nach Infos über EG habe ich in einem Forum gelesen, dass Jemand wohl auch einem Standard-Notebook ein Gentoo eingerichtet hat, was innerhalb von 7s incl. X einsatzbereit ist.

Wohl mit nem modifizierten Kernel + eInit(Ich glaub zumindest dass es so hieß..).

Apropos, sind alternative Init-Systeme einsetzbar..!?

----------

## Alanceil

 *Anarcho wrote:*   

>  *Alanceil wrote:*   Einen Gentoo Boot an sich kann man aber auch recht flott gestalten:
> 
> - Das Ausschalten von Kernelnachrichten mit 'quiet' bringt ca 3 Sekunden, da das System dann nicht im Framebuffer umherscrollen muss 
> 
> Das kann man nicht pauschal sagen. Mein Kernel mit Meldungen übergibt nach 2,9 Sekunden an init. Da kann ich wohl kaum 3 Sekunden sparen... Bei mir ist der Unterschied ca. 0,5 - 1 Sekunden.

 

Das wird dann wohl davon abhaengen, ob man im Kernel die Grafikkarte vernuenftig ansprechen kann oder nicht. So kann ich z.B. den nvidia Treiber zwar einkompilieren - was die Anzeige der Konsolennachrichten erheblich beschleunigt - allerdings mag dann der Binaertreiber (nvidia-drivers) nicht mehr.

----------

## Anarcho

 *Alanceil wrote:*   

>  *Anarcho wrote:*    *Alanceil wrote:*   Einen Gentoo Boot an sich kann man aber auch recht flott gestalten:
> 
> - Das Ausschalten von Kernelnachrichten mit 'quiet' bringt ca 3 Sekunden, da das System dann nicht im Framebuffer umherscrollen muss 
> 
> Das kann man nicht pauschal sagen. Mein Kernel mit Meldungen übergibt nach 2,9 Sekunden an init. Da kann ich wohl kaum 3 Sekunden sparen... Bei mir ist der Unterschied ca. 0,5 - 1 Sekunden. 
> ...

 

Also ich habe eine Nvidia Karte drin und soweit ich weiss nicht besonderes bzgl. Framebuffer eingestllt, alles Standard. Dafür kann man die Buchstaben auf meinem 24" TFT auch von der anderen Wand aus lesen  :Wink: 

Schön wird es wenn Kernel-Based Modesetting mit dem nvidia Treiber funktionieren würde. Aber ich denke das wird noch dauern.

----------

## Alanceil

Ganz so schlimm ist es bei mir nicht ...

Ich boote den Kernel mit vga=0x31B, was mit eine Aufloesung von 1280x1024 Punkten beschert. Mit 640x480 geht das scrollen natuerlich flotter, aber bei so einer Aufloesung faellt das Arbeiten auf der Konsole schwer. In Device Drivers -> Graphics Support -> Support for framebuffer devices habe ich 'VESA VGA graphics support' sowie 'EFI-based Framebuffer Support' aktiv, den nvidia Treiber gar nicht.

Nachteil: das Wandlesen geht nicht mehr ganz so einfach  :Wink: 

----------

## Puschi

Hallo,

so habe ich es gemacht.

baselayout und openrc installiert, Kernel 2.6.29 mit quiet und fastboot als Kernelparameter in grub.conf

rc_parallel="YES" in /etc/rc.conf.

Meine aktuelle Bootzeit beträgt 17s von Grub bis zum vollständigen Bildschirmaufbau von KDE 4.2.1 laut bootchart. 

Dabei übergiebt der Kernel nach 3s an init, init nach etwa 5s an kdm, der Rest ist X und KDE.

Damit kann ich nun schon recht gut leben. 

es werden alle Standard-Dienste wie dhcp ,alsa, syslog-ng, dbus, hal u.s.w gestartet. Einzig netmount hab ich mit rc-update entfernt weil er bei mir immer auf die Adresszuweisung von dhcp gewartet hat. Da ich keine Partitionen über ein Netz mounte brauch ich ihn nicht.

Ich habe einen Core-2 Duo mit 2G Ram und / auf Reiserfs als Raid0.

CFLAGS="-O2 -march=nocona -pipe"

CXXFLAGS="-O2 -march=nocona -pipe"

CHOST="i686-pc-linux-gnu"

hdparm -Tt /dev/sda3

Timing cached reads:   3262 MB in  2.00 seconds = 1630.68 MB/sec

Timing buffered disk reads:  278 MB in  3.00 seconds =  92.56 MB/sec

hdparm -Tt /dev/sdb3

Timing cached reads:   3266 MB in  2.00 seconds = 1632.65 MB/sec

Timing buffered disk reads:  262 MB in  3.01 seconds =  87.06 MB/sec

hdparm -Tt /dev/md1

Timing cached reads:   3280 MB in  2.00 seconds = 1640.45 MB/sec

Timing buffered disk reads:  552 MB in  3.01 seconds = 183.64 MB/sec

Habe die letzten Wochen etwas getestet, hier meine Erfahrungen.

Zur Zeit habe ich 3 Installationen parallel nebeneinander laufen.

1x X86 32bit auf sda3 mit Reiserfs - /=10G zum Probieren

1x X86 32bit auf sdb3 mit Reiserfs - /=10G als Notsystem falls etwas gegen den Baum geht

1x X86 32bit auf md1 (sda4/sdb4 als Raid0) mit Reiserfs - /=10G mein aktuelles System

alle Installationen nutzen sda1 als /boot, also mit gleichem Kernel (nur anderer Name) und gleicher grub.conf

sda2 und sdb2 je 500M als swap mit Priorität 1 die der Kernel gleichzeitig wie Raid0 nutzt

alle Installationen mit gleichen Dateiinhalt weil mit rsync geclont

"quiet" als Kernelparameter bringt ca. 6s Ersparnis bis zum Init (Kernelnachrichten über gefundene Laufwerke, Raid usw.)

Verkleinerung der /-Partition auf 10G von vorher 250G brachte 10s Ersparnis 

Warum ist mir immer noch ein Rätzel, egal ob mit einer Festplatte oder als Raid0-Verbund. Vieleicht kann das ja mal einer bei sich überprüfen. Ich war so baff über dieses Ergebnis das ich hier diesen Beitrag schreibe.

"notail"  für reiserfs in der fstab verlangsamt um 2s

Der Einsatz von Raid0 für / bringt etwa 2s gegenüber einer einzelnen Platte

Vor der Installation von baselayout und openrc und den anderen Optimierungen brauchte mein Rechner etwa 45s bis ich unter KDE arbeitsfähig war.

Ich denke es hat sich gelohnt.

Würde gerne meine bootchart hier zeigen, weiß nur nicht wie ich Bilder anhängen kann.

Puschi

----------

