• Home
  • Raw
  • Download

Lines Matching +full:linux +full:- +full:musl +full:- +full:llvm

2 <!--#include file="header.html" -->
11 <li><a href=#susv5>POSIX-2024/SUSv5</a></li>
12 <li><a href=#sigh>Linux "Standard" Base</a></li>
30 <a name="goals" /><!--Jan 2025-->
41 <li>POSIX-2024 (also known as SUSv5)</li>
42 <li>the Linux Standard Base version 4.1 (frozen, becoming obsolete)</li>
43 <li>the official <a href=https://www.kernel.org/doc/man-pages/>Linux man pages</a></li>
53 to <a href=https://github.com/landley/control-images>build Linux From Scratch</a>.
56 plus <a href=faq.html#cross>musl-cross-make</a> to hermetically build
64 which was the first program Linux ever ran (leading up to the 0.0.1 release
65 in 1991) and remains the standard shell of Linux (no matter what Ubuntu says).
77 <h3><a name=susv5 /><a href="#susv5">POSIX-2024/SUSv5</a></h3><!--REDO for SUSv5-->
81 …and ISO both approving <a href=https://landley.net/c99-draft.html>C99</a>. That's why IEEE 1003.1-
99 re-released in 2013, 2016, and 2018 with basically typo fixes, but was
106 it was designed to. Those first few pre-SUSv2 Posix standards (which remain
110 sucked the old UNIX(tm) ecosystem dry until Linux and FreeBSD swept away
114 <a href=https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub151-2-1993.pdf>US federal procurement …
115 as a <a href=https://www.youtube.com/watch?v=nwrTTXOg-KI>compliance requirement</a>
121 When open source projects like Linux started developing on the internet
127 the upstarts</a> and Linux eventually
135 them. And widely used real-world commands such as tar and cpio (the basis
151 pre-CVS "SCCS" source control system (admin delta get prs rmdel sact sccs unget
163 built-in toybox shell, but are not exported into $PATH via symlinks and
170 <p>A few other commands are judgement calls, providing command-line
171 internationalization support (iconv locale localedef), System V inter-process
172 communication (ipcrm ipcs), and cross-tty communication from the minicomputer
173 …pax" utility <a href=https://slashdot.org/story/06/09/04/1335226/debian-kicks-jrg-schilling>failed…
177 pathchk supposed to be portable _to_? (Linux accepts 255 byte path components
179 <a href=https://yarchive.net/comp/linux/utf8.html>EXPLICITLY</a>
197 <h3><a name=sigh /><a href="#sigh">Linux Standard Base</a></h3><!--Jan 2025-->
200 Linux Standard Base. Unfortunately, the quality of this "standard" was
202 being consumed by <a href=https://landley.net/notes-2010.html#18-07-2010>the Linux Foundation</a> i…
207 the Linux Standard Base's failure mode was different. They responded to
216 became that the Linux Standard Base was the best standard money can buy: the
217 Linux Foundation was supported by financial donations from large companies and
219 the interests of those donors</a> regardless of technical merit. (The Linux
230 comprehensive standards effort for Linux so far, so we salvage what we can.
232 Linux Foundation took over.</p>
236 …ified a <a href=http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/cm…
250 …4.1.0/LSB-Core-generic/LSB-Core-generic/more.html>more</a> and <a href=http://refspecs.linuxfounda…
260 lsb_release just reports information in /etc/os-release, and sendmail
275 <h3><a name=rfc /><a href="#rfc">IETF RFCs and Man Pages</a></h3><!--Jan 2025-->
277 <h3><a name=rfc /><a href="#rfc">IETF RFCs and Man Pages</a></h3><!--Jan 2025-->
279 ratio here is terrible, and neither is a good indicator of whether a linux
283 Engineering Task Force's "<a href=https://www.rfc-editor.org/in-notes/rfc-index.txt>Request For Com…
284 <a href=https://www.kernel.org/doc/man-pages/>Linux man-pages project</a>...
293 surplus PDP-7 fished out of an attic to a newly purchased PDP-11), and
300 system administration commands for use by the root account. Run "man -k ."
303 <p>The modern Linux man pages project has loosened up a bitwebsite includes commands from git, yum,…
321 and <a href=https://tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html>excellent</a>
322 <a href=https://landley.net/kdocs/mirror/lki-single.html>historical</a>
323 <a href=https://linuxfromscratch.org/hints/downloads/files/OLD/bsd-init.txt>documents</a>
333 <h2><a href="#dev_env">Use case: provide a self-hosting development environment</a></h2>
335 …ough to build the <a href=http://landley.net/aboriginal/about.html>Aboriginal Linux</a> development
336 …l prompt, and build <a href=http://www.linuxfromscratch.org/lfs/view/6.8/>Linux From Scratch 6.8</…
358 has a <a href=https://landley.net/code/qcc>potential follow-up project</a>.
360 <a href=https://github.com/richfelker/musl-cross-make>musl-cross-make</a>,
368 (mkroot/record-commands and toys/example/logpath.c) which mkroot/mkroot.sh
369 also uses to populate root/build/log/*-commands.txt. Try
370 <b>awk '{print $1}' root/build/log/*-commands.txt | sort -u | grep -v musl | xargs</b>
380 Linux From Scratch and Beyond Linux From Scratch under the resulting
393 <p>In 2017 Aboriginal Linux development ended, replaced by a much simpler
395 <a href=https://github.com/richfelker/musl-cross-make>musl-cross-make</a>
397 from source. In 2019 the still-incomplete
402 from source" test should now include building musl-cross-make under either
406 a <b>scripts/mcm-buildall.sh</b> wrapper script around musl-cross-make, which
407 builds cross and native versions of gcc+musl toolchains for a dozen
409 all the <b>mkroot/mkroot CROSS=allnonstop LINUX=~/linux</b> systems under
416 <p>Building Linux From Scratch is not the same as building the
421 a read-only git utility so repo can download the build's source code,
422 but that's actually <a href=https://www.youtube.com/watch?v=I-lGyn3PHP4>not
425 The ongoing Android <a href=http://lists.landley.net/pipermail/toybox-landley.net/2018-January/0093…
457 tied to non-public system interfaces. modprobe shares the implementation
467 <li><b>arping</b> - ARP REQUEST tool (iputils)</li>
468 <li><b>blkid</b> - identify block devices (e2fsprogs)</li>
469 <li><b>e2fsck</b> - fsck for ext2/ext3/ext4 (e2fsprogs)</li>
470 <li><b>fsck.f2fs</b> - fsck for f2fs (f2fs-tools)</li>
471 <li><b>fsck_msdos</b> - fsck for FAT (BSD)</li>
472 <li><b>gzip</b> - compression/decompression tool (zlib)</li>
473 <li><b>ip</b> - network routing tool (iproute2)</li>
474 <li><b>iptables/ip6tables</b> - IPv4/IPv6 NAT admin (iptables)</li>
475 <li><b>iw</b> - wireless device config tool (iw)</li>
476 <li><b>logwrapper</b> - redirect stdio to android log (Android)</li>
477 <li><b>make_ext4fs</b> - make ext4 fs (Android)</li>
478 <li><b>make_f2fs</b> - make f2fs fs (f2fs-tools)</li>
479 <li><b>ping/ping6</b> - ICMP ECHO_REQUEST tool (iputils)</li>
480 <li><b>reboot</b> - reboot (Android)</li>
481 <li><b>resize2fs</b> - resize ext2/ext3/ext4 fs (e2fsprogs)</li>
482 <li><b>sh</b> - mksh (BSD)</li>
483 <li><b>ss</b> - socket statistics (iproute2)</li>
484 <li><b>tc</b> - traffic control (iproute2)</li>
485 <li><b>tracepath/tracepath6</b> - trace network path (iputils)</li>
486 <li><b>traceroute/traceroute6</b> - trace network route (iputils)</li>
536 …https://android.googlesource.com/platform/prebuilts/build-tools/+/refs/heads/master/path/linux-x86…
564 used to work around a Mac <code>cp -Rf</code> bug with broken symbolic links.
578 <p>A side effect of the Linux Foundation following the money to the
582-release/linux-foundation-to-host-meego-project/>MeeGo</a>, there were believable <a href=https://…
585 <a href=notes-2012.html#16-05-2012>form Tizen</a>,
586 which became a Samsung-only project (that <a href=https://www.androidheadlines.com/2021/05/samsung-
588 … <a href=https://www.theverge.com/2021/5/18/22440483/samsung-smartwatch-google-wearos-tizen-watch>…
612 <p>Also, tizen uses a different Linux Security Module called SMACK, so
613 many of the SELinux options ala ls -Z needed smack alternatives in an
622 <p>Another project the Linux Foundation is paid to appreciate is Yocto,
624 (now in Linux build systems instead of vendor unix forks) by being the
627 Yocto uses a "<a href=https://www.yoctoproject.org/software-overview/layers/>layered</a>"
629 …me before, until they wind up <a href=https://github.com/varigit/variscite-bsp-platform>using repo…
630 the layers (let alone their contents). But -- and this is the
631 important bit -- all these dispirate forks are called "yocto" and built on
632 top of giant piles of code the Linux Foundation can take credit for
637 <p>Yocto's "core-image-minimal" target (only 3,106 build steps in the 3.3
639 <a href=https://landley.net/notes-2019.html#06-02-2019>something called</a>
640 the "uninative binary shim") builds a busybox-based system with the following commands:</p>
654 rm rmdir rmmod route run-parts sed seq setconsole setsid sh sha1sum sha256sum
655 shuf sleep sort start-stop-daemon stat strings stty sulogin swapoff swapon
668 <p>Another standard taken over by the Linux Foundation. (At least the
672 Only one version (3.0 in 2015) has been released since the Linux Foundation
674 The Linux Foundation did not retain earlier versions. The contents of
676 11 years between releases the Linux Foundation just added section numbers.</p>
678 <p><a href=https://refspects.linuxfoundation.org/FHS_3.0/fhs-3.0.html>FHS 3.0</a>
681 and then 3.16.2 and 3.16.3 similarly cover /sbin. There are linux
687 "fastboot" and "fasthalt" (reboot and halt have -nf), and
700 <hr /><a name=buildroot /><!--Jan 2025-->
703 <p>If a toybox-based development environment is to support running
704 buildroot under it, the <a href=https://buildroot.org/downloads/manual/manual.html#requirement-mand…
713 the build-essential meta-package. And it wants file to be in /usr/bin because
719 it dies trying to run "/usr/bin/-gcc". In theory you can modify any open source
730 <a href=http://www.infoworld.com/d/data-center/perl-isnt-going-anywhere-better-or-worse-211580>requ…
733 <p>In addition to a C library less general-purpose than old versions of bionic
734 (let alone musl), klibc builds a random assortment of executables to run init scripts
741 run-init sh sha1hash sleep sync true umount uname zcat
745 <a href=http://landley.net/notes-2013.html#23-01-2013>looked at</a> version
746 2.0.2 and did cd klibc-*; ln -s /output/of/kernel/make/headers_install
747 linux; make) then <b>echo $(for i in $(find . -type f); do file $i | grep -q
748 executable && basename $i; done | grep -v '[.]g$' | sort -u)</b> to find
751 <p>Some of those binaries are build-time tools that don't get installed,
755 <p>The run-init command is more commonly called switch_root, nuke is just
756 "rm -rf -- $@", and minips is more commonly called "ps": I'm not doing aliases
773 <a href=http://www.zytor.com/pipermail/klibc/2006-June/001748.html>attempted
780 of the current state of the art here. Ah, Documentation/power/userland-swsusp.txt
811 <p>Of those, musl libc only implements ldd. Of the rest:</p>
816 <li><b>iconvconfig</b> is only relevant if iconv is user-configurable; musl uses a
817 non-configurable iconv now that utf8+unicode exist.</li>
820 <li><b>getent</b> handles retrieving entries from passwd-style databases
823 <li><b>localedef</b> compiles locale definitions, which musl currently does not use.</li>
824 <li><b>mtrace</b> is a perl script to use the malloc debugging that glibc has built-in;
825 this is not relevant for musl, and would necessarily vary with libc.</li>
826 <li><b>nscd</b> is a name service caching daemon, which is not yet relevant for musl.</li>
829 which musl does not include and debian does not install by default.</li>
833 which seems to be derived from the <a href=http://www.iana.org/time-zones>IANA
854 <h2>Stand-Alone Shell</h2>
856 <p>Wikipedia has <a href=http://en.wikipedia.org/wiki/Stand-alone_shell>a good
857 summary of sash</a>, with links. The original Stand-Alone Shell project reached
862 <p>Sash is a shell with built-in commands. It doesn't have a multiplexer
863 command, meaning "sash ls -l" doesn't work (you have to go "sash -c 'ls -l'").
867 "echo help | ./sash | awk '{print $1}' | sed 's/^-//' | xargs echo", which
892 it sucks in -lz from the host.)</p>
939 …p://archive.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/mkinitrd-6.…
940 that can be unwound with "rpm2cpio mkinitrd.src.rpm | cpio -i -d -H newc
941 --no-absolute-filenames" and in there is a mkinitrd-6.0.93.tar.bz2 which
986 <p>Back in 2008, the BSD guys vented some busybox-envy
1004 <p>Apparently lv is the missing link between ed and vi, copyright 1982-1997 (do
1007 … (even though they have mksh?), [ is an alias for test. Several more bsd-isms that don't have Linux
1046 <p>The corresponding "files" tab is an auto-generated stub. The project never
1057 nommu Linux distribution, which involved rewriting a lot of command line
1058 utilities that relied on <a href=http://nommu.org/memory-faq.txt>features
1068 left hasn't been updated in over a decade), which were hand-updated tarball
1075 as the place to discuss, develop, and learn about nommu Linux.
1077 to it long after it had collapsed as a Linux distro.</p>
1082 …of <a href=http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20140504.tar.bz2>uClinux-dist-2014…
1087 <p>A bunch of packages (<b>inotify-tools, input-event-demon, ipsec-tools, netifd,
1088 keepalived, mobile-broadband-provider-info, nuttp, readline, snort,
1089 snort-barnyard, socat, sqlite, sysklogd, sysstat, tcl, ubus, uci, udev,
1090 unionfs, uqmi, usb_modeswitch, usbutils, util-linux</b>)
1109 special-purpose network back-end stuff that's hard for anybody but
1114 cgihtml clamav clamsmtp conntrack-tools cramfs crypto-tools cxxtest
1115 ddns3-client de2ts-cal debug demo diald discard dnsmasq dnsmasq2
1116 ethattach expat-examples ez-ipupdate fakeidentd
1117 fconfig ferret flatfs flthdr freeradius freeswan frob-led frox fswcert
1121 jamvm jffs-tools jpegview jquery-ui kendin-config kismet klaxon kmod
1124 nooom null openswan openvpn palmbot pam_* pcmcia-cs playrt plugdaemon pop3proxy
1126 ramimage readprofile rdate readprofile routed rrdtool rtc-ds1302
1128 smtpclient snmpd net-snmp snortrules speedtouch squashfs scep sslwrap stp
1139 with "sendfax", hostap is an intersil prism driver, wlan-ng is also an
1142 "Demo Application for the USB Device Driver", kendin-config is
1145 ferret, linux-igd, and miniupnp are all upnp packages,
1148 "test of lcddma device driver" (an out-of-tree Coldfire driver apparently
1149 lost to history, the uclinux linux-2.4.x directory has a config symbol for
1151 coldfire thing, mii-tool-fec is
1153 the uCdimm5272", rtc-ds1302 and rtc-m41t11 are usermode drivers for specific
1154 clock chips, stunnel is basically "openssl s_client -quiet -connect",
1157 clamav, klaxon, ferret, l7-protocols, and nessus are very old network security
1160 lilo is the x86-only bootloader that predated grub (and recently discontinued
1164 squashfs-new package which is a snapshot of the userspace tool from 2011),
1166 microwin is a port of the WinCE graphics API to Linux, scep is a 2003
1185 <h3>Non-toybox programs</h3>
1211 dropbear jffs-tools jpegview kexec-tools bind ctorrent
1212 iperf iproute2 ip-sentinel iptables kexec
1215 mtd-utils mysql logrotate brcfg bridge-utils flashw
1217 lm_sensors load netflash netstat-nat
1218 radvd recover rootloader resolveip rp-pppoe
1219 rsyslog rsyslogd samba smbmount squashfs-new squid ssh strace tip
1220 uboot-envtools ulogd usbhubctrl vconfig vixie-cron watchdogd
1231 rp-pppoe is ppp over ethernet,
1236 there's a ppd-2.3 directory also. We used to be interested in ftpd/proftpd
1251 agetty cal cksum cron dhcpcd dhcpcd-new dhcpd dhcp-isc dosfstools e2fsprogs
1252 elvis-tiny levee fdisk fileutils ftp grep hd hwclock inetd init ntp
1253 iputils login module-init-tools netcat shutils ntpdate lspci ping procps
1255 unzip wget mawk net-tools
1259 like elvis-tiny, ntp and ntpdate overlap, etc.</p>
1287 factor fallocate fsfreeze inotifyd lspci nbd-client partprobe strings
1304 nbd-server
1313 …=https://github.com/landley/toybox/issues/168#issuecomment-583725500>asked</a> what other Linux pa…
1317 <a href=http://www.linuxfromscratch.org/lfs/downloads/9.0/LFS-BOOK-9.0-NOCHUNKS.html>Linux From Scr…
1326 <h3>Packages toybox plans to provide complete-ish replacements for:</h3>
1338 <li><b>gawk</b>: [awk] (not: gawk gawk-5.0.1)</li>
1345 <li><b>procps-ng</b>: free pgrep pidof pkill ps sysctl top uptime vmstat w watch
1350 (not telinit runlevel fstab-decode bootlogd)</li>
1355 (not telinit runlevel fstab-decode bootlogd)</li>
1377 <li><b>util-linux</b>: blkid blockdev cal chrt dmesg eject fallocate flock hwclock
1398 util-linux...</p>
1400 <p>No idea why LFS is installing inetutils instead of net-tools
1401 (which contains arp route ifconfig mii-tool nameif netstat and rarp that
1435 <a href=https://github.com/JuliaComputing/llvm-cbe>LLVM C Backend</a>
1436 to compile LLVM itself to C for use as a modern replacement for
1439 as a successor project to toybox. Until then things like objdump -d
1440 (requiring target-specific disassembly for an unbounded number of architectures)
1442 architecture-specific support in file and strace, and including a full
1449 linux-api-headers man-pages glibc zlib readline gmp mpfr mpc gcc pkg-config
1450 ncurses acl libcap psmisc iana-etc libtool gdbm gperf expat perl XML::Parser
1498 <p><li>Automate Linux From Scratch build.
1501 <li>Automate the <a href=https://linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-12.0-NOCHUNKS.h…
1503 <li>create chroot directory from host (chapters 4-6)</li>
1505 <li>build in chroot directory (chapters 7-10)</li>
1509 <li>Add record-commands support (both inside and outside chroot)</li>
1510 <li>Build host-&gt;chroot part with PATH=$PWD/airlock (moving one command over at a time)
1515 <li>Run host-&gt;chroot build under mkroot, with airlock built+packaged for
1524 <li><a href=http://ftp.osuosl.org/pub/lfs/lfs-packages/>download</a> and
1526 …I already did this <a href=https://github.com/landley/control-images/tree/master/images/lfs-bootst…
1537 <!-- #include "footer.html" -->