Oops 0 25 августа, 2011 Опубликовано 25 августа, 2011 (изменено) · Жалоба Здравстуйте! Пользуясь руководством http://xilinx.wikidot.com/microblaze-linux , скомпилировал Linux ( http://git.xilinx.com/ ) для процессора Microblaze на плату ml505. Linux стартует и работает нормально. Использую тотже кросскомпилятор, которым компилирова ядро Linux для компиляции программы: #include <stdio.h> #include <stdlib.h> int main ( void ) { printf("Hello world!!!\n"); return 0; } Программа компилируется без ошибок, делее используя tftp загружаю программу на плату, запускаю ее: /usr# ls /usr# tftp -g -r hello 192.168.224.205 tftp: using blksize 512 using server '192.168.224.205:69', remote_file 'hello',local_file 'hello' /usr# ls hello /usr# ./hello /bin/sh: ./hello: Permission denied /usr# chmod +x ./hello /usr# ./hello /bin/sh: ./hello: not found /usr# ls -all drwxr-xr-x 2 0 0 0 Jan 1 04:45 . drwxrwxrwx 12 10042 2223 0 Jan 1 04:33 .. -rwxr-xr-x 1 0 0 6868 Jan 1 04:45 hello Почемуто система не видит исполняемые файлы (. Скрипты запускаются и выполняются нормально. Может кто сталкивался с такой проблемой, подскажите как быть... Изменено 25 августа, 2011 пользователем Oops Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oops 0 26 августа, 2011 Опубликовано 26 августа, 2011 · Жалоба Здравствуйте! Хорошо погуглив нашел решение проблемы тут: http://forums.xilinx.com/t5/Embedded-Linux...pile/td-p/39594 просто добавил опцию --static Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xor.kruger 0 4 января, 2012 Опубликовано 4 января, 2012 · Жалоба Если не использовать static, то необходимо readelf'оф посмотреть какие используются библиотеки и потом подсунуть их rootfs. Например: префикс-кросскомпилятора-readelf -a имя_файла | grep "Shared library" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться