реклама на сайте
подробности

 
 
> BusyBox для чайника
Огурцов
сообщение Oct 30 2008, 04:42
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



В общем, придумал я себе новую, весьма интересную задачу - разработку приложения "Hello world" для какого-нибудь 32-битного проца. К которой давно присматривался, но все никак не хватало смелости. Но надо же когда-то начинать). Поскольку знаний примерно ноль, процесс пойдет мучительно, на что не обращайте внимания.

Из каких-то смутных соображений выбран cygwin http://cygwin.com/ для среды разработки, macraigor http://www.macraigor.com/full_gnu.htm для компиляторов и отладчиков, и busybox http://busybox.net/ в качестве платформы для моего приложения, исходники которого я уже украл отсюда http://busybox.net/~landley/ols2006.

Конечно, м.б. есть более простой путь для любителя Windows, но я его пока не нашел. А пока все это скачивается-перекачивается, появилась первая затыка - cygwin не запускается, вываливается с сообщением "cygintl-8.dll не был найден". Cygwin с дефолтовыми установками сначала скачивался на локальный диск, а затем устанавливался. Сейчас решил перезалить полную версию - может быть это поможет.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 28)
?ELF
сообщение Nov 1 2008, 18:13
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 8-09-06
Из: Россия, Челябинская область
Пользователь №: 20 187



Цитата(Огурцов @ Oct 30 2008, 09:42) *
Конечно, м.б. есть более простой путь для любителя Windows, но я его пока не нашел.

Попробуйте связку Windows + QEMU (если планируете писать "Hello, World" не только для x86 платформ ) + Linux (на виртуальной машине под QEMU + BusyBox там же).

Или Windows + VirtualBox (или VMware Workstation или VMware Server) + Linux (на виртуальной машине + BusyBox там же).

---
С такими вещами, как busybox, по-моему, лучше разбираться и работать в их родной среде -- Linux --> *nix.
Может, поначалу, всё покажется сложным и непривычным.
Но "оно того стоит". smile.gif


--------------------
do ut des
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 2 2008, 00:34
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



"Hello, World" - только не для x86.
Линухи (пока) живут под VMware. В принципе, под qnXы, линуХы, etc есть отдельный диск. Если (вдруг) под линухом окажется так же удобно работать, как под win, может быть переберусь под него. Вопросы лицензионности win в даннном случае не критерий - все куплено.
Почитал про QEMU - возможно да, попробую. Пока нужно как-то запустить Cygwin.
На днях поставил несколько линухов, больше всего понравился ubuntu. Но GCC и иже с ним в ubuntu я не нашел.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 2 2008, 02:06
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Вот тут подсказали, что GCC в Ubuntu есть. Он и правда запускается, хотя файло я не нашел. Наверно так же, как и с пингом и трейсроутом - файло отсутствует, а пинговать можно. Шаманы.
Вот еще дали линку на IDE http://www.codeblocks.org/downloads/5 - судя по картинкам - то, что надо.

Сообщение отредактировал Огурцов - Nov 2 2008, 02:17
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 2 2008, 16:49
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Не успеваю качать. Вот еще линка, должно быть интересная http://monodevelop.com/Main_Page - похоже система аля MS FrameWork+C#
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 5 2008, 09:35
Сообщение #6


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Огурцов @ Nov 2 2008, 05:06) *
Вот тут подсказали, что GCC в Ubuntu есть. Он и правда запускается, хотя файло я не нашел. Наверно так же, как и с пингом и трейсроутом - файло отсутствует, а пинговать можно. Шаманы.

Изучите содержимое каталогов:
/bin; /usr/bin; /sbin, есть еще интересные каталоги. Шаманство пройдет. Документация по GCC вполне достаточная для работы. Полезно прочитать руководство по make.
Для KDE среда разработки Kdevelop часто используется.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 5 2008, 17:51
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Против шаманства нужно было установить пакет build-essential.
Mono тоже с бубном устанавливался - на сайте в хелпе sudo apt-get install monodevelop, а в реале -
mono mono-gmcs mono-gac mono-utils monodevelop monodoc-browser monodevelop-nunit monodevelop-versioncontrol
Вот еще пара линков, как его ставить:
http://www.mono-project.com/Other_Download...cial_Packages_2
http://directhex.mfgames.com/hardy.html

Еще одно IDE: http://www.eclipse.org/ - вроде бы ничотак, но тормозит. И пока только жаба. Как подключить C++, а тем более дргие платформы еще не понял.

