Erstellen von GCC innerhalb eines Chroots aus dem Quellcode

Erstellen von GCC innerhalb eines Chroots aus dem Quellcode

In einer früheren Frage habe ich nach der Erstellung eines Chroots gefragt, der meine eingebettete Geräteumgebung simuliert. Es wurde vorgeschlagen, dass ich zuerst aus den Quellcodes GCC und Binutils in meinem Chroot baue. Um dies zu versuchen, habe ich die Version der libc- und gcc-Binärdatei auf meinem Hostcomputer in das Chroot kopiert. Dann habe ich ein einfaches Hallo-Welt-Programm in eine Datei test.c geschrieben und versucht, es in meinem Chroot wie folgt zu bauen

  phil@phil-desktop:/usr$ sudo chroot /usr/embedded_chroot1/
  bash-4.2# gcc test.c 
  gcc: error trying to exec 'cc1': execvp: No such file or directory

Ich bin mir nicht ganz sicher, was hier mit diesem Fehler los ist. Ich habe die GCC-Binärdatei und die Libc in mein Chroot kopiert, warum kann ich also nicht kompilieren? Muss ich auch alle Systemquell- und Headerdateien in mein Chroot kopieren?? Ich glaube, ich habe ein konzeptionelles Missverständnis hinsichtlich des gesamten Prozesses der Verwendung eines Chroot.

Antwort1

Der gcc-Build kann sich selbst booten, ohne dass ein Compiler auf dem System vorhanden ist. Sie sollten in der Lage sein,herunterladenund entpacken Sie gcc und erstellen Sie es in Ihrem Chroot, ohne etwas von außen kopieren zu müssen. Es ist eine Weile her, seit ich das gemacht habe, aber ich erinnere mich, dass es ziemlich schmerzlos war.

Schaue auf dieBuild-Anweisungen für GCC, die diesen Prozess detailliert beschreiben. Sie möchten einen nativen Compiler erstellen und alle Schritte sollten in Ihrem Chroot ausgeführt werden, damit gcc so erstellt wird, dass es zu diesem System passt.

verwandte Informationen