MotoFan.Ru — все для Motorola > Гаджеты от Motorola > Motorola на Linux

Консольные приложения Полная версия
Страницы: 1, 2, 3

 av DDA-E398

 6.10.2011, 12:48

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

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

Bash 4.1.0 Нажмите для просмотра прикрепленного файла
p7zip 9.20 Нажмите для просмотра прикрепленного файла
Lame 3.98.4 Нажмите для просмотра прикрепленного файла
Ntpdate Нажмите для просмотра прикрепленного файла
Busybox 1.19.2 Нажмите для просмотра прикрепленного файла
Init_gprs Нажмите для просмотра прикрепленного файла
Shc Нажмите для просмотра прикрепленного файла

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

Требуется помощь в компиляции FFMpeg, Streamripper и Calc.

 av DDA-E398

 4.11.2011, 15:54

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


Обновлены:
lame 3.99 Нажмите для просмотра прикрепленного файла
p7zip 9.20 Нажмите для просмотра прикрепленного файла


Добавлены:
ffmpeg (автор порта EXL) Нажмите для просмотра прикрепленного файла
id3tool Нажмите для просмотра прикрепленного файла
ctorrent Нажмите для просмотра прикрепленного файла


 av K()t

 4.11.2011, 16:24

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

 av DDA-E398

 4.11.2011, 18:28

По моей просьбе EXL скомпилил ещё и Streamripper Нажмите для просмотра прикрепленного файла

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

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


Новая версия lame и в p7zip добавил 7za и 7zr

 av DDA-E398

 5.11.2011, 6:56

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

php 5.3.8 Нажмите для просмотра прикрепленного файла
python 2.7.2 Нажмите для просмотра прикрепленного файла

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


Назначьте меня куратором данной темы. Нужно поправить первый пост.

 av VINRARUS

 20.9.2016, 23:16

Самому скомпилить Busybox не удалось, по этому взял готовый с 4где, вроде работает. smile.gif

 av 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


В теории должен работать немного быстрее.

 av 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]

 av 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

 av 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'ов оптимизации.

 av EXL

 26.9.2016, 17:07

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

https://sourceforge.net/projects/motozinezn...rc.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).

 av 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 и других полезных прог.

 av VINRARUS

 9.1.2018, 22:43

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

СКАЧАТЬ:

 av fill.sa

 11.1.2018, 9:14

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

 av VINRARUS

 11.1.2018, 21:30

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

Глупость, "busybox cd" не работает.
Запуск любой команды через busybox в десятки-сотни раз мадленнее чем встроенная из за тормозной процедуры запуска нового процеса ядром ОС. Именно по этому я просил Икселя написать zInterval.

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

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

 av fill.sa

 12.1.2018, 20:16

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

 av VINRARUS

 12.1.2018, 20:59

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

Шо до баша то вот его внутренние команды аналогичные из busybox, то есть капля в море.
Код
env
printf
pwd
test
false
true

 av 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]

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

 av 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

 av fill.sa

 13.1.2018, 16:12

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

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

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

Страницы: 1, 2, 3

Полная версия:


MotoFan.ru (©) 2020    Слушать Radio