Другими словами, сейчас компилится и пущается _из под IDE_ GCC, C#, JAVA.
Но есть затыка. Как в линухе запускают приложения с консоли ? Т.е. получился, например, файл demo (тип исполняемый) в каталоге demo/bin/Debug с атрибутами -rwxr-xr-x 1 username username 7203 дата время. Какое нужно заклятие, чтобы он запустился ?
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 5 2008, 18:14
Сообщение #8


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Огурцов @ Nov 5 2008, 20:51) *
Еще одно IDE: http://www.eclipse.org/ - вроде бы ничотак, но тормозит. И пока только жаба. Как подключить C++, а тем более дргие платформы еще не понял.


Есть ветка GNU, Eclipse и др., где Eclipse обсуждается. Прикручивается любой компилятор с помощью makefile.

Цитата
Другими словами, сейчас компилится и пущается _из под IDE_ GCC, C#, JAVA.
Как в линухе запускают приложения с консоли ? Т.е. получился, например, файл demo (тип исполняемый) в каталоге demo/bin/Debug с атрибутами -rwxr-xr-x 1 username username 7203 дата время. Какое нужно заклятие, чтобы он запустился ?

Атрибуты файла можно выставить через makefile. В нем можно указать необходимые команды для обработки.

./demo - запуск из текущего каталога, но надо иметь права на запуск у пользователя.

В общем любая книга по Linux/Unix в помощь. (или RTFM smile.gif )


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 5 2008, 18:37
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mdmitry @ Nov 5 2008, 18:14) *
./demo - запуск из текущего каталога, но надо иметь права на запуск у пользователя.

О! Персональное спасибо! Буду сегодня спать спокойно - сабж заработал. Полдела сделано. Теперь начинается вторая половина - чтобы оно заработало на таргете.

Цитата(mdmitry @ Nov 5 2008, 18:14) *
В общем любая книга по Linux/Unix в помощь. (или RTFM smile.gif )

RTFM - как много в этом звуке...

Сообщение отредактировал Огурцов - Nov 5 2008, 18:38
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 10 2008, 18:57
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Hello World в Cygwin
http://www.e-zine.excode.ru/online/2/cygwi...in_windows.html


Битва продолжается:
Цитата
$ ./gcc.exe hello_world.c -o hello_world.exe
gcc: error trying to exec 'cc1': execvp: No such file or directory

