Я использую busybox v1.27.2 во встроенной системе linux. Чтобы протестировать среду сборки своего пользовательского пространства, я кросс-скомпилировал простое приложение hello-world под названием «hello». В системе нет доступных библиотечных файлов, поэтому я статически связан с uClib c. Я подтвердил, что двоичный файл был построен правильно с использованием файла:
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
, когда я пытаюсь выполнить из целевого rootfs, я получаю следующее:
/ # ./hello
hello: applet not found
Я пытался выполнить из / usr / bin и другие каталоги, результат тот же. Я понимаю, что это сообщение может появиться, когда символические ссылки неправильно указывают на двоичный файл busybox. Однако я запутался, так как это приложение не должно зависеть от busybox. Любая помощь будет оценена.
Вот код для справки:
// C library headers
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
printf("hello world");
return 0;
}