PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LSF: Installation ueber Ethernetverbindung



Fabeltier
29.09.07, 21:18
Hallo,
Ich bin gerade dabei mich in Linux From Scratch (LSF) einzulesen.

Ich beziehe meine Fragen daher auf folgende Anleitung zu LSF 6.3:
LSF 6.3 (http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-6.3.pdf)

1. Partitionen - von Debian herkommend bin ich gewoehnt mehrere Partitionen anzulegen entsprechend der FHS (usr, home, proc, boot, swap, etc), nachdem ich nun das Buch grob ueberflogen habe, liegt alles auf einer Partition /LSF, die dann zu Root gemacht wird. Wenn ich nun aber wieder mehrere Partitionen anlegen will, sollte ich diese auch gleich zu anfang entsprechend anlegen und formatieren? Oder erst zu einem spaeteren Zeitpunkt?

2. Auf dem Testrechner, einem Thinkpad X31 habe ich kein CD Rom Laufwerk. Ich habe per Ethernetverbindung noch einen Windowsrechner zur Verfuegung, ansonsten hab ich nur ein externes (USB) CD-Rom Laufwerk. Ich glaube es ist moeglich ueber Ethernet zu booten, aber bin mir noch nicht ganz sicher, wie. Evtl. waere auch ein Installationsprozess ueber Knoppix auf dem anderen Rechner per Ethernetverbindung moeglich? Geht das? Gibt es dazu Anleitungen/Texte (evtl direkt fuer LSF)? Wie geh ich dabei vor (grob)?

3. Zu Anfang wird bei LSF eine Systemvariable gesetzt, wie setze ich diese, wenn ich das System nun ueber Ethernet installiere (falls das geht)?

4. Kann ich das System ausschalten und wieder einschalten, solange nur ein Teil der provisorischen Pakete entpackt sind und noch kein Bootloader installiert ist oder muss ich das Ding durchlaufen lassen? Ab wann kann ich das System ausschalten - wie habt Ihr das evtl gemacht?

derguteweka
29.09.07, 23:04
Moin,

zu 1.) Guck' mal in die Gegend von Seite 21 oben, da wird das Vorgehen fuer mehrere Partitionen beschrieben. Obacht: proc wird spaeter angelegt, das ist ja kein "richtiges" FS. (Abgesehen davon halt' ich persoenlich eher nix von 1000en verschiedenen Partitionen fuer jeden /usr/furz auf dem "normalen" Heimrechner).

zu 2.) Weia, also am einfachsten, insbesondere beim ersten Mal LFS ist es schon, wenn auf dem Rechner ein "normales" Linux booten kann. Wenn der Rechner ueber sein USB-CDROM booten kann, dann kannst du schon z.b. mit Knoppix als Hostsystem arbeiten.
Klar koenntest du auch vielleicht irgendwie ein von Ethernet bootendes Linux einrichten, was als Hostsystem fungiert, aber mit einem Windowsrechner als Boot- und NFS-Root-Server halt ich das doch fuer ein hm, aeh - etwas exotisches - Unterfangen.
Guck', dass du irgendwie einen Rechner nimmst, der schmerzfrei booten kann; sonst wird das ganze ziemlich unspassig am Anfang.

zu 3.) Jedesmal handisch oder indem du das in die entsprechenden Startdateien einsetzt. Aber wie schon unter 2.) gesagt: Mach' neben LFS lieber erstmal keine zweite Boot-over-Ethernet-Baustelle auf.

zu 4.) Ja aus- und wieder einschalten waehrend des bauens ist nicht ganz unmoeglich. Musst aber hoellisch aufpassen, speziell ab Kapitel 6 mit der richtigen mount-reihenfolge saemtlicher partitionen, links, pseudo-FS und ggf. mit dem jeweils "richtigen" chroot Befehl. Wuerd' ich fuer den Anfang auch nicht unbedingt empfehlen, weils fehlertraechtig ist und ggf. ordentlich was schieflaufen kann dabei. Also lieber an 'nem ruhigen Wochenende morgens anfangen...
Du kannst "immer" ausschalten, aber du musst bis ganz zum Schluss (Kap. 8.4) immer erst das Host-Linux booten, um weiterzumachen. Erst danach, also praktisch zum Anfang von BLFS ist das LFS alleine bootfaehig.
Weil man den grub ueblicherweise ja auch nicht taeglich mehrfach installiert, ist es auch recht gut, wenn der PC irgendwie ueber eine grub-diskette oder sowas bootbar ist.

Gruss
WK

