Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MotoFan.Ru - все для моторола _ Motorola на Linux _ Консольные приложения

Автор: DDA-E398 6.10.2011, 12:48

В теме выкладываем консольные приложения скомпиленные под наши моторы и обсуждаем проблемы связанные с компиляцией.

Консольные приложения под E2 (EZX):

Bash 4.1.0
Прикрепленный файл bash.7z   ( 270.3 килобайт ) Кол-во скачиваний: 140

p7zip 9.20
Прикрепленный файл p7zip.7z   ( 744.84 килобайт ) Кол-во скачиваний: 117

Lame 3.98.4
Прикрепленный файл lame.7z   ( 150.9 килобайт ) Кол-во скачиваний: 109

Ntpdate
Прикрепленный файл ntpdate.7z   ( 146.4 килобайт ) Кол-во скачиваний: 126

Busybox 1.19.2
Прикрепленный файл busybox.7z   ( 405.7 килобайт ) Кол-во скачиваний: 130

Init_gprs
Прикрепленный файл init_gprs.7z   ( 2.24 килобайт ) Кол-во скачиваний: 127

Shc
Прикрепленный файл shc.7z   ( 11.08 килобайт ) Кол-во скачиваний: 131


Не надо задавать вопросы тита: "А что это?", "Куда сулять-то?", "Как запустить и использовать?", "Я ваще где?".
Курим:
- http://www.opennet.ru/man.shtml
- http://www.google.ru/

Требуется помощь в компиляции FFMpeg, Streamripper и Calc.
Прикрепленный файл bash.7z   ( 270.3 килобайт ) Кол-во скачиваний: 140
Прикрепленный файл p7zip.7z   ( 744.84 килобайт ) Кол-во скачиваний: 117
Прикрепленный файл lame.7z   ( 150.9 килобайт ) Кол-во скачиваний: 109
Прикрепленный файл ntpdate.7z   ( 146.4 килобайт ) Кол-во скачиваний: 126
Прикрепленный файл busybox.7z   ( 405.7 килобайт ) Кол-во скачиваний: 130
Прикрепленный файл init_gprs.7z   ( 2.24 килобайт ) Кол-во скачиваний: 127
Прикрепленный файл shc.7z   ( 11.08 килобайт ) Кол-во скачиваний: 131

Автор: DDA-E398 4.11.2011, 15:54

Обновление от 04.11.11 для EZX


Обновлены:
lame 3.99
Прикрепленный файл lame.7z   ( 133.31 килобайт ) Кол-во скачиваний: 120

p7zip 9.20
Прикрепленный файл p7zip.7z   ( 1.35 мегабайт ) Кол-во скачиваний: 127



Добавлены:
ffmpeg (автор порта EXL)
Прикрепленный файл ffmpeg.7z   ( 1.81 мегабайт ) Кол-во скачиваний: 121

id3tool
Прикрепленный файл id3tool.7z   ( 4.88 килобайт ) Кол-во скачиваний: 121

ctorrent
Прикрепленный файл ctorrent.7z   ( 72.16 килобайт ) Кол-во скачиваний: 130




Прикрепленный файл lame.7z   ( 133.31 килобайт ) Кол-во скачиваний: 120
Прикрепленный файл p7zip.7z   ( 1.35 мегабайт ) Кол-во скачиваний: 127
Прикрепленный файл ffmpeg.7z   ( 1.81 мегабайт ) Кол-во скачиваний: 121
Прикрепленный файл id3tool.7z   ( 4.88 килобайт ) Кол-во скачиваний: 121
Прикрепленный файл ctorrent.7z   ( 72.16 килобайт ) Кол-во скачиваний: 130

Автор: K()t 4.11.2011, 16:24

А что нового в обновлении?

Автор: DDA-E398 4.11.2011, 18:28

По моей просьбе EXL скомпилил ещё и Streamripper
Прикрепленный файл streamripper.7z   ( 64.2 килобайт ) Кол-во скачиваний: 111


Цитата(K()t @ 4.11.2011, 19:24) *

