Forum: PC-Programmierung BusyBox, Programm installieren


von BusyBoy (Gast)


Lesenswert?

Hallo,

ich habe auf einer Embedded-Plattform ein kleines Linux BusyBox laufen.

Jetzt wollte ich grundlegende Programme "hinzufügen", wie 'make' oder 
'm4'.

Dafür habe ich erst mal 'make' und 'm4' cross-compiliert und in /usr/bin 
des embedded rootfs kopiert.

Trotzdem kann BusyBox damit nichts anfangen:
1
> cd /usr/bin
2
> ls | grep m4
3
m4
4
> ./m4
5
-/bin/ash: ./m4: not found


Da BusyBox wohl eine einzelne Executable ist, frage ich mich, ob das so 
überhaupt gehen kann?
Kann ich irgendwo was reinschreiben, so das BusyBox 'm4' findet?
Oder muss ich BusyBox für jedes neue Programm komplett neu bauen?

von Peter II (Gast)


Lesenswert?

vermutlich ist einfach das execute bit nicht gesetzt.

von BusyBoy (Gast)


Lesenswert?

Peter II schrieb:
> vermutlich ist einfach das execute bit nicht gesetzt.

1
$ ls -l
2
-rwxr-xr-x    1 1000     1000        736609 Nov 12 11:52 m4
3
-rwxr-xr-x    1 1000     1000        584064 Nov 12 11:02 make
4
lrwxrwxrwx    1 1000     1000            17 Nov 14  2014 md5sum -> ../../bin/busybox

Trotzdem Danke.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Was sagen

$ file /usr/bin/m4
$ LD_TRACE_LOADED_OBJECTS=1 /usr/bin/m4

Matthias

von Operator S. (smkr)


Lesenswert?

versuchs mal direkt mit der shell und dem ganzen Pfad auszuführen
1
$ ash /usr/bin/m4
oder bash oder sh statt ash...

von BusyBoy (Gast)


Lesenswert?

Operator S. schrieb:
> versuchs mal direkt mit der shell und dem ganzen Pfad auszuführen$
> ash /usr/bin/m4
> oder bash oder sh statt ash...

Ja, das funktioniert.
1
> ash /usr/bin/m4
2
/usr/bin/m4: line 1: syntax error: unexpected word (expecting ")")

Wie zauber ich das jetzt am schönsten?
So: export m4='ash /usr/bin/m4' ???

Aber 'ne richtig dauerhafte, stabile Lösung ist das ja nicht.

von guest (Gast)


Lesenswert?

Operator S. schrieb:
> versuchs mal direkt mit der shell und dem ganzen Pfad auszuführen
>
1
> $ ash /usr/bin/m4
2
>
> oder bash oder sh statt ash...

m4 ist eine binary. Da hilfts nix die Shell davor zu schreiben.

Und export erstellt eine Systemvariable, wenn dann wärs alias.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.