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: Комментарии Сборка 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 с открытым исходным кодом.) |