PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Compiler auf der Box ausführen



tete
11.01.2005, 08:36:25
Unter http://www.kernel.org/pub/linux/libs/uclibc/root_fs_mips.bz2 kann man ein fertiges Root FS mit Entwicklungsumgebung für die Box runterladen, dass sich nach dem Entpacken mounten lässt.

Das Übersetzen von Programmen dauert wegen der mangelnden CPU- und IO-Leistung sehr lange. Für kleinere Projekte sollte es aber ausreichen.

Hier eine kurze Anleitung zur Inbetriebnahme (Datei auf Freigabe gespeichert):



# entpacken
bunzip2 /var/media/PC1/root_fs_mips.bz2
# Filesystem nach /root mounten
cd /
mount -t ext2 -o loop /var/media/PC1/root_fs_mips /root

# Quellen einbinden (hab ich noch nicht getestet)
mkdir /root/usr/src
mount --bind /var/media/PC/<Verzeichnis mit Quellen> /root/usr/src

chroot /root
mount /proc
# ab jetzt werden alle Programme von diesem Filesystem aufgerufen (Compiler etc.)
# mit 2xTAB werden alle Befehle anhezeigt
...
# Quellen sollten jetzt unter /usr/src zu finden sein
cd /usr/src
# zum übersetzen sollte man einen Blick in README oder INSTALL des Paketes werfen

# beenden
umount /proc
exit
umount -d /root

LinuxDoc
11.01.2005, 12:47:23
Das funktioniert echt enfach :-) nur man sollte das irgendwie über distcc machen, das die box wirklich sehr sehr langsam ist.

Bin grade dabei distcc zu überstzen....

LinuxDoc
11.01.2005, 13:18:50
Oha irgendwo läuft das speicher voll, nach einiger Zeit kommt "No space left on device"


sh-2.05b# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/loop0 91212 83427 5736 94% /
devpts 91212 83427 5736 94% /dev/pts
/dev/ram0 91212 83427 5736 94% /var
df: /data: No such file or directory
df: /var/media/PC1: No such file or directory
/dev/ram0 91212 83427 5736 94% /etc
/dev/loop0 91212 83427 5736 94% /
//192.168.6.2/vcr 63446016 57646080 5799936 91% /usr/quellen

tete
11.01.2005, 13:28:24
Was sagt df ohne chroot?

Wenn der Speicher nicht reicht (ramdisk voll), dann muss eine swap-Datei erstellt werden.



#64 MB swap einrichten
let size=1024*64
dd if=/dev/zero of=/var/media/PC1/swap bs=1024 count=$size
mkswap /var/media/PC1/swap
swapon /var/media/PC1/swap

LinuxDoc
11.01.2005, 13:40:35
sh-2.05# df
Filesystem 1k-blocks Used Available Use% Mounted on
rootfs 13968 13968 0 100% /
/dev/root 13968 13968 0 100% /
/dev/ram0 15863 143 14901 1% /var
/dev/mtdblock2 5888 3900 1988 66% /data
//192.168.6.2/vcr 63446016 57764864 5681152 91% /var/media/PC1
/dev/ram0 15863 143 14901 1% /etc
/dev/loop0 91212 83427 5736 94% /root
//192.168.6.2/vcr 63446016 57764864 5681152 91% /root/usr/quellen

