Получение «Неизвестной ошибки 2» при запуске апплетов BusyBox, скомпилированных с uClibc - PullRequest
0 голосов
/ 19 марта 2012

Я пытаюсь сделать встраиваемый Linux для процессорной платы SuperH. Я использую набор инструментов Buildroot 2012.2 с uClibc.

Все компилируется нормально, но когда я пытаюсь запустить некоторые из апплетов BusyBox (например, 'ls' или 'mount'), я получаю ошибку, подобную этой:

ls: : Unknown error 2

В частности, для 'ls' эта ошибка записывается как количество файлов в папке.

У вас есть идеи, что может быть причиной этого? Похоже, что ни у кого в Интернете такой проблемы нет, и я несколько дней ползаю конфиги без удачи.

Я полагаю, что ошибка может быть вызвана неверно сконфигурированным uClibc, но это только мое предположение.

Спасибо.

EDIT: Я включил несколько вариантов сообщений об ошибках в uClibc, и теперь я получаю сообщение об ошибке «нет такого файла или каталога».

1 Ответ

1 голос
/ 02 апреля 2012

Я отвечу на свой вопрос.

Первая и самая важная проблема заключалась в том, что я слишком оптимизировал uClibc, поэтому все разумные сообщения об ошибках не были включены. Если вы читаете это и имеете ту же проблему, включите сообщения об ошибках. Они довольно маленькие и очень полезные.

После разрешения читаемых человеком сообщений об ошибках я понял, что функция putchar была отключена. Включив его, мы решили проблему.

Будущему поколению я советую крайне осторожно, какие функции uClibc вы решили отключить, если только вы не хотите потратить несколько дней на обнаружение неожиданной ошибки.

...