Originally Posted by
AndreyUA
Для своих скомпиленых программ есть папка other, смотрите там makefile. Для запуска при старте см. папку rc (services.c services_ex.c)
Что то у меня не совсем получается. У меня есть три файла которые лежат в папке others:
Code:
netserver - скомпиленая на роутере сишная прога
get_settings.sh
save_settings.sh
По аналогии вставил в /others/Makefile такие строчки
Code:
install -m 755 netserver $(INSTALLDIR)/usr/sbin/netserver
install -m 755 get_settings.sh $(INSTALLDIR)/usr/sbin/get_settings.sh
install -m 755 save_settings.sh $(INSTALLDIR)/usr/sbin/save_settings.sh
Все здорово, компилю прошивку, заливаю, захожу телнетом на роутер, делаю cd /usr/sbin, потом ls -l | grep netserver и вижу такую строку
Code:
-rwxr-xr-x 1 admin root 10876 Aug 2 11:20 netserver
Все вроде бы классно но при попытке написать ./netserver получаю такой ответ
Code:
[admin@WL-1caff7ae2f67 sbin]$ ls -l | grep netserver
-rwxr-xr-x 1 admin root 10876 Aug 2 11:20 netserver
[admin@WL-1caff7ae2f67 sbin]$ ./netserver
-sh: ./netserver: not found
[admin@WL-1caff7ae2f67 sbin]$
При том что get_settings.sh и save_settings.sh отрабатывают нормально. В чем мой косяк?
В общем разобрался в чем дело было.
По сколько я прогу компилил на роутере то он искал либы ld-uClibc.so.0 и libc.so.0 на роутере
в папке /opt/lib, а на момент запуска проги диск был не примонтрован и ниче не получалось.
Решение - компилить прогу на компе с помощью тулчейна.