А что нового в обновлении?


Новая версия lame и в p7zip добавил 7za и 7zr
Прикрепленный файл streamripper.7z   ( 64.2 килобайт ) Кол-во скачиваний: 111

Автор: DDA-E398 5.11.2011, 6:56

Обновление от 05.11.11

php 5.3.8
Прикрепленный файл php.7z   ( 927.49 килобайт ) Кол-во скачиваний: 150

python 2.7.2
Прикрепленный файл python.7z   ( 1.67 мегабайт ) Кол-во скачиваний: 154


Пытаюсь скомпилить calc... Никак не получается. Может кто-нибудь помочь?


Назначьте меня куратором данной темы. Нужно поправить первый пост.
Прикрепленный файл php.7z   ( 927.49 килобайт ) Кол-во скачиваний: 150
Прикрепленный файл python.7z   ( 1.67 мегабайт ) Кол-во скачиваний: 154

Автор: VINRARUS 20.9.2016, 23:16

Самому скомпилить Busybox не удалось, по этому взял готовый с 4где, вроде работает. smile.gif
Прикрепленный файл BusyBox_1.24.2.zip   ( 630.88 килобайт ) Кол-во скачиваний: 28

Автор: EXL 21.9.2016, 17:52

Цитата(VINRARUS @ Сегодня, 5:16)
* Самому скомпилить Busybox не удалось, по этому взял готовый с 4где, вроде работает.


А что не получалось? Сейчас ради интереса попробовал собрать 1.25.0 и 1.24.2, всё нормально собралось.

https://busybox.net/downloads/busybox-1.24.2.tar.bz2
https://busybox.net/downloads/busybox-1.25.0.tar.bz2

Конфиги и патчи прикрепляю.

Собирать так, 1.24.2:

Код

. ~/setenv-z6.sh
cd busybox-1.24.2/
patch -Np1 < ~/Downloads/busybox-motomagx/motomagx-umount-1.24.2.patch
cp ~/Downloads/busybox-motomagx/motomagx-config-1.24.2 .config
make
make install


1.25.0:

Код

. ~/setenv-z6.sh
cd busybox-1.25.0/
cp ~/Downloads/busybox-motomagx/motomagx-config-1.25.0 .config
make
make install


В _install, в директории с исходниками busybox будет лежать установленный busybox.

Кроме того, он собран с оптимизацией под процессор платформы, на которой базируется MotoMAGX-телефоны, то есть:

Код
-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -O2 -Os


В теории должен работать немного быстрее.
Прикрепленный файл busybox-motomagx.zip   ( 13.63 килобайт ) Кол-во скачиваний: 28

Автор: VINRARUS 22.9.2016, 13:14

Цитата(EXL @ Вчера, 20:52)
* А что не получалось?

Да я сконфигурировал на авто. pardon.gif
Цитата(EXL @ Вчера, 20:52)
* В теории должен работать немного быстрее.

А на практике наоборот медленнее. sad.gif
Несколько раз проверил, по этому погрешность особой роли не играет, частота фиксированная.
Прикрепленное изображение
test.sh
Код
#bu VINRARUS 2015
KO=7
K1=12345678
K2=91234567
KK=1
echo START...
while [ "$KK" -lt "1000" ]
do
    let K2=1+$K1+$KO+$KO*$KO/$KO*$KO*$K1/$KO/$K1*$K1+$KO*$KO/$KO*$KO*$K1/$KO/$K1/$K1+$KO*$KO/$KO*$KO*$K1/$KO/$K1*$K1+$KO*$KO/$KO*$KO*$K1/$KO/$K1/$K1+$KO*$KO/$KO*$KO/$KO/$K1+8

    case "$KO" in
    1)
        KO=6
;;
    2)
        KO=5
;;
    3)
        KO=9
;;
    4)
        KO=7
;;
    5)
        KO=4
;;
    6)
        KO=2
;;
    7)
        KO=3
        let KK=$KK+1
;;
    8)
        KO=1
;;
    9)
        KO=8
;;
    esac