und swapon will auch nicht :-( aber daran liegt es nicht, irgendwie ist das root dateisystem voll, das ist garnicht gut.


sh-2.05# let size=1024*64
sh-2.05# dd if=/dev/zero of=/var/media/PC1/swap bs=1024 count=$size
65536+0 records in
65536+0 records out
sh-2.05# mkswap /var/media/PC1/swap
Setting up swapspace version 0, size = 67104768 bytes
sh-2.05# swapon /var/media/PC1/swap
swapon: Invalid argument

LinuxDoc
11.01.2005, 15:34:35
So das Problem scheint wohl zu sein das irgendwann das root_fs_mips Image voll ist !

tete
11.01.2005, 15:37:56
Das root filesystem ist doch read-only gemountet. Wie soll das denn voll werden?

swapon hat gestern bei mir funktioniert. Es kann aber sein, dass intern /dev/loop0 benutzt wird. Das ist aber schon besetzt. Kann das leider jetzt nicht nachvollziehen (@work). Ich werde mal meine Platte partitionieren und die Dateisysteme direkt mounten.

tete
11.01.2005, 15:42:12
So das Problem scheint wohl zu sein das irgendwann das root_fs_mips Image voll ist !

Das hatte ich vorher schon auf 1GB erweitert. Deshalb hatte ich den Effekt nicht. Wo wird denn da was geschrieben?

LinuxDoc
11.01.2005, 15:44:52
Nur was ich halt nicht verstehe, ich habe die box erst neu geflasht, mit dem resultat, das immer noch "No space left on device" war.

Dann habe ich das mips image gelöscht und neu entpackt, seit dem ist wieder platz.

Die Verhaltensweise verwirrt mich auch etwas.


Naje distcc hab ich nun erst mal sein lassen und versuche mich jetzt mal mit pure-ftpd , mal schauen wann wieder "No space left on device" kommt.

EDIT:

@gambler schau doch mal in deine mailbox

sh-2.05# ./vsftpd
sh: ./vsftpd: cannot execute binary file

gambler
11.01.2005, 15:52:01
compilen auf der box halt ich, nuja, für etwas anstrengend langwierig....

@LinuxDoc, vsftd geht nicht, und wenn nicht was sacht er?
pure-ftpd htte ich auch schon versucht aber dann drangegeben...

tete
11.01.2005, 15:53:49
Ich mach jetzt Feierabend und probier mal samba.

LinuxDoc
11.01.2005, 16:19:18
So hab das image nun auch erweitert auf 1GB und nun gehts!

Lemmi
11.01.2005, 16:36:38
Das root filesystem ist doch read-only gemountet. Wie soll das denn voll werden?

swapon hat gestern bei mir funktioniert. Es kann aber sein, dass intern /dev/loop0 benutzt wird. Das ist aber schon besetzt. Kann das leider jetzt nicht nachvollziehen (@work). Ich werde mal meine Platte partitionieren und die Dateisysteme direkt mounten.


Hier gehts ja ab ... ich habe leider erst wieder am Wochenede richtig Zeit.

Mit dem Loop-Device habe ihc auch schon Probleme gehabt. Man kann sich aber noch ein paar dazu definieren: (Befehle aus dem Kopf, bitte verifizieren)
# mkdir /var/dev
# mknod /var/dev/loop1 b 7 1
# mknod /var/dev/loop2 b 7 2
...
# mknod /var/dev/loop7 b 7 7
# mount ... -o loop=/var/dev/loop5 ...

LinuxDoc
11.01.2005, 17:10:12
So, den vsftpd habe ich am laufen auf der Box, im Moment noch auf der chroot umgebung, das noch paar probs mit dem libs (libssl) gibt.

Gibt es eine einfache Möglichkeit einen static build zu machen?

Naja fürs erste werde ich die libs lokalisieren und herauskopieren.

Und kann mir jemand sagen mit welcher variable die lib folder definiert sind ? $LDPATH ist es wohl nicht und aus der /etc/profile werde ich auch nicht klüger.

tete
12.01.2005, 08:58:47
Samba läuft jetzt! (in der chroot-Umgebung). Ich hatte noch Probleme mit der secrets.tdb, aber anonymer Zugriff funktioniert (Die USB-Festplatte habe ich schon mal gemountet).

Als Quellen habe ich erst einmal die von Siemens genommen. Da ist aber einiges vermurkst. Zum Betrieb auf der Box reicht ja der smbd aus. Ich werde mal aus den aktuellen Sourcen eine Miniversion bauen.

tete
12.01.2005, 12:32:23
So das Problem scheint wohl zu sein das irgendwann das root_fs_mips Image voll ist !

Ursache ist das Verzeichnis .ccache im Home - Verzeichnis des Benutzers. Wenn dieses Verzeichnis auf der Platte liegt, dann sollte es funktionieren. Ein Verzeichniss von der Platte kann man ausserhalb der chroot-Umgenung (2. Session) mit "mount --bind /var/media/USB-HDD/root /root/root" jederzeit im laufenden Betrieb einhängen.

LinuxDoc
12.01.2005, 15:19:27
Ich habe mein 1GB großes Image mal zusammengepackt und mal auf meinen Server geschmissen, das gepackte Image ist ca 21,8MB groß.

Ach ja distcc habe ich auch gleich installiert, dann gehts flotter beim compilen (wenn man ihn aktiviert)

Image (http://www.2eier.de/m740av/image.tar.bz2)

Lemmi
25.01.2005, 19:55:21
Ich habe mein 1GB großes Image mal zusammengepackt und mal auf meinen Server geschmissen, das gepackte Image ist ca 21,8MB groß.

Ach ja distcc habe ich auch gleich installiert, dann gehts flotter beim compilen (wenn man ihn aktiviert)

Image (http://www.2eier.de/m740av/image.tar.bz2)@LinuxDoc
Ich wollt mich am Wochende auch mal an einem (Cross-)Compiler versuchen.
Auf dem Image ist alles drauf was man so braucht?

@LinuxDoc, Melange, kille, gambler, tete, ....
Gibt es sonst noch Empfehlungen für eine Entwicklungsumgebung?

kille
25.01.2005, 20:30:02
Hi,


Gibt es sonst noch Empfehlungen für eine Entwicklungsumgebung?
Jep, was gutes zu lesen, eine schmutzige Küche, aufwendiges Abendessen, Gartenarbeit, Promotion... halt alles, was einen ablenkt, während die Box rötert ;)

Kille

P.S. Ich nutz das Image von LinuxDoc
P.P.S. am besten gleich statisch kompilieren.

gambler
25.01.2005, 22:40:54
Gibt es sonst noch Empfehlungen für eine Entwicklungsumgebung?

hehe, viel geduld mit bringen ;)

ansonsten wuerd ich vor dem update von siemens nicht mehr viel zeit darein investieren. bei uclibc hat sich in den letzten monaten/wochen sehr viel getan. z.b. ein patch fuer dateien > 2gb, sowie weitere mips fixes. wuerde mich wundern wenn das nicht in die neue version mit einfliesst.

ansonsten kannst du beide wege gehen, das image mounten (ist current uclibc). oder das image von linuxdoc benutzen. kenn ich aber nicht.
einen cross-comp zu bauen ist auch nicht schwieriger. make-menuconfig macht es da einem schon leicht.

aber die binarys sind , nach changelog, nicht backward compatiebel zu uclibc 0.9.19. also alles static compelieren.

Lemmi
25.01.2005, 22:46:29
Vieleicht warte ich dann auch lieber auf eure Erfahrungen mit der neuen FW ;)