Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

toybox
Универсальная ("всё в одном") командная строка Linux

Тип файла: команда
  Рус  
Toybox 0.8.4-android multicall binary:  (see toybox --help) 
usage:  toybox [--long | --help | --version | [COMMAND] [ARGUMENTS...]]


With no arguments, "toybox" shows available COMMAND names. Add --long 
to include suggested install path for each command, see
/faq.html#install for details.

First argument is name of a COMMAND to run, followed by any ARGUMENTS
to that command. Most toybox commands also understand:

  • --help Show command help (only)

  • --version Show toybox version (only) The filename "-" means stdin/stdout, and "--" stops argument parsing. Numerical arguments accept a single letter suffix for kilo, mega, giga, tera, peta, and exabytes, plus an additional "d" to indicate decimal 1000's instead of 1024. Durations can be decimal fractions and accept minute ("m"), hour ("h"), or day ("d") suffixes (so 0.1m = 6s).
  • [ ToyBox ]    

    Комментарии
    Использование toybox

    Сборка toybox создает двоичный файл multicall, программу «швейцарский армейский нож», которая действует по-разному в зависимости от имени, под которым она была вызвана (cp, mv, cat...).
    Установка toybox добавляет символические ссылки для каждого имени команды в $PATH.
    Специальная команда «toybox» рассматривает свой первый аргумент как команду для запуска.
    Без аргументов он перечисляет доступные команды.
    Это позволяет использовать toybox без его установки.
    Это единственная команда, которая может иметь произвольный суффикс (отсюда и «toybox-armv5l»).
    Команда «help» предоставляет информацию о каждой команде (например, «help cat»).

    Настройка toybox

    Он работает как ядро Linux: allnoconfig, defconfig и menuconfig редактируют файл «.config», который выбирает, какие функции включить в результирующий двоичный файл. Вы можете сохранить и повторно использовать файл .config, хотя может потребоваться запустить «make oldconfig», чтобы повторно запустить преобразователь зависимостей при переходе на новые версии.
    Максимально разумной конфигурацией является «make defconfig»: allyesconfig не рекомендуется для toybox, поскольку он разрешает незавершенные команды и код отладки.

    Создание системы Linux на базе Toybox

    Toybox — это не полноценная операционная система, это программа, работающая под управлением операционной системы. Для загрузки простой системы в приглашение оболочки требуются три пакета: ядро операционной системы (Linux*) для управления оборудованием, одна или несколько программ для запуска системы (toybox) и библиотека C («libc») для их связывания. вместе (toybox был протестирован с musl, uClibc, glibc и bionic).

    Библиотека C является частью «цепочки инструментов», которая представляет собой интегрированный набор компилятора, ассемблера и компоновщика, а также стандартные заголовочные файлы и библиотеки, необходимые для создания программ на C. (И различные двоичные файлы, такие как nm и objdump.)
    Статическая компоновка (с параметром --static) копирует содержимое разделяемой библиотеки в программу, в результате чего получается более крупная, но более переносимая программа, которая может работать, даже если это единственный файл в файловой системе. В противном случае "динамически" компонуемые программы требуют, чтобы файлы библиотеки присутствовали в целевой системе ("man ldd" и "man ld.so" для подробностей).

    Примером системы на основе Toybox является Aboriginal Linux:
    http://landley.net/aboriginal/about.html

    Он предназначен для работы под управлением qemu, эмулируя несколько различных аппаратных архитектур (x86, x86-64, arm, mips, sparc, powerpc, sh4). Каждый выпуск toybox проходит регрессионное тестирование путем сборки Linux From Scratch в рамках этой системы на основе toybox для каждой поддерживаемой архитектуры с использованием QEMU для эмуляции систем с прямым порядком байтов и прямым порядком байтов с разным размером слова и требованиями к выравниванию. (Конечная цель — заменить Linux From Scratch проектом Android с открытым исходным кодом.)
  • Или что-то, предоставляющее тот же API, например уровень эмуляции Linux во FreeBSD.