Fabeltier
29.09.07, 23:48
Hm, wie im Titel schon erwaehnt halte ich das Booten momentan fuer mein groesstes Problem. Ich dachte, dass ich auf dem Win Rechner eben mit Knoppix rummache, dann versuche die Partitionen per Samba einzuhaengen und versuche auf dem Host dann die Dinge zu kompilieren. Ich bin etwas unsicher ob die Systemvariable, die ich ja auf dem Knoppix-Host setze und v.a. die Kompilierung dann doch eher auf den Knoppix-Host ausgerichtet sind. Und eben nicht auf das Testrechnersystem fuer das ich ja eig baue, aber dessen CPU und etc, ich gar nicht benutze. Kann man das denn dem GCC (bzw configure) irgendwie mitgeben, dass das System ein anderes per ethernet verbundenes ist, als das Hostsystem selber? - so ne Art halbes crosscompilen ueber Ethernet.. oje, ich seh schon... :rolleyes:

Naja, vllt haste ja nen Link dazu? Ansonsten, evtl bekomm ich irgendwo nen Laufwerk fuer die Dockingstation her, das waere wohl der einfachste Weg.

Danke fuer den Hinweis, hatte das mit dem mounten gelesen und wieder total vergessen, beim ueberfliegen.

Das mit dem aus- und einschalten hab ich jetz nich ganz begriffen, sry. Also ich kann prinzipiell immer ausschalten. Wenn ich keinen Bootloader habe, muss ich diese Aufgabe selber uebernehmen und vom Host aus, bei jedem Neustart (zuerst Host, dann Testrechner) erst diese Systemvariable von neuem setzen und dann die Mount-Befehle in entsprechender Reihenfolge?

Ich weiss nicht wie lange ich zum compilieren des ganzen brauche, aber das liest sich irgendwie alles doch nach etwas laenger. Evtl wieder von neuem zu beginnen, plane ich sowieso ein. Uebung macht den Meister ;)

derguteweka
30.09.07, 08:28
Moin,


Hm, wie im Titel schon erwaehnt halte ich das Booten momentan fuer mein groesstes Problem.
Jepp, seh' ich auch so. Du brauchst ein System, dass von sich aus, ohne grosse Verrenkungen ein "fertiges" Linux booten kann und mit dem du die Festplatte, auf der du LFS installieren willst, mounten kannst. Wenn das ein Knoppixartiges System ist, geht das auch, ist aber aufwaendiger, weil du dann nach jedem Aus/Einschalten waehrend des LFS-Baus ggf. wieder $LFS usw. definieren musst, den user LFS (immer mit gleicher uid und gid!) anlegen musst, usw.


Ich dachte, dass ich auf dem Win Rechner eben mit Knoppix rummache, dann versuche die Partitionen per Samba einzuhaengen und versuche auf dem Host dann die Dinge zu kompilieren. Ich bin etwas unsicher ob die Systemvariable, die ich ja auf dem Knoppix-Host setze und v.a. die Kompilierung dann doch eher auf den Knoppix-Host ausgerichtet sind. Und eben nicht auf das Testrechnersystem fuer das ich ja eig baue, aber dessen CPU und etc, ich gar nicht benutze.
Richtig, das fuehrt zu Problemen. Wie wolltest du von deinem Knoppix gebooteten Windowsrechner denn auf die Festplatte deines LFS Rechners zugreifen? Welches OS soll auf dem dann laufen - wie wird es gebootet?


Kann man das denn dem GCC (bzw configure) irgendwie mitgeben, dass das System ein anderes per ethernet verbundenes ist, als das Hostsystem selber? - so ne Art halbes crosscompilen ueber Ethernet.. oje, ich seh schon... :rolleyes:
Wenn auf beiden Rechnern Linux laufen wuerde, dann kannst du prinzipiell deine LFS Partition auch ueber NFS mounten. Sowas hab' ich schon gemacht, um Zeit zu sparen, weil ein 486er sonst monatelang an einem LFS (ohne ein/ausschalten) kompiliert.
Da kriegt aber z.b. make oft Probleme, weil die Uhren der beiden Rechner nicht synchron laufen. Damit das sauber geht, muesstest du dann zusaetzlich noch vor dem LFS bauen NTP einrichten.

Ansonsten kann man configure auch andere Targetsysteme angeben, um z.b. richtige crosscompiler (also einen gcc, der auf dem PC laeuft, aber z.b. binaries fuer eine dbox2 erzeugen kann). Das wird aber dann in der Praxis auch immer zu recht unangenehmen patch-orgien.


Naja, vllt haste ja nen Link dazu? Ansonsten, evtl bekomm ich irgendwo nen Laufwerk fuer die Dockingstation her, das waere wohl der einfachste Weg.
Nee, link habbich leider keinen richtigen. Bei LFS gibts noch so'ne Abteilung "Hints", da gabs afair mal was, um auf einem anderen Rechner ein LFS zu bauen. Das solltest du aber keinesfalls als erstes angehen. Guck' dass du irgendwoher die Dockingstation kriegst oder sonstwie dein System zum Booten eines anderen Linux ueberreden kannst.