Вообще, cc1.exe есть, но в другой папке - нужно наверно как-то конфигурировать. В makefile`ах такого параметра (еще) не видел.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 10 2008, 20:51
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Интересный документик: cygwin/usr/local/info/configure.info Наихудшие опасения про иксы подтверждаются. Если не превзойдены.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 11 2008, 12:21
Сообщение #12


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Код

./gcc.exe hello_world.c -o hello_world.exe

Это не запуск make, это руками. "Штатное" использование make: make или make makefile и возможно указание цели запуска (make all; make clean и др.) Найдите в примерах makefile и отредактируйте под свою задачу. В Winavr есть хороший пример для сборки. О работе make были обсуждения в ветке про GNU tools.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Nov 11 2008, 13:16
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Огурцов @ Nov 11 2008, 00:51) *
Интересный документик: cygwin/usr/local/info/configure.info Наихудшие опасения про иксы подтверждаются. Если не превзойдены.
А что такое?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 11 2008, 21:40
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Чувствую себя полным дауном )


Цитата(mdmitry @ Nov 11 2008, 12:21) *
Это не запуск make, это руками.

Эт понятно. Не понятно, можно ли в makefile прописать пути или это нужно делать через configure ? Пока я вижу решение в лоб - выкинуть дефолтовый gcc&co и заменить на кросс.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 12 2008, 10:18
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Заменил оригинальные файлы на кроссовые - gcc уже работает. Не работает ld:
Цитата
ld: crti.o: No such file: No such file or directory

Интересно, что crti.o вообще нет никакого в cygwin, хотя поставил вроде бы весь. Нашел его в баунти-8.0.4, но он, вероятно, для i386. Нашел crti.S в uClibc, как собриать - не известно, под cygwin (уже?) не собирается.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 12 2008, 10:47
Сообщение #16


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Огурцов @ Nov 12 2008, 13:18) *
Заменил оригинальные файлы на кроссовые - gcc уже работает. Не работает ld:

Интересно, что crti.o вообще нет никакого в cygwin, хотя поставил вроде бы весь. Нашел его в баунти-8.0.4, но он, вероятно, для i386. Нашел crti.S в uClibc, как собриать - не известно, под cygwin (уже?) не собирается.

Правильно устанавливать кросс-компилятор, а не менять.
Задачу проясните поподробнее. Например, 32-бит ARM9, для которого есть кросс-средства. Если просто под linux что-то писать, то логичнее под ним все и делать. Практически в любом дистрибутиве идут средства разработки для используемой платформы.
uClibc это системная библиотека, ориентированная на микроконтроллеры.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 12 2008, 11:28
Сообщение #17


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Нашел crti.S


Ооо, да, большая буква S smile.gif

Когда хелловорлд надоест и задумаете собрать ядро линуха для Вашего таргета под цигвином, будете весьма огорчены - изобретатели тамошнего (линухового) процесса сборки решили, что будет нифигово иметь файлы .S и .s - конечно, для винды (и цигвина) это один и тот же файл, и как следствие - ничего не собирается. Я понасиловал make-файл пару дней на предмет избавления от регистрозависимости да так и бросил.

Это так, информация к размышлению...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 12 2008, 12:19
Сообщение #18


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Rst7 @ Nov 12 2008, 14:28) *
Когда хелловорлд надоест и задумаете собрать ядро линуха для Вашего таргета под цигвином, будете весьма огорчены - изобретатели тамошнего (линухового) процесса сборки решили, что будет нифигово иметь файлы .S и .s - конечно, для винды (и цигвина) это один и тот же файл, и как следствие - ничего не собирается. Я понасиловал make-файл пару дней на предмет избавления от регистрозависимости да так и бросил.

Это так, информация к размышлению...

Полностью присоединяюсь к высказыванию, опыт был печальный при переносе с win на linux в названиях заголовочных файлов из стандартной библиотеки.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 12 2008, 12:32
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Огурцов @ Nov 12 2008, 12:18) *
Заменил оригинальные файлы на кроссовые - gcc уже работает. Не работает ld:

Интересно, что crti.o вообще нет никакого в cygwin, хотя поставил вроде бы весь. Нашел его в баунти-8.0.4, но он, вероятно, для i386. Нашел crti.S в uClibc, как собриать - не известно, под cygwin (уже?) не собирается.

Боюсь, Вы вообще не туда копаете.
Для компиляции программы gcc нужны ВСЕ ЕГО части + GLIBC для той-же платформы (это как минимум)
Под чем компилировать - вопрос отдельный, но не забывайте, что cygwin - это ЭМУЛЯТОР unix environment и он, естественно хуже чем unix. В том числе и Linux.
Если хотите программу под Windows/Cygwin - используйте то, что идет в самом Cygwin. Часто в Cygwin идут еще и MinGW. Иногда они конфликтуют.
Если хотите программу под, скажем, ARM9 Linux, то Вам НУЖЕН ПОЛНЫЙ кросскомпилятор GCC + GLIBC для ЭТОЙ платформы.
Он как правило имеет имя arm-linux-gcc, или arm-unknown-linux-gcc, или arm-uclibc-linux-gcc и тп.
Вместо GLIBC можно использовать uClibc или newlib.
Файл crt0.o - это часть libc (glibc, uClibc, newlib). libc должна быть скомпилирована ТЕМ ЖЕ компилятором, которым Вы компилируете программу.

Так что возмите КРОСС-компилятор для ARM9 ПОЛНОСТЬЮ.
Не знаю, есть ли такие под cygwin.

crt0.S - исходник на ассемблере требующий препроцессинга.
crt0.s - исходник на ассемблере после препроцессинга. Получают его из crt0.S. Примерно так
Код
gcc -E crt0.S -o crt0.s

В cygwin у Вас будут с этим проблемы. Часто неразрешимие. Потому как компилятор по регистру буквы (S или s) решает что с ним делать. На мелких проектах с малым количеством таких файлов можно долго и нудно править Makefile. На большых (с большим количеством таких файлов) - все равно не удастся отследить все проблемы.

Раз у Вас есть Linux в VMWare, то рекомендую там все и делать. Разумеется кросскомпиляторов в Ubuntu нет. Только родные.
Обычно в Linux компиляторы, и прочие программы нужные программисту не ставятся по умолчанию. Нужно доставить пакеты. Особенно пакеты в имени которых есть -dev. Это Development пакет, то есть содержищий заголовочные файлы, библиотеки с отладочной инфой, файлы crt0.o smile.gif и пр. нужное для компиляции.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
vshemm
сообщение Nov 12 2008, 14:23
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803



Кросскомпилятор ARM под цигвином есть: http://www.gnuarm.com/files.html
А тут описывается как его собирать: http://www.gnuarm.com/support.html
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 12 2008, 14:29
Сообщение #21


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Кросскомпилятор ARM под цигвином есть


Да гцц собирается. Ядро - хрен.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 12 2008, 22:13
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mdmitry @ Nov 12 2008, 10:47) *
Правильно устанавливать кросс-компилятор, а не менять.
Задачу проясните поподробнее. Например, 32-бит ARM9, для которого есть кросс-средства.

Ну да, согласен. Только это типа "хорошо быть богатым и здоровым".
Кросстулзов уже перепробавал. В частности, под Cygwin ставил Macraigor GNU Tools Suite for ARM. Но работает пока лишь так, как я написал выше.

Цитата(mdmitry @ Nov 12 2008, 10:47) *
Если просто под linux что-то писать, то логичнее под ним все и делать

Если бы. Таргет - в сабже. Писать что либо под ним в принципе нельзя. Или в лучшем случае это будет еще один круг в обход непосредственной цели - писать программу.

Как вариант "полноценного" линуса - баунти 8.04, под виртуальной машиной. Может, конечно, есть что-то и лучше, но этот первый и единственный, который поставился и работает так, как я от него ожидал.


Цитата(Rst7 @ Nov 12 2008, 11:28) *
Ооо, да, большая буква S

Да, грабельки. Жаль, но cygwin был бы более удобен, т.к. у него файловая система доступна через win, а значит доступны все привычные тулзы.


Цитата(amw @ Nov 12 2008, 12:32) *
Боюсь, Вы вообще не туда копаете.

Ага. Пока я не знаю, куда копать, поэтому копаю во все стороны.

Цитата(amw @ Nov 12 2008, 12:32) *
Код
gcc -E crt0.S -o crt0.s

Работает )


Цитата(vshemm @ Nov 12 2008, 14:23) *

О, да, наверно весьма полезный линк.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 13 2008, 07:29
Сообщение #23


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(vshemm @ Nov 12 2008, 14:23) *
Кросскомпилятор ARM под цигвином есть: http://www.gnuarm.com/files.html

Правильный компилер - поставился и скомпилил с полпинка, с нескольких пинков связал. yeah.gif

Сейчас вопрос с MIPSом. Если нечто подобно-рабочее для MIPSа ? С Macraigor`ом, как я понял, не все в порядке - вероятно, нужно его настраивать неподеццки.
У меня есть какой-то кросстулз, но там все файлы типа elf (внутри файла). Реально ли их запустить под тем же cygwin ?
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 13 2008, 20:16
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Огурцов @ Nov 13 2008, 00:13) *
Если бы. Таргет - в сабже.