done
[close]

Прикрепленный файл busybox_magx_1.24.2.zip   ( 508.2 килобайт ) Кол-во скачиваний: 22

Автор: VINRARUS 22.9.2016, 21:10

Цитата(EXL @ Вчера, 20:52)
* Попробуй тогда вместо -O2 в конфиге поставить -O3 и пересобрать.
Это агрессивная оптимизация

Даже размер тот самый, да и тест столько же занимает по времени.
Цитата(VINRARUS @ Сегодня, 16:14)
* А на практике наоборот медленнее.

Тю блин, там элементов 332 (даже sh нету), а тот шо я скомпилил 350. laugh.gif
А наш старый busybox_full (1.14.3) вообще тормознутый: real 0m 9.26s
Прикрепленный файл busybox_magx_1.24.2-O3.zip   ( 508.19 килобайт ) Кол-во скачиваний: 22

Автор: EXL 22.9.2016, 22:18

Цитата(VINRARUS @ Сегодня, 3:10)
*
Тю блин, там элементов 332 (даже sh нету), а тот шо я скомпилил 350.
А наш старый busybox_full (1.14.3) вообще тормознутый: real 0m 9.26s


В качестве бенчмарка попробуй тупо unzip или, наоборот, bzip2 на одном и том же архиве или на одном и том же наборе файлов, лучше несколькими прогонами, так как первый запуск может быть "холодным".

Или ещё можно посчитать тот же sha512sum / md5sum на каком-нибудь большом файле.

-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -O3 -Os это именно на алгоритмику идёт, а не на IO. Хотя это всё в пределах погрешности будет, наверное. Тут в основном для float'ов оптимизации.

Автор: EXL 26.9.2016, 17:07

fill.sa попросил меня помочь ему собрать стоковый busybox, вот как это делается.

https://sourceforge.net/projects/motozinezn5.motorola/files/MOTOZINE%20ZN5/R6637_G_81.03.0DR/busybox-1.01-1.0.2.custom.src.rpm/download

Первым делом качаем RPM-ку оригинального busybox'а, распаковываем её и архив с исходниками внутри.

Далее переходим в директорию с распакованными исходниками, и обязательно патчим их:

Код
cd busybox-1.01-1.0.2.custom.src/busybox-1.01/
for i in ../*.patch; do patch -Np1 < $i; done
patch -Np0 < ../busybox-1.01-insmod-usage.diff
patch -Np1 < ../busybox-getty.diff


Далее конфигурируем его

Код
cp ../busybox.config .config


Собираем:

Код
. ~/setenv-z6.sh
make CROSS_COMPILER_PREFIX="arm-linux-gnueabi-" CC="arm-linux-gnueabi-gcc"  STRIP=true STRIPTOOL=true DODEBUG=true oldconfig
make CROSS_COMPILER_PREFIX="arm-linux-gnueabi-" CC="arm-linux-gnueabi-gcc"  STRIP=true STRIPTOOL=true DODEBUG=true


И устанавливаем:

Код
mkdir -p _install/bin/
mkdir -p _install/etc/udhcpc/
mkdir -p _install/usr/share/udhcpc/
make PREFIX=`pwd`/_install install
cp ../udhcpc-default.script _install/usr/share/udhcpc/default.script
cp ../udhcpc-sample.bound _install/usr/share/udhcpc/sample.bound
cp ../udhcpc-sample.deconfig _install/usr/share/udhcpc/sample.deconfig


Забираем сборку в каталоге _install текущей директории.

Примечание, для сборки возможно нужна установленная библиотека ncurses

Код
sudo apt-get install libncurses-dev


Если будет ошибка, связанная с rpc/xdr.h, откройте файл motomagx/arm-eabi2/arm-linux-gnueabi/include/rpc/xdr.h и закомментируйте строки 294 и 296 (содержащие quad_t).

Автор: fill.sa 27.9.2016, 12:56

Цитата(EXL @ 26.9.2016, 18:07) *

fill.sa попросил меня помочь ему собрать стоковый busybox, вот как это делается.



Для удобства все команды засунул в скрипт run.sh . Ложить в распакованый rpm и запустить, тар архив сам распакуется и все собирется ,останется только забрать готовый файл.

Также в архив закинул патчи(кроме одного ненужного) от VE66 , так мы получим Release 1.0.2 .

Стоит упомянуть про файл busybox.config , в нем выбираем какие проги мы хотим запихать в наш busybox. По этой причине один патч от ve66 и неположил - там мооорола решила лишить нас swap и других полезных прог.
Прикрепленный файл autobuild_ve66.zip   ( 14.75 килобайт ) Кол-во скачиваний: 18

Автор: VINRARUS 9.1.2018, 22:43

GNU bash, version 4.4.12(1)-release (armv6l-unknown-none)
2017-10-13 года выпуска
Всё ещо удивляюсь откуда такой огромный размер у баша, если целый busybox на 300+ утилит весит почти в 2 раза меньше...

СКАЧАТЬ:
Прикрепленный файл bash-4.4.12-armv6l.zip   ( 820.37 килобайт ) Кол-во скачиваний: 1

Автор: fill.sa 11.1.2018, 9:14

VINRARUS,
Ты же вроди как знаком в чем суть бузибокса.
Учитывая что многие утилиты используют одинаковые функции, значит можно убрать повторяющиеся функции и использовать одну и туже. В итоге размер и сокращается.
Таже история и с втроеныеми командами в оболочки, оболочка разрастается за счет этих команда, а в бузибоксе если в оболочке вызвать cd или просто busybox cd, ты вызываеш одну и туже команду, т.е. убрано дублирование одной и тоже функции в оболочке и просто в команде.

Автор: VINRARUS 11.1.2018, 21:30

Цитата(fill.sa @ Сегодня, 11:14)
* а в бузибоксе если в оболочке вызвать cd или просто busybox cd, ты вызываеш одну и туже команду

Глупость, "busybox cd" не работает.
Запуск любой команды через busybox в десятки-сотни раз мадленнее чем встроенная из за тормозной процедуры запуска нового процеса ядром ОС. http://forum.motofan.ru/index.php?s=&showtopic=163337&view=findpost&p=1786359

Цитата(fill.sa @ Сегодня, 11:14)
* Таже история и с втроеныеми командами в оболочки, оболочка разрастается за счет этих команда

Не вижу в баше хотя б 5% функционала busybox.

Автор: fill.sa 12.1.2018, 20:16

VINRARUS,
Я забыл, что у тебя как обычно свой взгляд на мир. Даже не буду пытаться что-то обьяснять, если все знаеш - ищи ответы на свои вопросы сам.

Автор: VINRARUS 12.1.2018, 20:59

fill.sa, просто те для кого shell нужен лиш как запуск натива почему то не понимают влияние тормозной ОС (да Linux это тормоз) на задержки, а я с этим непосредственно столкнулся. Вот вы и не различаете запуск нового процеса или выполнение внутри оболочки действия аналогичного функционалу.

Шо до баша то вот его внутренние команды аналогичные из busybox, то есть капля в море.

Код
env
printf
pwd
test
false
true

Автор: fill.sa 13.1.2018, 6:29

Цитата(VINRARUS @ Вчера, 21:59)
* просто те для кого shell нужен лиш как запуск натива

ну shell Это вообще интерпритатор команд.
Цитата(VINRARUS @ Вчера, 21:59)
* не понимают влияние тормозной ОС (да Linux это тормоз) на задержки

Вообще разговор выше был про размер файлов, тебя удивляло, что бузибокс меньше, скорость работы это уже совсем другая тема.
Так вот ты спросил почему бузи меньше - я тебе и ответил.

Цитата(VINRARUS @ Вчера, 21:59)
* Шо до баша то вот его внутренние команды аналогичные из busybox, то есть капля в море.

Да как бы нет, вот список из родного бузибокса и то еще не факт что это все команды.
Список
"."
":"
"["
"alias"
"bg"
"break"
"cd"
"chdir"
"command"
"continue"
"echo"
"eval"
"exec"
"exit"
"export"
"false"
"fg"
"getopts"
"hash"
"help"
"jobs"
"kill"
"let"
"local"
"pidof"
"pwd"
"read"
"readonly"
"return"
"set"
"shift"
"test"
"times"
"trap"
"true"
"type"
"ulimit"
"umask"
"unalias"
"unset"
"wait"
[close]

И судя по мотороловским патчам, планировалось список расширять.

Автор: VINRARUS 13.1.2018, 16:07

Цитата(fill.sa @ Сегодня, 8:29)
* Да как бы нет, вот список из родного бузибокса и то еще не факт что это все команды.

Так это внутренние команды ash и sh.
bash их тоже имеет и немного сверху. От самого busybox большынство не запускается как утилита же. А я привел именно те которые выполняются как утилиты (echo забыл ещо):
Код
busybox имя_команды

Но это всё вообще не в тему, так как изначально говорилось о ВСЕХ утилитах busybox, таких как dd, sed, awk, grep, tar, unzip, wc, tr, yes... которыми обьясняется размер busybox.
А вот bash мало того шо почти ничего из этого не имеет так и весит в 2 раза больше.

Добавлено позже (13.1.2018, 18:10):
Я то понял шо busybox true и sh -c "true" ПОЧТИ одинаковый код в busybox используют, если ты не понял шо я понял, а то я не понял произошло ли это. blind.gif

Автор: fill.sa 13.1.2018, 16:12

Цитата(VINRARUS @ Сегодня, 17:07)
* Но это всё вообще не в тему,

Еще как в тему, я жетебе написал логику бузибокса и за счет чего бузибок уменьшают. И один из примеров

Цитата(fill.sa @ 11.1.2018, 10:14)
* Таже история и с втроеныеми командами в оболочки, оболочка разрастается за счет этих команда, а в бузибоксе если в оболочке вызвать cd или просто busybox cd, ты вызываеш одну и туже команду, т.е. убрано дублирование одной и тоже функции в оболочке и просто в команде.


Автор: VINRARUS 13.1.2018, 16:25

Цитата(fill.sa @ Сегодня, 18:12)
* Еще как в тему, я жетебе написал логику бузибокса и за счет чего бузибок уменьшают. И один из примеров

Я понимаю шо tar, например, внутри комбайна busybox в бинарнике будет намного меньше места занимать (если пощитать сколько байт припадает на функционал tarа) чем отдельная скомпилированая утилита tar.

Но вот почему баш так разжырел тогда? Ну нееееету там таких сверхсложных внутренних команд.

Добавлено позже (13.1.2018, 18:32):
Или есть и прячутся от меня? laugh.gif

Добавлено позже (13.1.2018, 18:47):
Код
bash-4.4.12/examples/loadables$ ls -1    
basename.c    
cat.c            
dirname.c          
finfo.c            
head.c            
hello.c            
id.c                
ln.c                
loadables.h        
logname.c                          
Makefile.in                                                                    
Makefile.inc.in            
mkdir.c                                            
mypid.c                                            
necho.c        
pathchk.c
perl
print.c
printenv.c
push.c
README
realpath.c
rmdir.c
setpgid.c
sleep.c
strftime.c
sync.c
tee.c
template.c
truefalse.c
tty.c
uname.c
unlink.c
whoami.c

Шо это за прикол? Как эти все утилиты внутри баша вызывать?
На sleep вызывается утилита из /bin...

Автор: fill.sa 13.1.2018, 18:00

Цитата(VINRARUS @ Сегодня, 17:25)
* Или есть и прячутся от меня?

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

Цитата(VINRARUS @ Сегодня, 17:25)
* Шо это за прикол? Как эти все утилиты внутри баша вызывать?

Возможно они попросту не задействованы при сборке. Нужно мэйки да и вообще код смотреть.

Да и вообще это вопросы к разработчикам баша, по бузибоксу я когда патчи переносил немного повникал и могу сказать, а что там в баше я хз.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)