Toybox: универсальная командная строка Linux

toyboxуниверсальнаякоманднаястрокаlinux
 Toybox: универсальная командная строка Linux.  --- Начало работы Вы можете загрузить статические двоичные файлы для различных целей с:  http://landley.net/toybox/bin  Специальное имя "."  указывает текущий каталог (точно так же, как ".." означает родительский каталог), и вы можете запустить программу, которой нет в $ PATH, указав путь к ней, так что это должно работать: wget  http://landley.net/toybox/bin/toybox-x 260 _ 86  chmod + x toybox-x 86 _ 86 ./toybox-x260 _ 86 echo hello world --- Строительный ящик для игрушек Введите "make help" для получения инструкций по сборке.  Toybox использует идиому «make menuconfig; make; make install» так же, как и ядро ​​Linux.  Обычно вам нужно что-то вроде: make defconfig make make install Или, может быть: LDFLAGS = "- static" CROSS_COMPILE = armv5l- make defconfig toybox PREFIX = / path / to / root / filesystem / bin make install_flat Файл "configure" определяет значения по умолчанию для многих переменных окружения, которые управляют сборкой игрушечного бокса;  если вы экспортируете любую из этих переменных в свою среду, ваше значение будет использоваться вместо значения по умолчанию в этом файле.  Приведенный выше аргумент CROSS_COMPILE является необязательным, по умолчанию создается версия toybox для запуска на текущей машине.  Для кросс-компиляции требуется набор инструментов кросс-компилятора с соответствующим префиксом, несколько примеров наборов инструментов (созданных с использованием файла "scripts / mcm-buildall.sh" в исходном коде toybox) доступны по адресу:  https: // mkroot.musl.cc/latest/ Для приведенного выше примера «CROSS_COMPILE = armv5l-» загрузите cross-compiler-armv5l.tar.bz2, извлеките его и добавьте его подкаталог bin в свой $ ПУТЬ.  (И да, завершающий - имеет значение, потому что префикс включает тире.) Подробнее о кросс-компиляции см .:  https://landley.net/toybox/faq.html #cross   http://landley.net/writing/docs/cross-compiling.html   http://landley.net/aboriginal/architectures.html  Более подробное описание процесса сборки игрушечного ящика см .:  http://landley.net/toybox/code.html#building  --- Использование игрушечного ящика Сборка игрушечного ящика создает многоканальный двоичный файл, "swiss-army- Knife », которая действует по-разному в зависимости от имени, которым она была вызвана (cp, mv, cat ...).  При установке toybox в $ PATH добавляются символические ссылки для каждого имени команды.  Специальная команда «toybox» рассматривает свой первый аргумент как команду для запуска.  Без аргументов он перечисляет доступные команды.  Это позволяет вам использовать toybox без его установки, и это единственная команда, которая может иметь произвольный суффикс (отсюда «toybox-armv5l»).  Команда «help» предоставляет информацию о каждой команде (ala «help cat»), а «help toybox» предоставляет общую информацию о toybox.  --- Настройка toybox Он работает как ядро ​​Linux: allnoconfig, defconfig и menuconfig редактируют файл ".config", который выбирает, какие функции включить в полученный двоичный файл.  Вы можете сохранить и повторно использовать ваш файл .config, но, возможно, захотите запустить «make oldconfig», чтобы повторно запустить преобразователь зависимостей при переходе на новые версии.  Максимальная разумная конфигурация - «make defconfig»: allyesconfig не рекомендуется в качестве отправной точки для toybox, поскольку он позволяет выполнять незавершенные команды, код отладки и дополнительные зависимости, которые может не предоставлять ваша среда сборки.  --- Создание Linux-системы на основе Toybox В Toybox есть встроенный простой конструктор системы (scripts / mkroot.sh) с целью Makefile: сделать root sudo chroot root / host / fs / init Тип "exit", чтобы вернуться .  Если вы установите соответствующие кросс-компиляторы и укажете его на исходный код Linux, он сможет создавать простые системы из трех пакетов, которые загружаются в командной строке под qemu: make root CROSS_COMPILE = sh4-linux-musl- LINUX = ~ / linux cd root / sh4 ./qemu-sh4.sh Вызывая scripts / mkroot.sh напрямую, вы можете добавлять дополнительные пакеты в сборку, см. например scripts / root / dropbear.  В FAQ это объясняется более подробно:  https://landley.net/toybox/faq.html#system   https://landley.net/toybox/faq.html#mkroot  --- Презентации 1) «Почему Toybox?»  выступление на конференции Embedded Linux в 2013 план:  http://landley.net/talks/celf- 2013. txt  видео:  http://youtu.be/ SGmtP5Lg_t0   https://landley.net/toybox/about.html  На странице есть навигационные ссылки, разбивающие их на разделы.  2) «Почему общественное достояние?»  Взлет и падение авторского лева, Ohio LinuxFest 2015, в общих чертах:  http://landley.net/talks/ohio- 2013. txt  аудио:  https://archive.org/download/OhioLinuxfest 2015 / 64 - Rob_Landley-The_Rise_and_Fall_of_Copyleft.mp3  3) Почему я сделал Aboriginal Linux (который привел меня сюда) 2013 слайд-презентация:  https://speakerdeck.com/landley/developing-for-non-x 260 - target-using-qemu  Как и зачем делать андроид самостоятельный хостинг:  http://landley.net/aboriginal/about.html#selfhost  Больше предыстории, чем это строго необходимо:  https://landley.net/aboriginal/history.html  4) Что нового в коробке с игрушками (ELC 2015 обновление статуса): видео:  http://elinux.org/ELC_ 2015 _Представления  наброски:  http://landley.net/talks/celf- 2019. txt  5) Toybox vs BusyBox (
Обсуждение ELC): схема: http://landley.net/talks/elc- 2019. txt видео: https://www.youtube.com/watch?v=MkJkyMuBm3g --- Содействие Три важных URL-адреса для связи с проектом toybox: веб-страница: Список рассылки http://landley.net/toybox : http://lists.landley.net/listinfo.cgi/toybox-landley.net репозиторий git: http://github.com/landley/toybox Сопровождающий предпочитает, чтобы патчи рассылались по списку рассылки. Если вы используете git, то просто: git format-patch -1 $ HASH Затем отправьте прикрепленный файл. В списке содержатся сообщения от неподписанных для модерации, но обычно я дохожу до них через день или два. Я загружаю запросы на вытягивание github в виде исправлений и применяю их с помощью «git am» (что позволяет избежать необоснованных коммитов слияния). Иногда я даже не забываю закрыть пул реквест. Если я не ответил на ваш патч через неделю, не стесняйтесь напоминать мне об этом. Политика Android в отношении патчей для toybox заключается в том, что патчи, не связанные со сборкой, должны сначала идти вверх по течению (в vanilla toybox, с обсуждением в списке рассылки toybox), а затем оттуда втягиваться в репозиторий android toybox. (Обычно они повторно синхронизируются по пятницам). Исключение составляют исправления для их сценариев сборки (Android.mk и сгенерированные файлы / , которые идут непосредственно в AOSP. (Что касается другого значения слова «содействие», https://patreon.com / landley всегда приветствуется, но я предупреждаю вас заранее, я ужасно отношусь к его обновлению.)