В саббже нет таргета. там только есть слово BusyBox. А это не платформа. Это всего лиш просто программа. Можно его скомпилить для любой (почти) платформы.
Цитата(Огурцов @ Nov 13 2008, 09:29) *
Правильный компилер - поставился и скомпилил с полпинка, с нескольких пинков связал. yeah.gif

Сейчас вопрос с MIPSом. Если нечто подобно-рабочее для MIPSа ? С Macraigor`ом, как я понял, не все в порядке - вероятно, нужно его настраивать неподеццки.

Если у Вас таки MIPS платформа (и как я понимаю это MIPS Linux) то Вам может стоит посмотреть тут?
MIPS SDE Lite. http://www.mips.com/products/software-tools/ Пользуюсь немного. Это mips-elf таргет - для "софта без ОС".
И тут само собой. http://www.linux-mips.org/wiki/Main_Page
Для mips-linux мы используем собранный производителем процессора компилятор (текущий gcc-4.2) под Linux host.
Cygwin не пользуем.
Цитата
У меня есть какой-то кросстулз, но там все файлы типа elf (внутри файла). Реально ли их запустить под тем же cygwin ?

Нет. Cygwin эмулирует ТОЛЬКО окружение. Бинарная платформа PE (exe файлы, внутри MZ smile.gif ) Это скорее всего под Линукс host.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 13 2008, 20:54
Сообщение #25


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(amw @ Nov 13 2008, 20:16) *
В саббже нет таргета. там только есть слово BusyBox.

Это (не?)переводимая игра слов. В общем, BusyBox - ключевое слово, а платформы - пока нет. Или так: а платформы пока нет. Ищу, в общем.

Цитата(amw @ Nov 13 2008, 20:16) *
Если у Вас таки MIPS платформа (и как я понимаю это MIPS Linux) то Вам может стоит посмотреть тут?

Да, и я что-то даже качал. Но спасибо, что напомнили, в ворохе ссылок - попробую по второму кругу.
Go to the top of the page
 
+Quote Post
VDV
сообщение Nov 17 2009, 18:14
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 152
Регистрация: 18-03-06
Пользователь №: 15 366



кто-нибудь пробовал отправить сообщение через sendmail в busybox-е?

пишу строку (отправить с одного ящика на mail.ru на другой там же)
cat email.txt | sendmail -w 20 -S smtp.mail.ru -f from@mail.ru -aulogin -appass to@mail.ru

или
<email.txt sendmail -w 20 -S smtp.mail.ru -f from@mail.ru -aulogin -appass to@mail.ru

в файле email.txt написано
test email

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

версия: busybox 14.3
судя по коду должен передать поля To, затем послать DATA, затем поток stdin, пока не кончится

Цитата
> 2009/11/17 11:12:54.714149 length=6 from=0 to=5
NOOP\r
< 2009/11/17 11:12:54.733175 length=51 from=0 to=50
220 mail.ru ESMTP Tue, 17 Nov 2009 21:12:54 +0300\r
< 2009/11/17 11:12:54.737410 length=8 from=51 to=58
250 OK\r
> 2009/11/17 11:12:54.741252 length=11 from=6 to=16
EHLO none\r
< 2009/11/17 11:12:54.765051 length=118 from=59 to=176
250-mx75.mail.ru Hello none [195.131.192.186]\r
250-SIZE 31457280\r
250-8BITMIME\r
250-AUTH PLAIN LOGIN\r
250 PIPELINING\r
> 2009/11/17 11:12:54.773122 length=12 from=17 to=28
AUTH LOGIN\r
< 2009/11/17 11:12:54.796860 length=18 from=177 to=194
334 ...\r
> 2009/11/17 11:12:54.800690 length=10 from=29 to=38
....\r
< 2009/11/17 11:12:54.824892 length=18 from=195 to=212
334 ....\r
> 2009/11/17 11:12:54.828494 length=14 from=39 to=52
....\r
< 2009/11/17 11:12:54.861185 length=30 from=213 to=242
235 Authentication succeeded\r
> 2009/11/17 11:12:54.865406 length=26 from=53 to=78
MAIL FROM:<from@mail.ru>\r
< 2009/11/17 11:12:54.888926 length=8 from=243 to=250
250 OK\r
> 2009/11/17 11:12:54.900589 length=3 from=79 to=81
.\r
< 2009/11/17 11:12:54.924854 length=26 from=251 to=276
500 unrecognized command\r
sendmail: . failed
alpha:/ # < 2009/11/17 11:12:54.953403 length=40 from=277 to=316
421 mx75.mail.ru lost input connection\r


Сообщение отредактировал VDV - Nov 17 2009, 18:15
Go to the top of the page
 
+Quote Post
VDV
сообщение Nov 18 2009, 09:41
Сообщение #27


Частый гость
**

Группа: Участник
Сообщений: 152
Регистрация: 18-03-06
Пользователь №: 15 366



разобрался все-таки!

#!/bin/sh

cat << EOF | sendmail -w 20 -S smtp.server.adr:port -f from@mail.addr -auLOGIN -apPASS to@mail.addr

my message
EOF

Логин и пароль вводятся после -au и -ap без пробела.
Перед сообщением обязательна пустая строка!
После EOF обязателен перевод строки!
Go to the top of the page
 
+Quote Post
dronT78
сообщение Dec 31 2009, 11:53
Сообщение #28


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 19-11-05
Из: dront78@jabber.snc.ru
Пользователь №: 11 092



Попробуйте Tiny Core Linux под x86 с блекджеком и шлюхами BusyBox и "менеджером пакетов". Полученный опыт должен портироваться под любую архитектуру.


--------------------
Сколько волка не корми - слон все равно больше.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Jan 2 2010, 05:57
Сообщение #29


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(dronT78 @ Dec 31 2009, 13:53) *
Попробуйте Tiny Core Linux под x86 с

Блин... как-то раньше мимо него проходил. Дистрибутив - супер! Ничего лишнего, как говорится... Вот только ядро они не правильное выбрали... Хотя сколько там его пересобирать... За напоминание о том что есть такой дистр - спасибо!!!

Цитата(dronT78 @ Dec 31 2009, 13:53) *
блекджеком и шлюхами

Бендер? biggrin.gif (не Остап)


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 06:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.0172 секунд с 7
ELECTRONIX ©2004-2016