Lines Matching +full:ninja +full:- +full:linux +full:- +full:aarch64
2 <!--#include file="header.html" -->
26 <!-- get binaries -->
29 <li><h2><a href="#system">What part of Linux/Android does toybox provide?</h2></li>
30 <li><h2><a href="#mkroot">How do I build a working Linux system with toybox?</a></h2></li>
37 and <a href=http://landley.net/notes-2006.html#28-09-2006>started over from
39 <a href=http://lists.busybox.net/pipermail/busybox/2006-September/058617.html>protracted licensing …
42 <a href=http://landley.net/notes-2011.html#13-11-2011>relaunched</a>
44 <a href=http://landley.net/aboriginal/about.html#selfhost>self-hosting</a>.
48 after a lot of thinking <a href=http://landley.net/talks/ohio-2013.txt>about
49 licenses</a> and <a href=http://landley.net/notes-2011.html#21-03-2011>the
53 <a href=http://landley.net/talks/celf-2013.txt>strategy</a>
54 to make Android self-hosting using toybox. This helped
67 <a href=http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/>less subtle</a> response was to fre…
71 <a href=https://www.osnews.com/story/24572/apple-ditches-samba-in-favour-of-homegrown-replacement/>…
72 <a href=https://archive.org/details/copyleftconf2020-allison>replace samba</a>,
73 …a href=https://www.theverge.com/2019/6/4/18651872/apple-macos-catalina-zsh-bash-shell-replacement-…
88 <p>A: Our <a href=http://lists.busybox.net/pipermail/busybox/2006-September/058440.html>longstandin…
93 <p>My original theory was "4 to 5 of the 18-month cycles of moore's law should cover
96 and <a href=http://catb.org/esr/writings/world-domination/world-domination-201.html#id248066>update…
98 law below the high end systems, and that another 2-3 iterations should cover
102 <p>That analysis missed <a href=http://landley.net/notes-2011.html#26-06-2011>industry
105 <a href=https://landley.net/notes-2010.html#09-10-2010>the switch</a> from PC to smartphone cutting…
106 laptop market. Meanwhile the Moore's Law <a href=https://en.wikipedia.org/wiki/Logistic_function>s-…
114 <a href=https://www.cnet.com/news/end-of-moores-law-its-not-just-about-physics/>common knowledge</a…
115 <a href=http://www.acm.org/articles/people-of-acm/2016/david-patterson>widely
119 feature is less than 7 years old, I try to have a build-time configure test
125 <p>A: Toybox targets quarterly releases (a similar schedule to the Linux
135 Releases focus end-user testing on specific versions
142 control knobs... Toybox's switch from "ls -q" to "ls -b" as the default output
143 format was not-a-bug-it's-a "design improvement", but the
148 <p>The counter-argument is that "continuous integration"
150 …123071427/http://www.shirky.com/weblog/2013/11/healthcare-gov-and-the-gulf-between-planning-and-re…
151 emphasis on end-user feedback and learning from real world experience.
169 and starting the engine to leave doesn't provoke a last-minute rush of nearby
170 not-quite-ready passengers racing to catch it causing further delay and
186 <p><u>The configure stage</u> is copied from the Linux kernel (in the "kconfig"
193 down, enter to descend into a sub-menu, space to select an entry, ? to see
195 same as the command's "<b>--help</b>" output.</p>
201 argument is the command to run (ala "toybox ls -l").</p>
263 example binaries</a> against the output of "toybox --version".
264 Between releases the --version
265 information is in "git describe --tags" format with "tag-count-hash" showing the
287 "git describe --tags $HASH" in the vanilla tree should give you the --version
292 <p>A: Ideally on the <a href=http://lists.landley.net/listinfo.cgi/toybox-landley.net>mailing list<…
296 AOSP has its <a href=https://source.android.com/setup/contribute/report-bugs>own bug reporting mech…
316 and Linux Weekly News has covered toybox's history a
323 by hobbyist (volunteer) developers, originally for Linux but these days
333 <a href=http://androidbackstage.blogspot.com/2016/07/episode-53-adb-on-adb.html>this podcast</a>, s…
341 scripts, AOSP builds with soong/ninja instead and checks in a snapshot of the
349 but develops on a standard 64-bit Linux+glibc distro while building embedded
350 32-bit big-endian nommu musl systems requiring proper data alignment for work,
356 …https://android.googlesource.com/platform/prebuilts/build-tools/+/refs/heads/master/path/linux-x86…
449 used to call them, so if you "mv toybox ls; ./ls -l" it acts like ls. Creating
455 <a href=http://git.musl-libc.org/cgit/musl/tree/include/paths.h>the
459 <blockquote><p><b>for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done</b></p></blockquote>
464 <blockquote><p><b>for i in $(./toybox); do ln -s toybox $i; done</b></p></blockquote></p>
474 command to run, so "./toybox ls -l" also behaves like ls. The "toybox"
475 name is special in that it can have a suffix (toybox-i686 or toybox-1.2.3)
481 level of symlink. So if your script needs "gsed" you can "ln -s sed gsed",
487 linux command shells search the directories listed in the $PATH envionment
494 For historical reasons PATH is colon-separated, and treats an
499 <p>Toybox's shell (toysh) checks for built-in commands before looking at the
502 you give a path to a command the shell won't run the built-in version
504 won't: "toybox /bin/ls" runs the built-in ls, you can't point it at an
536 <p>Most Linux distros come with that as a host compiler, which is used by
541 <p>You can use LDFLAGS=--static if you want static binaries, but static
542 glibc is hugely inefficient ("hello world" is 810k on x86-64) and throws a
546 <a href=https://elinux.org/images/2/2d/ELC2010-gc-sections_Denys_Vlasenko.pdf>obvious bugs</a>), pl…
547 …f=https://stackoverflow.com/questions/15165306/compile-a-static-binary-which-code-there-a-function…
551 <a href=https://stackoverflow.com/questions/14289488/use-dlsym-on-a-static-binary>improper support<…
553 <a href=https://www.youtube.com/watch?v=Ih-3vK2qLls>in brief, avoid</a>).
560 <p><a href="#cross2">2) gcc+musl = musl-cross-make</a></p>
563 <a href=http://musl.libc.org/>musl-libc</a> maintainer's
564 <a href=https://github.com/richfelker/musl-cross-make>musl-cross-make</a>
565 project, built by running toybox's scripts/mcm-buildall.sh in that directory,
572 git clone https://github.com/richfelker/musl-cross-make
573 cd musl-cross-make
574 ../toybox/scripts/mcm-buildall.sh # this takes a while
575 ln -s $(realpath ccc) ../toybox/ccc
579 in the same format the Linux kernel build uses. You can either provide a
584 <b><p>make LDFLAGS=--static CROSS_COMPILE=~/musl-cross-make/ccc/m68k-linux-musl-cross/bin/m68k-linu…
590 export "PATH=~/musl-cross-make/ccc/m68k-linux-musl-cross/bin:$PATH"<br />
591 LDFLAGS=--static make distclean defconfig toybox CROSS=m68k-linux-musl-
597 to most glibc linux distribution) or play with $LD_LIBRARY_PATH.
613 unzip android-ndk-r21b-linux-x86_64.zip
614 cd android-ndk-21b/toolchains/llvm/prebuilt/linux-x86_64/bin
615 ln -s x86_64-linux-android29-clang x86_64-linux-android-cc
619 make LDFLAGS=--static CROSS_COMPILE=x86_64-linux-android- defconfig toybox
629 Linux system, even "hello world"
642 make the Linux kernel honor DEVTMPFS_MOUNT in initramfs. Teaching toybox
644 presumably in <a href=https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.t…
646 <hr /><h2><a name="system" />Q: What part of Linux/Android does toybox provide?</h2>
649 Toybox is one of three packages (linux, libc, command line) which together provide a bootable unix-…
656 …=https://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/cmdbehav.html>Li…
657 <a href=https://man7.org/linux/man-pages/dir_section_1.html>Linux Manual
661 … shell prompt requires a kernel to drive the hardware (such as Linux, or BSD with a Linux emulatio…
666 but toybox either provides its own built-in versions of such functionality
671 <p>Static linking (with the --static option) copies library contents
679 <a href=https://www.man7.org/linux/man-pages/man1/ldd.1.html>ldd</a>,
680 <a href=https://www.man7.org/linux/man-pages/man8/ld.so.8.html>ld.so</a>,
681 and <a href=https://www.man7.org/linux/man-pages/man7/libc.7.html>libc</a>
690 and video players. A linux distro like Debian adds hundreds of packages.
693 <p>But all of these systems conceptually sit on a common three-package
698 <hr /><h2><a name="mkroot" />Q: How do you build a working Linux system with toybox?</h2>
700 <p>A: Toybox has a built-in <a href=https://github.com/landley/toybox/blob/master/scripts/mkroot.sh…
704 <p>You can cross compile simple three package (toybox+libc+linux)
709 path), and pointing the build at a Linux kernel source directory, ala:</p>
711 <blockquote><p><b>make root CROSS=sh4 LINUX=~/linux</b></p></blockquote>
713 <p>Then you can <b>cd root/sh4; ./qemu-sh4.sh</b> to launch the emulator.
714 (You'll need the appropriate qemu-system-* emulator binary installed.)
722 compiler has a libc built into it, 3) you tell it where to find a Linux kernel
723 source directory with LINUX= on the command line. If you don't say LINUX=,
728 pointing at a directory full of cross compilers. The ones I test this with are built from the musl-…
730 <a href=https://github.com/richfelker/musl-cross-make>musl-cross-make</a>
731 project, built by running toybox's scripts/mcm-buildall.sh in that directory,
738 git clone https://github.com/richfelker/musl-cross-make
739 cd musl-cross-make
740 ../toybox/scripts/mcm-buildall.sh # this takes a while
741 ln -s $(realpath ccc) ../toybox/ccc
752 aarch64 armv4l armv5l armv7l armv7m armv7r i486 i686 m68k microblaze mips mips64 mipsel powerpc pow…
764 <p><b>scripts/mkroot.sh CROSS=all LINUX=~/linux dropbear</b></p>
772 scripts, I <a href=https://speakerdeck.com/landley/developing-for-non-x86-targets-using-qemu?slide=…
792 <!--#include file="footer.html" -->