2015-03-18 5 views
1

Я скомпилировал Linux для NiosII. У меня есть файловая система в ОЗУ. Я использую busybox, buildroot для создания файловой системы. Затем ядро ​​скомпилируется с ранее созданной файловой системой.Linux для встроенных систем | NiosII

После Linux запускается при запуске команды, как LS (так как я хотел, чтобы перечислить директории в текущей папке) он вызывает SEGV (ошибки сегментации)

dtlinux login: root 
Password: 
login[547]: root login on 'ttyJ0' 

BusyBox v1.23.1 (2015-03-17 16:38:07 CDT) hush - the humble shell 
Enter 'help' for a list of built-in commands. 

~ # ls 
SEGV 
~ # 

У меня нет никаких других программ, разработанных мной в система. Я просто пытаюсь BusyBox 1.23.1 с молчанием

Если я бегом помощи это происходит:

~ # help 
Built-in commands: 
------------------ 
.   Run commands in a file 
bg  Resume a job in the background 
break  Exit from a loop 
... 
... (I shortened this it was to long to post) 
... 
wait  Wait for process 
~ # 

Это заставляет меня думать, что BusyBox был составлен правильно.

Неужели кто-нибудь сталкивался с подобной проблемой?

+0

Пожалуйста, измените вопрос, чтобы улучшить его. –

+0

Я попытался сейчас отредактировать это лучше: D Базиле Старинкевич. Надеюсь, теперь это выглядит лучше. –

+0

Есть ли другая команда, которая работает? Если вы просто запускаете «busybox», это также приводит к ошибке сегментации? Возможно, у вас не хватает памяти? – Arnout

ответ

1

Да, программа ls, вероятно, сбой возможно на undefined behavior, с segmentation violation. Убедитесь, что ls не является встроенной (возможно, с which ls или с помощью echo $PATH)

Возможно, ваш libc (или команда ls, от coreutils возможно) был misbuilt (или динамический вопрос сшивание).

Попробуйте (перекрестно) скомпилировать какую-то статически связанную программу (возможно, даже некоторую hello world), затем попробуйте скопировать эту программу в целевую систему и запустить ее. Если он запускается, это означает, что ядро ​​может обслуживать некоторые системные вызовы и может предложить неверно построенный libc или проблему динамической компоновки.

(я надеюсь, что вы работаете в Linux на рабочем столе, так как вы должны быть знакомы с Linux для отладки проблемы)

+0

Я хотел быть очень кратким в проблеме, с которой я столкнулся. Однако я могу предоставить информацию, которую вы хотите. У меня нет программы, кроме busybox в моей системе. Я запускаю только ls, так как я хотел бы перечислить каталоги в текущей папке. Это меня разочаровывает, потому что я просмотрел и попытался исправить это только через различные настройки для busybox и ядра. –

Смежные вопросы