Das mit dem aus- und einschalten hab ich jetz nich ganz begriffen, sry. Also ich kann prinzipiell immer ausschalten. Wenn ich keinen Bootloader habe, muss ich diese Aufgabe selber uebernehmen und vom Host aus, bei jedem Neustart (zuerst Host, dann Testrechner) erst diese Systemvariable von neuem setzen und dann die Mount-Befehle in entsprechender Reihenfolge?
Vergiss' erstmal die Sache mit den 2 Rechnern. Du hast nur einen. Auf dem bootet und laeuft irgendein Linux. Und du kannst von diesem Linux aus deine $LFS Partition(en) mounten.
Wenn du den jetzt waehrend dem LFS-Bau abschalten willst, musst du jenachdem in welchem Kapitel du gerade bist, ggf. erst den chroot verlassen, (pseudo)filesysteme umounten, die $LFS Partition(en) umounten (evtl. auch in anderer Reihenfolge), dann den Rechner runterfahren. Beim Wiedereinschalten dann wieder alles umgekehrt.


Ich weiss nicht wie lange ich zum compilieren des ganzen brauche, aber das liest sich irgendwie alles doch nach etwas laenger. Evtl wieder von neuem zu beginnen, plane ich sowieso ein. Uebung macht den Meister ;)

Ja, das geht eigentlich fast immer schief am Anfang. Und so gut wie immer, weil du irgendwas im LFS-Book nicht richtig ausgefuehrt hast.
Von den Compilezeiten her sind immer gcc (der mit c++ support) und glibc die dicksten Brocken bei LFS. Alles andere geht auf "normalen" Systemen angenehm zuegig. Aber dafuer gibt's ja im LFS Book die SBUs.

Gruss
WK

Fabeltier
30.09.07, 11:46
Danke fuer die ausfuehrlichen Antworten, ich werde mich die Woche mal weiter einlesen und es dann naechste Woche versuchen. Ich werde es versuchen ueber Knoppix direkt auf dem Rechner versuchen, entweder ueber externes USB Laufwerk oder evtl finde ich ne Moeglichkeit ueber Dockingstation.

Ich denke, es wird sicher sehr interessant werden herumzuexperimentieren und wird dann sicherlich noch ein paar WEs dauern, bis ich ein optimales System gefunden habe. Wie sieht es denn eig mit Compiler Optimierungen aus. So wie ich es verstehe wird im Manual etwas davon abgeraten.

Sind die Optimierungen wirklich so gering? Was bringen Compiler Optimierungen eigentlich? Gibt es Pakete, die man ruhig optimiert compilieren kann, v.a. bei den Tools (Tool chain) oder eben alles andere, nur ja nicht bei den Tools?

derguteweka
30.09.07, 12:38
Moin,


Wie sieht es denn eig mit Compiler Optimierungen aus. So wie ich es verstehe wird im Manual etwas davon abgeraten.
Mit Recht :)

Sind die Optimierungen wirklich so gering?
Alles was ueber -O2 rausgeht, bringt imho kaum mehr was, ausser dem Risiko, dass der Compiler "aus Versehen" zuviel optimiert, sprich: Code generiert, der nicht exakt das macht, was er machen sollte.

Was bringen Compiler Optimierungen eigentlich? Gibt es Pakete, die man ruhig optimiert compilieren kann, v.a. bei den Tools (Tool chain) oder eben alles andere, nur ja nicht bei den Tools?
Die meiste Rechenzeit beim LFS bauen wird wohl von gcc und binutils verbraten werden. Aber gerade da wird ja von "selbstgemachten" Optimierungen abgeraten. Bei allem anderen bringen sie so gut wie nix. Die meisten Geschichten werden eh schon standardmaessig mit -O2 oder mehr gebaut, wenn nicht, dann koennte das gute Gruende haben. Muss man dann halt im Zweifelsfall untersuchen, was recht aufwaendig sein wird.
Und was bringts, wenn ein ls oder mount oder sonst so ein Kommando jetzt tatsaechlich 20% schneller ist? Das merkt doch niemand wirklich.
Wenn in einer Software wirklich zeitkritische Geschichten drinnen sind, die von Optimierungen profitieren, dann hat i.a. der Entwickler der Software das auch schon selber gemerkt und entsprechend eingebaut.
Irgendwie ist das mit den Optimierungen so ein bisschen wie Alufelgen, blaue LEDs und Fuchsschwaenze an Autos :D

Gruss
WK

Fabeltier
30.09.07, 14:12
Alu-Felgen und Fuchsschwaenze.. lol, werd ich mir merken :)

Danke fuer die Antworten, soweit. Werd jetz mal wieder weiterlesen..