diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2023-04-21 21:34:31 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2023-04-21 21:34:31 +0200 |
commit | cd61674fde97bfab3c0d98186a5b87d7d40396b7 (patch) | |
tree | aadffb999704e1cb640c075455b1af3b045360cb | |
parent | 0e425f52c3492bab1b4aa95416bec6ba26511b82 (diff) | |
download | i486tcc-linux-cd61674fde97bfab3c0d98186a5b87d7d40396b7.tar.gz i486tcc-linux-cd61674fde97bfab3c0d98186a5b87d7d40396b7.tar.bz2 |
added much more documentation and links
-rw-r--r-- | README | 86 | ||||
-rw-r--r-- | docs/bashismal.blogspot.com_2011_10_unbloated-resources-in-c.txt | 184 | ||||
-rw-r--r-- | docs/beastiebox.sourceforge.net.txt | 76 | ||||
-rw-r--r-- | docs/github.com_firasuke_awesome.txt | 891 | ||||
-rw-r--r-- | docs/linuxnews.de_2022_09_21_alte-schaetzchen-linux-optimiert-fuer-386-und-486.txt | 186 | ||||
-rw-r--r-- | docs/wiki.musl-libc.org_alternatives.txt | 451 | ||||
-rw-r--r-- | docs/www.elinux.org_Busybox_replacement_project.txt | 377 | ||||
-rw-r--r-- | docs/www.monperrus.net_martin_compiling-tcc-with-dietlibc.txt | 53 | ||||
-rwxr-xr-x | scripts/build.sh | 9 |
9 files changed, 2301 insertions, 12 deletions
@@ -70,8 +70,15 @@ dependencies - vis - libevent - - optionally lua + - libtermcap - netbsd-curses + - optionally lua +- tmux + - libevent + - netbsd-curses (compat.h:379: error: incompatible types for redefinition of 'forkpty', + some non-compiling fallback when there is no curses?) +- mandoc + - zlib kernel options -------------- @@ -132,15 +139,24 @@ bugs - we heavily use tools from the host (perl, python, make, m4, etc.) from the host (but we don't want those tools inside our system also). So self-hosting will be tricky. - +- mandoc needs zlib unconditionally, if we don't have compressed man pages, + we need to patch this and add a NO_COMPRESSION flag to 'configure.local'. +- a poweroff sending SIGUSR1 to sinit would be nice, also shutdown fails + by leaving users logged in (stuck in shell) and it doesn't unmount /. + (umount2 / error) +- minimal binary seed: not that important that we have a small enough requirement + list to start with, currently: + - host C compiler + - host C library to link against first tcc + - tons of tools which are not really binary seed + (they are just used to produce binaries) + other approaches ---------------- linux-486 --------- -https://github.com/tcsullivan/linux-486 - nice ideas, preinit decompresses lzma compressed files, uses the chromium Linux syscall wrapper to be a standalone binary (as the C library is compressed too). @@ -226,12 +242,64 @@ sabotage They use an old gcc without a lot of depenendencies (C++, libraries, etc.) to build the toolchain for stage 0. This is similar to us using tcc. This is the first distro based on musl which made musl much more suitable -to build a Linux userspace upon. +to build a Linux userspace upon. Since alpine linux switched to musl, +sabotage seems to be not heavily developed anymore. links ----- -- Sabotage Linux: - - http://sabo.xyz/ - - https://sabotage-linux.neocities.org/ - - https://sabotage-linux.neocities.org/blog/11/ +- Other similar distributions or projects + - Linux-i486 + - https://github.com/tcsullivan/linux-486 + - Aboriginal Linux/Mkroot/miniconfig: + - https://github.com/landley/aboriginal + - https://github.com/landley/mkroot + - https://landley.net/aboriginal/documentation.html + - Morpheus + - https://git.2f30.org/morpheus/ + - Oasis + - https://git.sr.ht/~mcf/oasis + - Graylinux + - https://github.com/marmolak/gray386linux + - https://github.com/marmolak/gray486linux + - https://linuxnews.de/alte-schaetzchen-linux-optimiert-fuer-386-und-486/ + - Sabotage Linux: + - http://sabo.xyz/ + - https://sabotage-linux.neocities.org/ + - https://sabotage-linux.neocities.org/blog/11/ + - others: + - https://www.glaucuslinux.org/ +- C Compilers + - https://repo.or.cz/w/tinycc.git +- C Libraries + - https://www.fefe.de/dietlibc + (https://www.monperrus.net/martin/compiling-tcc-with-dietlibc: sadly + has issues and was never designed to use tcc in the first place) +- Terminal stuff + - https://github.com/sabotage-linux/netbsd-curses/ + - https://www.leonerd.org.uk/code/libtermkey/ +- Editors + - https://github.com/martanne/vis + - https://joe-editor.sourceforge.io/ + - https://ex-vi.sourceforge.net/ +- Boot process + - device management + - https://git.suckless.org/smdev + - init systems + - git://git.suckless.org/sinit + - https://github.com/bbenne10/rc + - https://github.com/hut/minirc +- minimal userland + - https://github.com/ibara/oksh + - git://git.suckless.org/sbase + - git://git.suckless.org/ubase + - https://git.andreasbaumann.cc/cgit/abase/ + - https://beastiebox.sourceforge.net/ +- Link collections of interesting software + - https://suckless.org/rocks/ + - https://suckless.org/other_projects/ + - https://github.com/firasuke/awesome + - https://wiki.musl-libc.org/alternatives.html + - http://bashismal.blogspot.com/2011/10/unbloated-resources-in-c.html +- historical stuff + - https://www.elinux.org/Busybox_replacement_project diff --git a/docs/bashismal.blogspot.com_2011_10_unbloated-resources-in-c.txt b/docs/bashismal.blogspot.com_2011_10_unbloated-resources-in-c.txt new file mode 100644 index 0000000..e0ecc35 --- /dev/null +++ b/docs/bashismal.blogspot.com_2011_10_unbloated-resources-in-c.txt @@ -0,0 +1,184 @@ + #[1]Technosaurus's Linux Tome - Atom [2]Technosaurus's Linux Tome - RSS + [3]Technosaurus's Linux Tome - Atom + +[4]Technosaurus's Linux Tome + + Tips and tricks they don't want you to know about. + +Friday, October 21, 2011 + +unbloated resources in C + + Here is a list of alternative libraries written in C, mostly with + liberal (BSDish) licenses + Ssl/encryption ... [5]libtomcrypt + Imaging ... [6]stb_image (nothings.org) or nanojpeg+lodepng+webp + Ecmascript (aka javascript) ... see-3.1.1424.tar.gz (currently + unmaintained) + OpenGL ... [7]tinyGL <<== SDL implementation + Html5 ... [8]hubbub + Css ... [9]libcss + Svg ... [10]libtinysvg + Lua ... [11]stua (nothings.org) + Freetype ... [12]stb_freetype + Tcl ... [13]jimtcl + Ogg ... [14]stb_ogg + Gcc ... [15]llvm+clang or [16]tinycc (lgpl) + Perl ... microperl (distributed with perl) + Python ... [17]tinypy + GUI ... [18]sdl, [19]agar, [20]picogui, [21]anttweakbar + Gnu-utils ... Google's [22]toolbox, [23]asmutils (gpl2), [24]busybox + (gpl2), [25]embutils (gpl2), [26]toybox (gpl2)... + Video ... [27]Webm, [28]theora + glibc...[29]bionic, [30]musl (lgpl), [31]uclibc + (lgpl), [32]dietlibc(gpl2), [33]newlibc or a bsdlibc... + If you really want to use C++ without the bloat of libstdc++, try one + of these standard template libraries: + ... [34]libcxx, [35]uclibc++, [36]stlport, [37]eastl, [38]ustl, + [39]stdcxx, ... the [40]sgi stl + more to follow + Posted by [41]technosaurus at [42]9:05AM + [43]Email This[44]BlogThis![45]Share to Twitter[46]Share to + Facebook[47]Share to Pinterest + +1 comment: + + 1. [48]Unknown[49]July 26, 2018 at 6:11AM + I'm looking for an unbloated C PDF viewer. Noticed your mupdf-GPL2 + archive at github. Since I can't find anything better, I'm + investigating using the mupdf library. I'm looking at the last GPL3 + version rather than GPL2 though. I have pdftxt working with it and + replaced the build system with CDetect and generated makefiles. I'm + also looking into adding large file support. Would be interested in + comparing notes on modifying/updating older versions of mupdf to + get better functionality and stability from them. + I also like to find unbloated C resources. I didn't see it + mentioned in your list but nanosvg is really good. (After I found + it, it was also incorporated in SDL_image and FLTK). I use BSD + gettext instead of the GNU version of libintl/gettext and I use BSD + gzip and librarchive. I'm investigating switching to libressl or + possibly bearssl instead of openssl. I thought BSD-curses looked + like an interesting alternative to ncurses. Haven't experimented + with it much because I'm mainly using pdcurses with SDL 2 backend + instead of using it for command line applications. swiss seems like + an interesting alternative to busybox and toybox. I also like some + of the Minix alternatives and sbase. I'm using picoGL (not tinyGL) + and with some patching, it has sufficient functionality to get + Emilia pinball running. Looking into adding some other capabilities + so I can port a few programs to systems that may not have OpenGL + readily available. + Some of the programs I'm experimenting with and/or patching are + listed here: + http://www.distasis.com/cpp/lmports.htm Others are in the works. + Love finding useful alternatives and customizing them. Would enjoy + hearing from you if you want compare resources or + patches/customizations further. + Reply[50]Delete + Replies + Reply + + Add comment + Load more... + + [51]Newer Post [52]Older Post [53]Home + Subscribe to: [54]Post Comments (Atom) + +Blog Archive + + * [55]|> [56]2016 (1) + + [57]|> [58]March (1) + + * [59]v [60]2011 (5) + + [61]|> [62]December (1) + + [63]v [64]October (4) + o [65]localizing shell scripts without bashisms, gettext... + o [66]Stop waiting on wait + o [67]unbloated resources in C + o [68]getting an ip address + +About Me + + [69]technosaurus + + [70]View my complete profile + + Simple theme. Powered by [71]Blogger. + +References + + Visible links: + 1. http://bashismal.blogspot.com/feeds/posts/default + 2. http://bashismal.blogspot.com/feeds/posts/default?alt=rss + 3. http://bashismal.blogspot.com/feeds/1063357794335486547/comments/default + 4. http://bashismal.blogspot.com/ + 5. http://libtom.org/?page=features&newsitems=5&whatfile=crypt + 6. http://nothings.org/stb_image.c + 7. https://github.com/kimperator/TinySDGL/ + 8. http://www.netsurf-browser.org/projects/hubbub/ + 9. http://www.netsurf-browser.org/projects/libcss/ + 10. http://www.netsurf-browser.org/projects/libsvgtiny/ + 11. http://nothings.org/stb.h + 12. http://nothings.org/stb/stb_truetype.h + 13. http://repo.or.cz/w/jimtcl.git + 14. http://nothings.org/stb_vorbis + 15. http://llvm.org/ + 16. http://repo.or.cz/w/tinycc.git + 17. http://code.google.com/p/tinypy/ + 18. http://hg.libsdl.org/SDL/ + 19. http://libagar.org/ + 20. http://picogui.org/ + 21. http://www.antisphere.com/Wiki/tools:anttweakbar + 22. https://github.com/android/platform_system_core + 23. http://asm.sourceforge.net/asmutils.html + 24. http://busybox.net/ + 25. http://www.fefe.de/embutils/ + 26. http://landley.net/code/toybox/ + 27. http://www.webmproject.org/ + 28. http://theora.org/ + 29. https://github.com/android/platform_bionic + 30. http://www.etalabs.net/musl/ + 31. http://uclibc.org/ + 32. http://www.fefe.de/dietlibc/ + 33. http://sourceware.org/newlib/ + 34. http://libcxx.llvm.org/ + 35. http://cxx.uclibc.org/ + 36. http://www.stlport.org/ + 37. https://github.com/paulhodge/EASTL + 38. http://ustl.sourceforge.net/ + 39. http://stdcxx.apache.org/ + 40. http://www.sgi.com/tech/stl/ + 41. https://www.blogger.com/profile/03530733230643941968 + 42. http://bashismal.blogspot.com/2011/10/unbloated-resources-in-c.html + 43. https://www.blogger.com/share-post.g?blogID=3562778082254253680&postID=1063357794335486547&target=email + 44. https://www.blogger.com/share-post.g?blogID=3562778082254253680&postID=1063357794335486547&target=blog + 45. https://www.blogger.com/share-post.g?blogID=3562778082254253680&postID=1063357794335486547&target=twitter + 46. https://www.blogger.com/share-post.g?blogID=3562778082254253680&postID=1063357794335486547&target=facebook + 47. https://www.blogger.com/share-post.g?blogID=3562778082254253680&postID=1063357794335486547&target=pinterest + 48. https://www.blogger.com/profile/05093947546245253383 + 49. http://bashismal.blogspot.com/2011/10/unbloated-resources-in-c.html?showComment=1532610691271#c7343650239849554757 + 50. https://www.blogger.com/delete-comment.g?blogID=3562778082254253680&postID=7343650239849554757 + 51. http://bashismal.blogspot.com/2011/10/stop-waiting-on-wait.html + 52. http://bashismal.blogspot.com/2011/10/getting-ip-address.html + 53. http://bashismal.blogspot.com/ + 54. http://bashismal.blogspot.com/feeds/1063357794335486547/comments/default + 55. javascript:void(0) + 56. http://bashismal.blogspot.com/2016/ + 57. javascript:void(0) + 58. http://bashismal.blogspot.com/2016/03/ + 59. javascript:void(0) + 60. http://bashismal.blogspot.com/2011/ + 61. javascript:void(0) + 62. http://bashismal.blogspot.com/2011/12/ + 63. javascript:void(0) + 64. http://bashismal.blogspot.com/2011/10/ + 65. http://bashismal.blogspot.com/2011/10/localizing-shell-scripts-without.html + 66. http://bashismal.blogspot.com/2011/10/stop-waiting-on-wait.html + 67. http://bashismal.blogspot.com/2011/10/unbloated-resources-in-c.html + 68. http://bashismal.blogspot.com/2011/10/getting-ip-address.html + 69. https://www.blogger.com/profile/03530733230643941968 + 70. https://www.blogger.com/profile/03530733230643941968 + 71. https://www.blogger.com/ + + Hidden links: + 73. https://www.blogger.com/post-edit.g?blogID=3562778082254253680&postID=1063357794335486547&from=pencil + 74. https://www.blogger.com/comment/frame/3562778082254253680?po=1063357794335486547&hl=en diff --git a/docs/beastiebox.sourceforge.net.txt b/docs/beastiebox.sourceforge.net.txt new file mode 100644 index 0000000..5e7509c --- /dev/null +++ b/docs/beastiebox.sourceforge.net.txt @@ -0,0 +1,76 @@ +Welcome to the BeastieBox project Homepage + + [beastiebox.png] + + BeastieBox is an attempt to bring a [1]Busybox-like tool to the BSD + world (and yes, I'm aware of [2]crunchgen). BeastieBox aims to be small + while keeping as much features as possible. + + While in its early stages, it is capable of being used as a replacement + for some well-known UNIX commands using the BusyBox method of linking + wanted commands to the "beastiebox" binary + + Three modes are currently available: a semi-static mode, where all + commands will be statically linked to the main executable, still + dynamically linked over libc and libm, a full static mode, where the + produced binary is statically linked over all needed libraries, and a + dynamic mode, where commands are available as shared objects. As an + example, when using dynamic mode, "beastiebox" binary will load + libifconfig.so when invoking the ifconfig command. + + As of now, the following commands are available : + + ifconfig, route, sh, ls, init, ln, mount, mount_ffs, df, cat, rm, fsck, + fsck_ffs, ps, kill, dmesg, hostname, cp, mv, test, [, sed, ping, less, + more, sysctl, pfctl, wiconfig, traceroute, stty, date, reboot, halt, + poweroff, chmod, umount, ex, vi, fdisk, disklabel, tar, getty, login, + [3]mksh + + Most of these commands are ports of [4]NetBSD 4.0 userland commands, + but some of them, in order to minimize dependencies and size, are older + NetBSD versions, older BSD versions (i.e. 4.4BSD Lite2), or BSD-license + compatible software. The goal is to obtain a functionnal BSD UN*X + system fitting into 500K in semi-static mode, in order to be used in + embedded hardware like Wireless routers, ADSL boxes, multimedia hard + drives and such. As of today, BeastieBox is about 700K. + + As you may have guessed, the current work is done under NetBSD, but + should easily be ported to FreeBSD, OpenBSD and DragonFlyBSD. + + BeastieBox is a work-in-progress, I'm doing this on my spare time and a + "stable" version will probably be out... when it's ready ;) Until then, + either look at it, play with it, port it or provide some help, but + please do not request anything. We'll see that another day. + + BeastieBox is covered by a two-clauses [5]BSD License. + + Now if you're still motivated, you can try BeastieBox this way : +$ cvs -d :pserver:anonymous@beastiebox.cvs.sourceforge.net:/cvsroot/beastiebox l +ogin +$ cvs -d :pserver:anonymous@beastiebox.cvs.sourceforge.net:/cvsroot/beastiebox c +o beastiebox + + And from there, read the README file + + If you're just curious, you can also browse [6]BeastieBox cvsweb + + Here's a screenshot of NetBSD 4.0 kernel booting on BeastieBox + (symlinks are for eye's pleasure only) : + [beastiebox-minibsd.png] + + Have fun + + Emile "[7]iMil" Heitor + + [8]SourceForge.net Logo + +References + + 1. http://www.busybox.net/ + 2. http://www.freebsd.org/cgi/man.cgi?query=crunchgen&sektion=1 + 3. http://www.mirbsd.org/mksh.htm + 4. http://cvsweb.netbsd.org/bsdweb.cgi/src/?only_with_tag=netbsd-4-0 + 5. http://en.wikipedia.org/wiki/BSD_license + 6. http://beastiebox.cvs.sourceforge.net/viewvc/beastiebox/beastiebox/ + 7. http://imil.net/ + 8. http://sourceforge.net/ diff --git a/docs/github.com_firasuke_awesome.txt b/docs/github.com_firasuke_awesome.txt new file mode 100644 index 0000000..14fbde1 --- /dev/null +++ b/docs/github.com_firasuke_awesome.txt @@ -0,0 +1,891 @@ + #[1]GitHub + + [2]Skip to content + + (BUTTON) Toggle navigation + [3]Sign up + (BUTTON) + + * (BUTTON) Product + + Actions + Automate any workflow + + Packages + Host and manage packages + + Security + Find and fix vulnerabilities + + Codespaces + Instant dev environments + + Copilot + Write better code with AI + + Code review + Manage code changes + + Issues + Plan and track work + + Discussions + Collaborate outside of code + Explore + + [4]All features + + [5]Documentation + + [6]GitHub Skills + + [7]Blog + * (BUTTON) Solutions + For + + [8]Enterprise + + [9]Teams + + [10]Startups + + [11]Education + By Solution + + [12]CI/CD & Automation + + [13]DevOps + + [14]DevSecOps + Case Studies + + [15]Customer Stories + + [16]Resources + * (BUTTON) Open Source + + GitHub Sponsors + Fund open source developers + + The ReadME Project + GitHub community articles + Repositories + + [17]Topics + + [18]Trending + + [19]Collections + * [20]Pricing + + ____________________ + * In this repository All GitHub RET + Jump to RET + + * No suggested jump to results + + * In this repository All GitHub RET + Jump to RET + * In this user All GitHub RET + Jump to RET + * In this repository All GitHub RET + Jump to RET + + [21]Sign in + [22]Sign up + + (BUTTON) + {{ message }} + + [23]firasuke / [24]awesome Public + * [25]Notifications + * [26]Fork 6 + * [27]Star 132 (BUTTON) + + A curated list of awesome projects + +License + + [28]ISC license + [29]132 stars [30]6 forks + [31]Star (BUTTON) + [32]Notifications + + * [33]Code + * [34]Issues 0 + * [35]Pull requests 0 + * [36]Actions + * [37]Projects 0 + * [38]Security + * [39]Insights + + More + * [40]Code + * [41]Issues + * [42]Pull requests + * [43]Actions + * [44]Projects + * [45]Security + * [46]Insights + +firasuke/awesome + + This commit does not belong to any branch on this repository, and may + belong to a fork outside of the repository. + main + + Switch branches/tags (BUTTON) + ____________________ + (BUTTON) Branches (BUTTON) Tags + Could not load branches + Nothing to show + [47]{{ refName }} default + + [48]View all branches + Could not load tags + Nothing to show + [49]{{ refName }} default + + [50]View all tags + +Name already in use + + (BUTTON) + A tag already exists with the provided branch name. Many Git commands + accept both tag and branch names, so creating this branch may cause + unexpected behavior. Are you sure you want to create this branch? + + (BUTTON) Cancel (BUTTON) Create + [51]1 branch [52]0 tags + Code + * (BUTTON) Local + * (BUTTON) Codespaces + + * Clone + (button) HTTPS (button) GitHub CLI + https://github.com/f + Use Git or checkout with SVN using the web URL. + gh repo clone firasu + Work fast with our official CLI. [53]Learn more. + * [54]Open with GitHub Desktop + * [55]Download ZIP + +Sign In Required + + Please [56]sign in to use Codespaces. + +Launching GitHub Desktop + + If nothing happens, [57]download GitHub Desktop and try again. + (BUTTON) + +Launching GitHub Desktop + + If nothing happens, [58]download GitHub Desktop and try again. + (BUTTON) + +Launching Xcode + + If nothing happens, [59]download Xcode and try again. + (BUTTON) + +Launching Visual Studio Code + + Your codespace will open once ready. + + There was a problem preparing your codespace, please try again. + +Latest commit + + +Git stats + + * [60]95 commits + +Files + + [61]Permalink + Failed to load latest commit information. + Type + Name + Latest commit message + Commit time + [62]LICENSE + + + [63]README.md + + + (BUTTON) View code + [64]awesome [65]Mirrors + +[66]README.md + +awesome + + A curated list of awesome projects that I both learnt and drew + inspiration from whilst working on [67]glaucus: + * [68]Aalbus: A Linux distribution using musl libc, the LLVM tool + chain and a mostly (Net)BSD-derived userland + * [69]Aboriginal Linux: A shell script that builds the + smallest/simplest linux system capable of rebuilding itself from + source code + * [70]Abyss OS: A modern take on the "just enough OS" paradigm, with + a focus on modern components (LLVM, musl) and flexibility + * [71]Adelie Linux: A Free, Libre operating environment based on the + Linux kernel + * [72]agunix: Silver Unix is a POSIX userspace focused on cutting the + fat out of the typical modern Unix userland + * [73]Alfheim Linux: A systemd free, Arch Linux based operating + system customized to help you get the most out of your machine + * [74]Alpaquita Linux: A full-featured, fast and secure Linux + operating system optimized for Java, with performance features + including the BellSoft optimized musl version + * [75]Alpine Linux: A security-oriented, lightweight Linux + distribution based on musl libc and busybox + * [76]Alpine-S6: Alpine Linux Base + S6 Init System + * [77]Alter Linux: ArchLinux based distro + * [78]android-toolchain-build: The new Android GNU toolchain + * [79]apathy: A 64 bit libre linux distribution built from scratch + using apathy-mlfs for its base; utilizing musl libc, libressl, + partially busybox and sysvinit with a home-brewed init structure + written in posix shell + * [80]apathy-mlfs: A libre linux from scratch book utilizing musl + libc, libressl, sysvinit and partially busybox + * [81]Arch Linux: A simple, lightweight distribution + * [82]ARM Cross Linux From Scratch (arm-clfs): This repo, notes and + instructions are designed to build linux from scratch in a cross + compiled manner, in support of creating a stage1 tarball for + Habitat Studio, for use with arm processors + * [83]Artix Linux: A rolling-release distribution, based on Arch + Linux that uses OpenRC, runit or s6 as init because PID1 must be + simple, secure and stable + * [84]Ataraxia Linux: An independent, multi-platform, general purpose + operating system, based on the Linux kernel, musl libc and busybox + * [85]Automated Linux From Scratch (ALFS): A project that creates the + generic framework for an extendable system builder and package + installer + * [86]Bare Linux: Barely a Linux + * [87]Baserock Linux: A great way to build custom appliance systems + with Linux + * [88]Bedrock Linux: A meta Linux distribution which allows users to + utilize features from other, typically mutually exclusive + distributions + * [89]Beyond Linux From Scratch (BLFS): A project that continues + where the LFS book finishes + * [90]Beyond Musl Linux From Scratch (BMLFS): Build Recipes for MLFS + [Musl Linux From Scratch] + * [91]bleeding-edge-toolchain: All-in-one script to build + bleeding-edge-toolchain for ARM microcontrollers + * [92]Bleeding Linux From Scratch + * [93]B/LFS-s6 + * [94]Bluedragon: A security-enhanced, fully featured XFCE4 desktop, + amd64 Gentoo system, built with musl as its C standard library + * [95]bonsai: A tiny Linux distribution focused on simplicity and + security + * [96]build-linux: A short tutorial about building Linux based + operating systems + * [97]Buildroot: A simple, efficient and easy-to-use tool to generate + embedded Linux systems through cross-compilation + * [98]Build Your Own Linux: Walks users through building a basic + Linux distribution + * [99]Businesscard Linux: A Buildroot distribution small enough to + run on a business card + * [100]Carbs Linux: An in-development Linux® distribution with a + suckless mindset + * [101]Cavium: Cavium Open-Source Distributions + * [102]Chimera Linux: A Linux distribution based on FreeBSD userland + and LLVM + * [103]Clear Linux OS: An open source, rolling release Linux + distribution optimized for performance and security, from the Cloud + to the Edge, designed for customization, and manageability + * [104]clfs-arm: A project that provides you with step-by-step + instructions for building your own customized Linux system entirely + from source on the ARM architecture + * [105]CloverOS: Performance optimized default Gentoo install + * [106]CMLFS: Clang-Built Musl Linux From Scratch + * [107]Community Driven BLFS (CBLFS): An open project that takes over + after you have completed a Cross-LFS based build + * [108]CROSS-BUILDING LINUX: The Little Blue Linux build process + * [109]Cross-Compiled Linux From Scratch (CLFS): A project that + provides you with step-by-step instructions for building your own + customized Linux system entirely from source + * [110]Crosstool-NG: A versatile (cross) toolchain generator + * [111]crosware: Tools, things, stuff, miscellaneous, detritus, junk, + etc., primarily for Chrome OS / Chromium OS + * [112]Crux Linux: A lightweight Linux distribution for the x86-64 + architecture targeted at experienced Linux users + * [113]Cucumber Linux: An independent distribution that is usable as + an every day, general purpose operating system and aims to do this + in as minimalistic a way as possible and in a way that follows the + Unix Philosophy + * [114]dahliaOS: A modern, secure, lightweight and responsive + operating system, combining the best of GNU/Linux and Fuchsia OS + * [115]Debian From Scratch: An instruction manual for teaching Linux + From Scratch users how to make a fully-fledged Debian system based + on LFS + * [116]distri: A Linux distribution to research fast package + management + * [117]Diverse Linux: A spin of Exherbo Linux that provides a set of + opinionated defaults, lightweight and/or performant alternatives, + binary packages and pre-installed utilities + * [118]Docker Linux From Scratch (DLFS): Docker configuration for + building Linux From Scratch system + * [119]Dragora GNU/Linux-Libre: An independent GNU/Linux-Libre + distribution based on concepts of simplicity + * [120]EasyOS: An experimental Linux distribution + * [121]Eclectic Linux: A new mixed distribution based on Exherbo + Linux + * [122]EERIE Linux: An experimental distribution which is built with + an alternative C Library called musl, and also comes with the + package manager pacman and generally tries to be very close to Arch + Linux + * [123]ELLCC: A project using clang and the LLVM compiler + infrastructure + * [124]Eltanin: A project aiming to produce a free, simple and + complete general purpose operating system + * [125]Embedded Linux Wiki: The purpose of this wiki is to preserve + and present information about the development and use of Linux in + embedded systems as well as open source projects and tools for + general embedded development + * [126]Funtoo Linux: A community-developed Linux meta-distribution + based upon Gentoo Linux + * [127]Gary OS: An entire GNU/Linux system in a single bootable file + * [128]Gentoo Linux: A highly flexible, source-based Linux + distribution + * [129]GentooLTO: A Gentoo Portage configuration for building with + -O3, Graphite, and LTO optimizations + * [130]gentoo-s6-services + * [131]Glasnost Linux: A Linux® distribution using the Clang/LLVM + toolchain and musl libc + * [132]glaucus: An independent, open-source, rolling-release, + lightweight Linux® distribution based on musl libc and toybox, + designed from scratch for optimum performance without sacrificing + convenience + * [133]Glendix: An attempt at porting ideas from the Plan 9 operating + system to Linux + * [134]gnuxc: GNU OS Cross-Compiler + * [135]GoboLinux: An alternative Linux distribution which redefines + the entire filesystem hierarchy + * [136]Hanh Linux: An independent, source-based Linux distribution + that is fast, lightweight, simple and flexible + * [137]Heads: A minimal Linux that runs as a coreboot or LinuxBoot + ROM payload to provide a secure, flexible boot environment for + laptops and servers + * [138]iglunix: A Linux (and other kernels) distro with no GNU + components + * [139]KISS: An independent Linux distribution with a focus on + simplicity and the concept of "less is more" + * [140]Kreato Linux: An independent Linux(R) distribution focused on + modularity, simplicity and code readability, inspired from projects + such as KISS Linux and Gentoo + * [141]KSLinux: A Linux Distribution Based on GNU/Linux + * [142]LangitKetujuh: A GNU/Linux distribution with glibc and musl + libc based on VoidLinux, using runit init, KDE desktop environment, + stable rolling release and efficient resource usage + * [143]LFS-s6: s6 scripts for LFS and BLFS + * [144]lh-bootstrap: A set of scripts that build a disk image for a + virtual machine such as QEMU + * [145]Libertine Linux: A secure, built-from git-controlled source + Linux system that is fully auditable and runs solely from RAM + * [146]lightcube-bootstrap-musl: Scripts to bootstrap a build + environment for LightCube OS using musl libc + * [147]LiGurOS: A source based distribution based on a broad family + of Gentoo-based distributions + * [148]Lilala Linux: Minimal linux for single board computer + * [149]Linaro: Together with Arm, Linaro co-maintains the Arm + software ecosystem, providing the tools, security and Linux kernel + quality needed for a solid base to differentiate on + * [150]Linux From Scratch (LFS): A project that provides you with + step-by-step instructions for building your own custom Linux + system, entirely from source code + * [151]Linux From Scratch Made (more) Easy (LFS-ME): A simple, + fakeroot based, package manager for LFS heavily inspired by + Archlinux' package management + * [152]make-rootfs: Set of make recipes to bootstrap static musl / + llvm based filesystem image + * [153]managarm: A pragmatic microkernel-based OS with fully + asynchronous I/O + * [154]Mere Linux: A lightweight, server-centric Linux distribution + using musl libc, pacman and s6 + * [155]MesaLock Linux: A memory-safe Linux distribution where the + whole user space applications are rewritten in memory-safe + programming languages like Rust and Go + * [156]Metta OS: A multimedia, mobile, social OS + * [157]Minimal Linux Live (MLL): A tiny educational Linux + distribution, which is designed to be built from scratch by using a + collection of automated shell scripts + * [158]mkroot: Simple Linux build, bootable under qemu for multiple + architectures + * [159]MocaccinoOS: A minimal Musl-based Linux From Scratch + meta-distribution for the 21st century + * [160]Moebius: Minimal Linux distribution for your Raspberry PI + * [161]Monolinux: An embedded Linux distro with a single statically + linked executable + * [162]Morpheus Linux: A suckless linux distro + * [163]MUE Linux: An attempt at a minimalistic linux system with + strong ideals + * [164]musl-cross: A small suite of scripts and patches for building + musl libc cross compilers + * [165]musl-cross-make: Simple makefile-based build for musl cross + compiler + * [166]Musl-LFS-s6-Bootscripts: Bootscripts to boot a MLFS/LFS system + with s6 and s6-rc + * [167]Musl Linux From Scrath (MLFS): Linux From Scratch using Musl + as Libc + * [168]muslpi: CLFS (Cross Linux From Scratch) build system for + raspberry pi using the musl libc + * [169]mussel: The shortest and fastest script available today to + build working cross compilers that target musl libc + * [170]mutiny: BSD-inspired Linux system and research project aiming + to be a testbed for interesting system design, forward thinking + design choices, minimalism, and fun computing + * [171]myLinux: A small UNIX like OS for embedded systems + * [172]natick: A research Linux Distribution based on the latest + Linux Kernel, the BusyBox userland, and the musl C library + * [173]nenuzhnix: The most useless linux distro + * [174]NetBSD: A free, fast, secure, and highly portable Unix-like + Open Source operating system + * [175]NOIR: An independent Linux® distribution with a focus on + performance and practical functionality + * [176]noname linux: musl based, x86_64 only, lightweight, personal + distro + * [177]Non-GNU toolchain: Build a toolchain that can build Linux + kernel, a minimal userspace (e.g. nenuzhnix) and ultimately itself + without using any GNU software + * [178]Obarun Linux: Arch Linux based system without systemd + * [179]obarun-s6rcserv: s6-rc services + * [180]obarun-s6serv: s6 services + * [181]OpenBSD: A FREE, multi-platform 4.4BSD-based UNIX-like + operating system + * [182]OpenEmbedded: The build framework for embedded Linux that + offers a best-in-class cross-compile environment and allows + developers to create a complete Linux Distribution for embedded + systems + * [183]OpenMandriva: A full-featured Linux desktop and server, + sponsored by the OpenMandriva Association + * [184]OpenWrt: A Linux operating system targeting embedded devices + * [185]Optimux: Optimized Musl Linux From Scratch + * [186]OSDev: This website provides information about the creation of + operating systems and serves as a community for those people + interested in OS creation + * [187]Panda Linux: An open-source and free operating system based on + Debian/Ubuntu and built entirely by compiling source-code, using + custom optimizations + * [188]Physix: An experimental, automated Build-From-Source Linux + distribution; originally inspired by Linux From Scratch + * [189]PiLFS: Linux From Scratch on the Raspberry Pi + * [190]Prelinux: A set of scripts to build a minimal initrd and + filesystem + * [191]pts-tcc: Tiny, self-contained C compiler using TCC + uClibc + * [192]qLinux: A distribution study, that uses [193]mussel to build a + cross-compiled musl based Linux distribution + * [194]Raptix: An open-source operating system that uses [195]mussel + to build a system running a Linux kernel with a custom filesystem + hierarchy + * [196]rc: s6/s6-rc service management database + * [197]rc-user: User s6-rc hierarchy meant for use with [198]rc + * [199]rlsd2: A minimalistic GNU/Linux-libre distro + * [200]rv8.io: RISC-V simulator for x86-64 + * [201]s6-boot: Boot files for s6 + * [202]s6-overlay: s6 overlay for containers (includes execline, + s6-linux-utils & a custom init) + * [203]Sabotage Linux: An experimental linux distribution based on + musl libc and busybox + * [204]Serpent OS: A Truly Modern Linux* Distribution, Heavily Under + Construction + * [205]solyste: [s]illy, [o]dd and [l]ightweight [y]pnose's [st]atic + [e]nvironment + * [206]Spark: An Arch Linux meta-distro with some core components + swapped out + * [207]Spider Linux: A work-in-progress, modern, independent, free + and open-source Linux distribution + * [208]SSD/Linux: The SSD Linux operating system, which straps NetBSD + userland functions onto the Linux kernel + * [209]StarLinux: A Linux Distribution (rewritten from MLL) which can + be build directly on the Host Machine + * [210]static linux (stali): A static linux distribution based on the + original pre-2010 plans of the suckless.org project, however since + 2018 it became independent from suckless.org and is maintained by + Anselm solely + * [211]StelaLinux: A lightweight, simple, and fast + glibc/busybox/linux Distribution + * [212]superBoxon: A GNU/Linux distribution based on the Slackware 64 + current with a simple and human friendly BSD like init system + * [213]swerve: A suckless-inspired Unix-like monolithic kernel for + i386 + * [214]T2: A flexible Open Source System Development Environment or + Distribution Build Kit (others might even name it Meta + Distribution) + * [215]TeoraLinux: An experimental Linux Distribution with Musl, + BusyBox, and Java + * [216]tldrlfs: Too Long; Didn't Read Linux From Scratch + * [217]tomsrtbt: The most GNU/Linux on 1 floppy disk + * [218]trinity: Toy linux distro based on morpheus + * [219]UmVirt LFS (ULFS):Source code based transparent & autonomous + GNU/Linux infrastructure + * [220]Vanilla: A new radically different, simple, modern Linux + distribution based on a complete LLVM toolchain, musl and busybox + * [221]Venom Linux: A source based linux distribution originally + built on top of LFS (Linux From Scratch) guide then independently + grows make it usable for daily use + * [222]Vine Linux: A compact and lightweight Japanese Linux + distribution developed by Project Vine and many collaborators + * [223]Void Linux: A general purpose operating system, based on the + monolithic Linux® kernel + * [224]Warm Linux: A lightweight Linux distribution designed for + container-like environments + * [225]Wombat Linux: A lightweight Linux distribution that relies on + musl-libc over glibc and replaces the usual GNU Coreutils with + Suckless Base + * [226]Wyverkiss: An alternative rootfs for KISS Linux that doesn't + use GNU + * [227]Wyvertux: A(n almost) GNU-free Linux distribution + * [228]Yocto Project: An open source collaboration project that helps + developers create custom Linux-based systems regardless of the + hardware architecture + * [229]Yosild: A single shell script that builds a full, minimal + Linux distribution, based on BusyBox + * [230]Zandra Linux: A simple musl-based Linux distribution + * [231]ZYDUX: Toolbox to build the cross compiler and minimal GNU + Linux from scratch named ZYDUX + +Mirrors + + * [232]Bitbucket + * [233]Codeberg + * [234]Framagit + * [235]GitHub + * [236]GitLab + * [237]NotABug + * [238]SourceHut + +About + + A curated list of awesome projects + +Topics + + [239]awesome [240]projects [241]curated + +Resources + + [242]Readme + +License + + [243]ISC license + +Stars + + [244]132 stars + +Watchers + + [245]10 watching + +Forks + + [246]6 forks + [247]Report repository + +[248]Releases + + No releases published + +[249]Packages 0 + + No packages published + +[250]Contributors 2 + + * + * + +Footer + + © 2023 GitHub, Inc. + +Footer navigation + + * [251]Terms + * [252]Privacy + * [253]Security + * [254]Status + * [255]Docs + * [256]Contact GitHub + * [257]Pricing + * [258]API + * [259]Training + * [260]Blog + * [261]About + + (BUTTON) You can't perform that action at this time. + + You signed in with another tab or window. [262]Reload to refresh your + session. You signed out in another tab or window. [263]Reload to + refresh your session. + + (BUTTON) + +References + + Visible links: + 1. https://github.com/opensearch.xml + 2. https://github.com/firasuke/awesome#start-of-content + 3. https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo + 4. https://github.com/features + 5. https://docs.github.com/ + 6. https://skills.github.com/ + 7. https://github.blog/ + 8. https://github.com/enterprise + 9. https://github.com/team + 10. https://github.com/enterprise/startups + 11. https://education.github.com/ + 12. https://github.com/solutions/ci-cd/ + 13. https://resources.github.com/devops/ + 14. https://resources.github.com/devops/fundamentals/devsecops/ + 15. https://github.com/customer-stories + 16. https://resources.github.com/ + 17. https://github.com/topics + 18. https://github.com/trending + 19. https://github.com/collections + 20. https://github.com/pricing + 21. https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffirasuke%2Fawesome + 22. https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=firasuke%2Fawesome + 23. https://github.com/firasuke + 24. https://github.com/firasuke/awesome + 25. https://github.com/login?return_to=%2Ffirasuke%2Fawesome + 26. https://github.com/login?return_to=%2Ffirasuke%2Fawesome + 27. https://github.com/login?return_to=%2Ffirasuke%2Fawesome + 28. https://github.com/firasuke/awesome/blob/main/LICENSE + 29. https://github.com/firasuke/awesome/stargazers + 30. https://github.com/firasuke/awesome/forks + 31. https://github.com/login?return_to=%2Ffirasuke%2Fawesome + 32. https://github.com/login?return_to=%2Ffirasuke%2Fawesome + 33. https://github.com/firasuke/awesome + 34. https://github.com/firasuke/awesome/issues + 35. https://github.com/firasuke/awesome/pulls + 36. https://github.com/firasuke/awesome/actions + 37. https://github.com/firasuke/awesome/projects + 38. https://github.com/firasuke/awesome/security + 39. https://github.com/firasuke/awesome/pulse + 40. https://github.com/firasuke/awesome + 41. https://github.com/firasuke/awesome/issues + 42. https://github.com/firasuke/awesome/pulls + 43. https://github.com/firasuke/awesome/actions + 44. https://github.com/firasuke/awesome/projects + 45. https://github.com/firasuke/awesome/security + 46. https://github.com/firasuke/awesome/pulse + 47. https://github.com/firasuke/awesome/tree/{{%20urlEncodedRefName%20}} + 48. https://github.com/firasuke/awesome/branches + 49. https://github.com/firasuke/awesome/tree/{{%20urlEncodedRefName%20}} + 50. https://github.com/firasuke/awesome/tags + 51. https://github.com/firasuke/awesome/branches + 52. https://github.com/firasuke/awesome/tags + 53. https://cli.github.com/ + 54. https://desktop.github.com/ + 55. https://github.com/firasuke/awesome/archive/refs/heads/main.zip + 56. https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=216342127 + 57. https://desktop.github.com/ + 58. https://desktop.github.com/ + 59. https://developer.apple.com/xcode/ + 60. https://github.com/firasuke/awesome/commits/main + 61. https://github.com/firasuke/awesome/tree/f946424e2e29305db7356157bba158b7ad5e3232 + 62. https://github.com/firasuke/awesome/blob/main/LICENSE + 63. https://github.com/firasuke/awesome/blob/main/README.md + 64. https://github.com/firasuke/awesome#awesome + 65. https://github.com/firasuke/awesome#mirrors + 66. https://github.com/firasuke/awesome#readme + 67. https://www.glaucuslinux.org/ + 68. https://github.com/Aalbus-linux/Aalbus + 69. http://landley.net/aboriginal/ + 70. https://abyss.run/ + 71. https://www.adelielinux.org/ + 72. https://drewdevault.com/2017/05/05/Building-a-real-Linux-distro.html + 73. https://alfheimlinux.wixsite.com/alfheimlinux + 74. https://bell-sw.com/alpaquita-linux + 75. https://alpinelinux.org/ + 76. https://github.com/woahbase/alpine-s6 + 77. https://github.com/SereneTeam/alterlinux + 78. https://github.com/redstar3894/android-toolchain-build + 79. https://github.com/mssx86/apathy + 80. https://github.com/mssx86/apathy-mlfs + 81. https://www.archlinux.org/ + 82. https://github.com/predominant/arm-clfs + 83. https://artixlinux.org/ + 84. https://ataraxialinux.github.io/ + 85. http://linuxfromscratch.org/alfs/ + 86. https://github.com/uggedal/bare + 87. https://wiki.baserock.org/ + 88. https://bedrocklinux.org/ + 89. http://linuxfromscratch.org/blfs/ + 90. https://github.com/dslm4515/BMLFS + 91. https://github.com/FreddieChopin/bleeding-edge-toolchain + 92. https://islief.com/wiki/index.php/Bleeding_Linux_From_Scratch + 93. https://www.linuxquestions.org/questions/linux-from-scratch-13/%5Bannoucement%5D-b-lfs-s6-project-4175510228/ + 94. https://wiki.gentoo.org/wiki/Project:Hardened_musl/Bluedragon + 95. https://github.com/bonsai-linux/bonsai + 96. https://github.com/MichielDerhaeg/build-linux + 97. https://buildroot.org/ + 98. http://www.buildyourownlinux.com/ + 99. https://github.com/thirtythreeforty/businesscard-linux + 100. https://carbslinux.org/ + 101. https://github.com/Cavium-Open-Source-Distributions + 102. https://chimera-linux.org/ + 103. https://clearlinux.org/ + 104. https://github.com/LeeKyuHyuk/clfs-arm + 105. https://cloveros.ga/ + 106. https://github.com/dslm4515/CMLFS + 107. https://cblfs.clfs.org/index.php/Main_Page + 108. http://git.freesa.org/freesa/cbl + 109. https://trac.clfs.org/ + 110. http://crosstool-ng.github.io/ + 111. https://github.com/ryanwoodsmall/crosware + 112. https://crux.nu/ + 113. https://cucumberlinux.com/ + 114. https://dahliaos.io/ + 115. https://github.com/scottwilliambeasley/debian-from-scratch + 116. https://distr1.org/ + 117. https://gitlab.exherbo.org/diverse/diverse-design + 118. https://github.com/reinterpretcat/lfs + 119. https://www.dragora.org/en/index.html + 120. https://easyos.org/ + 121. https://github.com/eclectic-linux/design + 122. https://chiselapp.com/user/kraileth/repository/e5-musl/home + 123. http://ellcc.org/ + 124. https://eltan.in.net/ + 125. https://elinux.org/ + 126. https://www.funtoo.org/Welcome + 127. https://github.com/garybgenett/gary-os + 128. https://gentoo.org/ + 129. https://github.com/InBetweenNames/gentooLTO + 130. https://github.com/rain-1/gentoo-s6-services + 131. https://www.glasnost.org/ + 132. https://www.glaucuslinux.org/ + 133. http://www.glendix.org/ + 134. https://github.com/dm0-/gnuxc + 135. https://gobolinux.org/ + 136. https://hanh-linux.github.io/ + 137. https://github.com/osresearch/heads + 138. https://github.com/iglunix/iglunix + 139. https://kisslinux.org/ + 140. https://linux.kreato.dev/ + 141. https://github.com/Takeya-Yuki/KSLinux + 142. https://langitketujuh.id/ + 143. https://github.com/djlucas/LFS-s6 + 144. https://skarnet.org/software/lh-bootstrap + 145. https://github.com/libertine-linux/libertine + 146. https://github.com/jhuntwork/lightcube-bootstrap-musl + 147. https://liguros.gitlab.io/ + 148. https://github.com/ilmich/lilala-linux + 149. https://www.linaro.org/ + 150. http://linuxfromscratch.org/ + 151. https://github.com/FSMaxB/lfs-me + 152. https://github.com/medvid/make-rootfs + 153. https://github.com/managarm/managarm + 154. https://github.com/jhuntwork/merelinux + 155. https://github.com/mesalock-linux/mesalock-distro + 156. https://github.com/metta-systems/metta + 157. http://minimal.idzona.com/ + 158. https://github.com/landley/mkroot + 159. https://www.mocaccino.org/ + 160. http://moebiuslinux.sourceforge.net/ + 161. https://github.com/eerimoq/monolinux + 162. https://morpheus.2f30.org/ + 163. https://github.com/muevoid/mue-linux + 164. https://github.com/GregorR/musl-cross + 165. https://github.com/richfelker/musl-cross-make + 166. https://github.com/dslm4515/MLFS-S6-Bootscripts + 167. https://github.com/dslm4515/Musl-LFS + 168. https://github.com/repk/muslpi + 169. https://github.com/firasuke/mussel + 170. https://mutiny.red/ + 171. https://github.com/troglobit/myLinux + 172. https://github.com/awlsomealex/natick + 173. https://github.com/tpimh/nenuzhnix + 174. http://netbsd.org/ + 175. https://github.com/noirlinux + 176. https://github.com/xhebox/noname-linux + 177. https://github.com/tpimh/ngtc + 178. https://web.obarun.org/ + 179. https://github.com/Obarun/obarun-s6rcserv + 180. https://github.com/Obarun/obarun-s6serv + 181. https://www.openbsd.org/ + 182. http://www.openembedded.org/wiki/Main_Page + 183. https://www.openmandriva.org/ + 184. https://openwrt.org/ + 185. https://github.com/dslm4515/Optimux + 186. https://wiki.osdev.org/ + 187. https://github.com/PandaLinux/base-64 + 188. https://physixproject.org/ + 189. https://intestinate.com/pilfs + 190. https://github.com/mikejsavage/prelinux + 191. https://github.com/pts/pts-tcc + 192. https://qlinux.qware.org/doku.php + 193. https://github.com/firasuke/mussel + 194. https://github.com/dslm4515/Raptix + 195. https://github.com/firasuke/mussel + 196. https://github.com/smaeul/rc + 197. https://github.com/smaeul/rc-user + 198. https://github.com/smaeul/rc + 199. http://rlsd2.dimakrasner.com/ + 200. https://github.com/rv8-io + 201. https://github.com/Obarun/s6-boot + 202. https://github.com/just-containers/s6-overlay + 203. http://sabo.xyz/ + 204. https://www.serpentos.com/ + 205. https://framagit.org/Ypnose/solyste + 206. https://fleshless.org/pages/spark.html + 207. https://github.com/spider-linux/spiderlinux + 208. https://www.plathome.co.jp/support/labo/ssdlinux/ + 209. https://github.com/AwlsomeAlex/starlinux + 210. https://sta.li/ + 211. https://github.com/AwlsomeAlex/stelalinux + 212. https://superboxon.com/ + 213. https://github.com/swegbun/swerve + 214. https://t2sde.org/ + 215. https://github.com/AwlsomeAlex/TeoraLinux + 216. https://github.com/Sweets/tldrlfs + 217. http://www.toms.net/rb/ + 218. https://notabug.org/rain1/trinity + 219. http://umvirt.com/linux/ + 220. http://projects.malikania.fr/vanilla/ + 221. https://github.com/venomlinux + 222. https://vinelinux.org/ + 223. https://voidlinux.org/ + 224. https://github.com/WarmLinux + 225. https://wombatlinux.org/ + 226. https://github.com/wyvertux/wyverkiss + 227. https://github.com/wyvertux/wyvertux + 228. https://www.yoctoproject.org/ + 229. https://jm.iq.pl/yosild-my-your-linux-distribution/ + 230. http://zandra.xyz/ + 231. https://github.com/rom1nux/zydux-forge + 232. https://bitbucket.org/firasuke/awesome + 233. https://codeberg.org/firasuke/awesome + 234. https://framagit.org/firasuke/awesome + 235. https://github.com/firasuke/awesome + 236. https://gitlab.com/firasuke/awesome + 237. https://notabug.org/firasuke/awesome + 238. https://git.sr.ht/~firasuke/awesome + 239. https://github.com/topics/awesome + 240. https://github.com/topics/projects + 241. https://github.com/topics/curated + 242. https://github.com/firasuke/awesome#readme + 243. https://github.com/firasuke/awesome/blob/main/LICENSE + 244. https://github.com/firasuke/awesome/stargazers + 245. https://github.com/firasuke/awesome/watchers + 246. https://github.com/firasuke/awesome/forks + 247. https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ffirasuke%2Fawesome&report=firasuke+%28user%29 + 248. https://github.com/firasuke/awesome/releases + 249. https://github.com/users/firasuke/packages?repo_name=awesome + 250. https://github.com/firasuke/awesome/graphs/contributors + 251. https://docs.github.com/site-policy/github-terms/github-terms-of-service + 252. https://docs.github.com/site-policy/privacy-policies/github-privacy-statement + 253. https://github.com/security + 254. https://www.githubstatus.com/ + 255. https://docs.github.com/ + 256. https://support.github.com/?tags=dotcom-footer + 257. https://github.com/pricing + 258. https://docs.github.com/ + 259. https://services.github.com/ + 260. https://github.blog/ + 261. https://github.com/about + 262. https://github.com/firasuke/awesome + 263. https://github.com/firasuke/awesome + + Hidden links: + 265. https://github.com/ + 266. https://github.com/features/actions + 267. https://github.com/features/packages + 268. https://github.com/features/security + 269. https://github.com/features/codespaces + 270. https://github.com/features/copilot + 271. https://github.com/features/code-review + 272. https://github.com/features/issues + 273. https://github.com/features/discussions + 274. https://github.com/sponsors + 275. https://github.com/readme + 276. https://github.com/firasuke/awesome + 277. https://github.com/firasuke/awesome + 278. https://github.com/firasuke/awesome + 279. https://github.com/firasuke/awesome + 280. https://docs.github.com/articles/which-remote-url-should-i-use + 281. https://github.com/firasuke/awesome#awesome + 282. https://github.com/firasuke/awesome#mirrors + 283. https://github.com/ diff --git a/docs/linuxnews.de_2022_09_21_alte-schaetzchen-linux-optimiert-fuer-386-und-486.txt b/docs/linuxnews.de_2022_09_21_alte-schaetzchen-linux-optimiert-fuer-386-und-486.txt new file mode 100644 index 0000000..99f189f --- /dev/null +++ b/docs/linuxnews.de_2022_09_21_alte-schaetzchen-linux-optimiert-fuer-386-und-486.txt @@ -0,0 +1,186 @@ + #[1]LinuxNews » Feed [2]LinuxNews » Kommentar-Feed [3]LinuxNews » Alte + Schätzchen: Linux optimiert für i386 und i486 Kommentar-Feed + [4]alternate [5]alternate [6]alternate + + [7]Zum Inhalt springen + + [8]LinuxNews LinuxNews + + [9]LinuxNews + + News Portal rund um Freie Software und Open Source + (BUTTON) Menu + + * [10]Startseite + * [11]Artikel + * [12]Hardware + * [13]Meinung + * [14]Mobil + * [15]Kurz notiert + * [16]Softwareperlen + * [17]Podcast + * [18]Vermischtes + + i386 CPU i386 CPU + +Alte Schätzchen: Linux optimiert für i386 und i486 + + [19]21. September 2022 [20]Ferdinand Thommes [21]Kurz notiert, [22]News + [23]4 Kommentare + + Bereits 2012 fragte der damals bei Red Hat angestellte + Kernel-Entwickler Ingo Molnar bei Linus Torvalds an, ob man nicht die + Unterstützung für Intels legendären i386-Prozessor fallen lassen + könnte, da er massive Mehrarbeit bei der Entwicklung bedeute. Torvalds + entgegnete, er sei nicht nostalgisch und gab der Anfrage freie Fahrt. + Damit begann bei Linux der Niedergang der 1985 eingeführten + Architektur, die bis 2007 produziert wurde. + + Wer noch Maschinen mit i386- oder i486-Prozessoren im Keller hat und + denen neues Leben einhauchen möchte, der kann sich jetzt freuen. Die + Projekte [24]gray386linux und [25]gray486linux sind genau auf diese + Prozessoren zugeschnitten. + +Image selbst bauen + + Die Früchte hängen allerdings nicht allzu niedrig, denn ein Image für + die alten Schätzchen muss zunächst selbst erstellt werden. Aber wer + solche Maschinen aufhebt, wird den Mehraufwand vermutlich nicht + scheuen. Zudem lernt man ja auch was dabei. Die Build-Umgebung basiert + auf Fedora 35 und dem [wiki + title="Nix_(Paketmanager)"]Nix-Paketmanager[/wiki]. Bei der Variante + für i386 gilt es zunächst zu unterscheiden, ob eine FPU an Bord ist + oder nicht. Beim i486 war der Co-Prozessor (außer beim i486SX) bereits + serienmäßig verbaut. Im Verlauf des Build-Prozesses werden dann die + Kernel-Header installiert, eine User-Umgebung eingerichtet, eine + Musl-Libc und eine Busybox erstellt und optional [26]Dropbear-SSH + gebaut. Bei der Bauanleitung für i486 kommt mit Linux 5.19 sogar ein + aktueller Kernel zum Einsatz. + +Projekt für den Winter + + Auf GitHub gibt es für beide Varianten eine detaillierte Bauanleitung. + Vielleicht schlummert hier für den ein oder anderen ein Projekt für die + anstehende dunkle Jahreszeit. Viel Spaß dabei. Falls jemand von euch + solch ein Projekt angeht, wäre ich erfreut zu erfahren, was ihr + letztlich damit anstellt. + + Bild: Intel i386 DX 20 MHz microprocessor von [27]Wojciech Pedzich | + Lizenz: [28]CC BY-SA 4.0 + +Teilt den Beitrag, falls ihr mögt + + * [29]teilen + * [30]twittern + * [31]teilen + * [32]mitteilen + * [33]teilen + + [34]cpu[35]i386 + +Beitrags-Navigation + + [36]Vorheriger Beitrag:Cookie-Dialog-Blocker an Avast verkauft - + Mozilla integriert eigenen Blocker + [37]Nächster Beitrag:Mullvad stellt Open-Source Security-Token vor + Please login to comment + 4 Kommentare + Newest + Oldest Most Voted + Inline Feedbacks + View all comments + (BUTTON) Weitere Kommentare anzeigen + + Suchen + ____________________ (BUTTON) Suchen + + Archive [Monat auswählen_____] + + Kategorien[Kategorie auswählen_] + + Username oder E-Mail* + ____________________ + Passwort* + ____________________ + + Only fill in if you are not human + [ ] Angemeldet bleiben + Anmelden + [38]Registrieren + [39]Passwort vergessen? + + * [40]RSS Feed + + [41]Mastodon [42]Mastodon + + Copyright 2017 - 2023 + + * [43]Datenschutz + * [44]Netiqette + * [45]Cookie Richtlinie + * [46]Impressum + * [47]Kontakt + + [48]wpDiscuz + + + ____________________________________________________________ + ____________________________________________________________ + ____________________________________________________________ + ____________________________________________________________ + (BUTTON) Insert + +References + + Visible links: + 1. https://linuxnews.de/feed/ + 2. https://linuxnews.de/comments/feed/ + 3. https://linuxnews.de/2022/09/21/alte-schaetzchen-linux-optimiert-fuer-386-und-486/feed/ + 4. https://linuxnews.de/wp-json/wp/v2/posts/30309 + 5. https://linuxnews.de/wp-json/oembed/1.0/embed?url=https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F + 6. https://linuxnews.de/wp-json/oembed/1.0/embed?url=https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F&format=xml + 7. https://linuxnews.de/2022/09/21/alte-schaetzchen-linux-optimiert-fuer-386-und-486/#content + 8. https://linuxnews.de/ + 9. https://linuxnews.de/ + 10. https://linuxnews.de/ + 11. https://linuxnews.de/category/artikel/ + 12. https://linuxnews.de/category/hardware/ + 13. https://linuxnews.de/category/meinung/ + 14. https://linuxnews.de/category/mobil/ + 15. https://linuxnews.de/category/kurz-notiert/ + 16. https://linuxnews.de/category/softwareperlen/ + 17. https://linuxnews.de/category/podcast/ + 18. https://linuxnews.de/category/vermischtes/ + 19. https://linuxnews.de/2022/09/21/alte-schaetzchen-linux-optimiert-fuer-386-und-486/ + 20. https://linuxnews.de/author/adminx/ + 21. https://linuxnews.de/category/kurz-notiert/ + 22. https://linuxnews.de/category/news/ + 23. https://linuxnews.de/2022/09/21/alte-schaetzchen-linux-optimiert-fuer-386-und-486/#comments + 24. https://github.com/marmolak/gray386linux + 25. https://github.com/marmolak/gray486linux + 26. https://matt.ucc.asn.au/dropbear/dropbear.html + 27. https://commons.wikimedia.org/wiki/User:Wojciech_P%C4%99dzich + 28. https://creativecommons.org/licenses/by-sa/4.0/legalcode + 29. https://s2f.kytta.dev/?text=Alte%20Sch%C3%A4tzchen%3A%20Linux%20optimiert%20f%C3%BCr%20i386%20und%20i486%20https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F + 30. https://twitter.com/share?url=https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F&text=Alte%20Sch%C3%A4tzchen%3A%20Linux%20optimiert%20f%C3%BCr%20i386%20und%20i486 + 31. https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F + 32. https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F + 33. https://www.xing.com/spi/shares/new?url=https%3A%2F%2Flinuxnews.de%2F2022%2F09%2F21%2Falte-schaetzchen-linux-optimiert-fuer-386-und-486%2F + 34. https://linuxnews.de/tag/cpu/ + 35. https://linuxnews.de/tag/i386/ + 36. https://linuxnews.de/2022/09/20/cookie-dialog-blocker-an-avast-verkauft-mozilla-integriert-eigenen-blocker/ + 37. https://linuxnews.de/2022/09/21/mullvad-stellt-open-source-security-token-vor/ + 38. https://linuxnews.de/neuanmeldung/ + 39. https://linuxnews.de/password-reset/ + 40. https://linuxnews.de/feed/ + 41. https://social.anoxinon.de/@sla + 42. https://mastodon.cloud/@linuxnews_de + 43. https://linuxnews.de/datenschutz/ + 44. https://linuxnews.de/netiqette/ + 45. https://linuxnews.de/cookie-richtlinie-2/ + 46. https://linuxnews.de/impressum/ + 47. https://linuxnews.de/kontakt/ + 48. javascript:void(0); + + Hidden links: + 50. javascript:void(0); diff --git a/docs/wiki.musl-libc.org_alternatives.txt b/docs/wiki.musl-libc.org_alternatives.txt new file mode 100644 index 0000000..9d22cfc --- /dev/null +++ b/docs/wiki.musl-libc.org_alternatives.txt @@ -0,0 +1,451 @@ + [1]musl libc logo musl libc A new libc striving to be fast, simple, + lightweight, free, and correct + + ____________________ + * [2]Alternative Libraries and Programs + + [3]Compression/Decompression + + [4]Cryptography + + [5]Databases + + [6]Graphics + + [7]Video + + [8]X11 alternatives + + [9]Compilers/preprocessors + + [10]Scripting languages + + [11]PDF + + [12]Regular Expressions + * [13]Code Collections and Basic Libraries/Programs + * [14]General Suggestions/Recommendations + + Alternatives + + Resource list for alternative libraries and programs that are + lightweight, not bloated, efficient or have other useful design + characteristics and may be usable with musl. + + Alternative Libraries and Programs + + * [15]pkgconf - Drop in replacement for pkg-config with no circular + dependencies. Does not require glib. + * [16]netbsd-curses - Drop in replacement for ncurses and ncursesw, + ported from netbsd. considerably smaller than ncurses. + * [17]slibtool - Independent reimplementation of slibtool, aiming to + maintain compatibility and removing features that are unneeded on + modern systems. + * [18]cDetect - C replacement for feature detection generally + provided by utilities like GNU autotools. + * [19]freeglut - Replacement for glut. + * [20]libutf - UTF8 library (note that by using musl, UTF8 support is + automatically enabled. no need to use any 3rd party library) + * [21]gettext-tiny - gettext replacement. Provides an + extra-compatible implementation of libintl for musl, or a no-op, + along with several no-op gettext utilities, and a complete msgfmt + implementation. + * [22]gettext-stub - Provides a stub replacement for libintl. + * [23]libdrpc - Port of RPC based on Android's libdrpc. Replaces + parts of older glibc RPC functionality and/or libtirpc. + * [24]libsep - Minimal RPC library to assist compartmentalization of + small applications. + * [25]minised - Faster but limited earlier version of sed. (note that + busybox 1.20.2's sed implementation is 100% POSIX compatible and + feature-complete) + * [26]ignite - init replacement, works with runit. + * [27]linenoise - lightweight readline replacement. + * [28]libedit - drop-in replacement for readline ([29]needs a handful + of symlinks). about 30% less code. lacks some rare functions but is + compatible with a number of readline users, like gdb. + * [DEL: [30]termbox - alternative to ncurses for simple terminal + apps. 16 colors only. very small, clean, well designed code. :DEL] + only up to commit [31]66c3f91b + * [32]tinyalsa - alternative to alsalib (interfacing with kernel's + ALSA API). + * [33]libnl-tiny - drop-in replacement for netlink (libnl 1.2). may + need some [34]compatibility CFLAGS. + * [35]uuterm - slim terminal emulator written by musl's author. + * [36]udhcpc - small DHCP client, part of Busybox. use these [37]two + [38]scripts to operate it. + * [39]ndhc - small DHCP client, focus on security. + * [40]mandoc - alternative to massively bloated groff and + accompanying manpage implementation. + * [41]moe - A powerful and user-friendly console text editor + (alternative to GNU Nano and Joe), but written in C++... + * [42]textadept - Highly configurable and customizable text editor + written in C (and Lua) and based on Scintilla editor widget. + Terminal version works with ncurses or pdcurses. Also check out + Scinterm, the ncurses based version of the Scintilla editor + component. + * [43]slock - minimalist alternative to xlock and xlockmore. + * [44]star - Alternative to GNU tar. + * [45]uSTL - replacement for the C++ STL (Standard Template Library). + * [46]samurai - drop-in replacement for ninja written in C. + * [47]ETL - Embedded Template Library. A C++ template library for + embedded applications. + * [48]svn-lite - read-only replacement for bloated apache.org SVN + client. includes svn2git tool. useful for checking out that + occasional repo still not migrated to git. + +Compression/Decompression + + * [49]Sortix libz cleaned up, modern fork of zlib. + * [50]libarchive bsdtar offers a replacement for gnu tar. + * [51]Lzip family of data compressors based on the LZMA algorithm. + See [Benchmark], and [Quality-assurance]. + * [52]XZ Embedded small XZ decompressor library. + * [53]lzo very fast compression library. + * [54]gzfile.c C routines to read gzipped files. + * [55]miniz Single C source file Deflate/Inflate compression library + with zlib-compatible API, ZIP archive reading/writing, PNG writing. + * [56]flate small gzip compatible compressor lib + * [57]lz4 extremely fast (BSD-licensed) compression algorithm + * [58]lz4 alternate lz4 implementation (BSD-licensed), even smaller + * [59]basic compression library non-bloated (zlib-licensed) + implementation of several basic compression algorithms. + + [60]Large Text Compression Benchmark + +Cryptography + + * [61]TweetNaCl tiny, fully NaCl-compatible high-security + cryptography library (single C file) + * [62]libtomcrypt public domain cryptography library + * [63]kripto lightweight cryptography library written in ISO C99. + WIP. + * [64]libsodium encryption/decryption library + * [65]tropicssl SSL library (BSD) - unmaintained and lacking a few + patches for recent vulnerabilities found in PolarSSL. + * [66]PolarSSL SSL library (GPL) - commercialized and relicensed fork + of tropicssl. + * [67]cyassl SSL library (GPL) + * [68]axtls SSL library (BSD license) + * [69]selene SSL/TLS library (Apache license) + * [70]Dropbear replacement for OpenSSH. + * [71]LibreSSL drop-in replacement for (and fork of) OpenSSL. + +Databases + + * [72]tinyCDB small constant database library. Perl wrappers are + available on CPAN. + * [73]LMDB high-performance, mmap'd key-value store used in the + OpenLDAP project. + +Graphics + + * [74]Agar MIT-licensed, lightweight GUI toolkit lib written in C + * [75]iup lightweight and portable GUI toolkit written in C, has Lua + bindings + * [76]mtk lightweight GUI library written in C. currently writes + directly to videomem of the milkymist open source hardware + platform. requires port to X/SDL/FB. + * [77]GraphApp Toolkit for platform-independent graphical user + interface programming in the C language. + * [78]m2tklib Mini Interactive Interface Toolkit Library - a portable + graphical and character user interface (GUI+CUI) library for + embedded systems. + * [79]ftk GUI library for embedded systems. + * [80]SVG library + * [81]SDL_svg library + * [82]pnglite + * [83]simple-png + * [84]lodepng single-file implementation to read png files. requires + zlib. + * [85]picojpeg + * [86]SOIL Simple OpenGL Image Library + * [87]gleri OpenGL implementation for remote GL usage. + * [88]TinyGL OpenGL implementation with software rendering. needs + some fixes to work on 64bit arches. + +Video + + * [89]mpv video player forked from mplayer2 with tons of junk + removed. builds in seconds. + +X11 alternatives + + * [90]tinyxlib + * [91]nano-x + * [92]directfb + +Compilers/preprocessors + + * [93]ucpp C99 preprocessor library and program. + * [94]mcpp another C99 preprocessor library and program. + * [95]sparse mostly C99 compatible semantic analyzer and C frontend + written by Linus Torvalds. + * [96]firm/cparser C99 compatible C compiler and optimization + framework. x86 and SPARC backends. + * [97]GPP General Purpose Preprocessor. Has added functionality not + available in a standard C preprocessor. Can be used as a + preprocessor or working with templates. + * [98]vbcc mostly C99 compatible C compiler. open source but non-free + LICENSE. + * [99]cproc very promising and clean C11 compiler, using QBE as its + backend. can compile most C codebases, including GCC 4.7.4. roughly + 10x faster than GCC 8. + * [100]lacc very fast C11 compiler, targetting amd64. not far away + from approaching TCC's speed. + * [101]pcc fast C99 compiler, targetting various archs. about 20x + faster than gcc while achieving ~80% of its performance. + * [102]qbe codegen backend for compiler projects. current emits code + for amd64 and aarch64. achieves ~70% of performance of GCC -O2, + with roughly 10KLOC. + * [103]mir JIT codegen backend. supports most 64bit archs, and + features a full C11 compiler frontend to generate mir bytecode, and + an interpreter for the bytecode. targets 70% of GCC -O2 + performance. + * [104]lightning very versatile JIT codegen backend, using a single + input RISC mnemonic language, and featuring codegen for almost all + existing architectures. + +Scripting languages + + * [105]Lua is a full-fledged small embeddable as well as standalone + language. Pretty popular, but some semantic choices may make + conscious programmer cringe: accessing non-existent (mistyped) + variable returns legitimate value, array indexes start from 1, etc. + * [106]Quasar m4 is a small GNU m4-compatible re-implementation + derived from the FreeBSD m4. + * [107]Squirrel is embeddable language with C-like syntax and minimal + number of syntax/semantics idiosyncrasies. Uses reference counting. + Core builds to ~250KB for i386. uses C++ though. + + [108]General-Purpose Squirrel - fork to make a standalone + general-purpose language out of Squirrel core, without + compromising on lightweightedness. + * [109]jim embedded Tcl scripting engine in ANSI C. compiles to + 100-200KB depending on feature set. + * [110]TinyJS An extremely simple (~2000 line) JavaScript + interpreter. + * [111]42TinyJS Fork of TinyJS with more functionality. + * [112]Quad-Wheel Small but full-ECMA-262 supported JavaScript + engine, written in ANSI C. + * [113]tinypy Minimalist implementation of python in 64k of code. + +PDF + + * [114]mupdf Lightweight PDF viewer. + * [115]Poppler versus mupdf + +Regular Expressions + + Musl's regular expressions pattern matching routines are based on the + [116]TRE library. The Musl version of the code contains at least two + bug fixes that were never fixed in the original code. For file pattern + matching (fnmatch), musl uses an implementation based on the "Sea of + Stars" algorithm. + + Comparing Perl regular expressions implementations to Regex + implementations shows pattern matching performance for various cases, + but it can be like comparing apples to oranges. Perl regular expression + pattern matching is not equivalent to a regular language which can be + solved by a finite state automata. Some regex extensions also may not + be compliant with the definition of a formal regular language. + * [117]Regular Expression Matching Can Be Simple And Fast One + comparison between regex and Perl regular expressions. + * [118]Regex Benchmark Compares various regular expression methods' + performances. + * [119]PCRE performance Comparison of PCRE JIT with other regular + expression methods' performances. Older performance comparisons + don't typically include PCRE JIT which has better performance than + standard PCRE. They just use standard PCRE. + + Code Collections and Basic Libraries/Programs + + * [120]Toybox + * [121]Busybox + * [122]Heirloom Project + * [123]Utilities Chest - a set of Unix utilities written to be simple + and small + * [124]picobsd + * [125]obase Port of OpenBSD userland to Linux + * [126]noXCUse New Open XCU Simple Edition; or, No Excuse for bloat + and brokenness: a set of Unix utilities developed by musl's author. + * [127]pikhq-coreutils a (small) set of Unix utilities. + * [128]hardcore-utils a (small) set of Unix utilities. + * [129]sbase portable set of suckless Unix utilities + * [130]ubase Linux-specific set of suckless Unix utilities + (util-linux replacement) + * [131]lazy-utils a (small) set of Unix utilities to complement + toybox + * [132]usul From the main developer of sbase. non-POSIX tabular Unix + utilities. + * [133]lit cave Has a lot of lightweight replacement programs, + including a troff implementation, utilities using framebuffer and a + C compiler. + * [134]elks The elks tarball includes a collection ("elkscmd") of + very lightweight standard Unix programs, taken from Minix and other + sources. Also includes lightweight man alternative (bugfixed + version is included in hardcore-utils). + * [135]skarnet software Various utilities. + * [136]Bizarre Sources Init replacement and other small programs. + + General Suggestions/Recommendations + + * [137]Stuff that rocks Suckless.org recommendations on libraries + they prefer. + * [138]Harmful software Uriel's alternatives list. Not maintained. + * [139]Puppy Linux forum thread on Unbloated resources + * [140]choosing an ssl library + * [141]Busybox tiny utility recommendations + * [142]Unbloated resources in C (beware of stb* from nothings.org + since author is ignorant about invoking UB) + * [143]embutils + * [144]MinGW Useful links I realize the page is for MinGW, but it has + several cross-platform library recommendations including a large + list of GUIs. It's easier to refer to that page than to try to + maintain two sets of library lists (here and at the MinGW wiki) for + certain categories. + + You can contribute to this wiki! Submit pull-requests to + [145]somasis/musl-wiki. + [146]Build status [147]GitHub issues + This work is licensed under the [148]Creative Commons + Attribution-ShareAlike 3.0 Unported license, unless otherwise noted. + +References + + 1. https://wiki.musl-libc.org/ + 2. https://wiki.musl-libc.org/alternatives.html#Alternative-Libraries-and-Programs + 3. https://wiki.musl-libc.org/alternatives.html#Compression/Decompression + 4. https://wiki.musl-libc.org/alternatives.html#Cryptography + 5. https://wiki.musl-libc.org/alternatives.html#Databases + 6. https://wiki.musl-libc.org/alternatives.html#Graphics + 7. https://wiki.musl-libc.org/alternatives.html#Video + 8. https://wiki.musl-libc.org/alternatives.html#X11-alternatives + 9. https://wiki.musl-libc.org/alternatives.html#Compilers/preprocessors + 10. https://wiki.musl-libc.org/alternatives.html#Scripting-languages + 11. https://wiki.musl-libc.org/alternatives.html#PDF + 12. https://wiki.musl-libc.org/alternatives.html#Regular-Expressions + 13. https://wiki.musl-libc.org/alternatives.html#Code-Collections-and-Basic-Libraries/Programs + 14. https://wiki.musl-libc.org/alternatives.html#General-Suggestions/Recommendations + 15. https://github.com/pkgconf/pkgconf + 16. https://github.com/sabotage-linux/netbsd-curses + 17. http://git.midipix.org/cgit.cgi/slibtool + 18. http://sourceforge.net/projects/cdetect/ + 19. http://freeglut.sourceforge.net/ + 20. https://github.com/cls/libutf + 21. https://github.com/sabotage-linux/gettext-tiny + 22. http://penma.de/code/gettext-stub/ + 23. https://github.com/idunham/libdrpc + 24. https://github.com/marinosi/libsep + 25. http://www.exactcode.com/site/open_source/minised/ + 26. https://github.com/chneukirchen/ignite + 27. https://github.com/antirez/linenoise + 28. http://www.thrysoee.dk/editline/ + 29. https://github.com/sabotage-linux/sabotage/blob/master/pkg/libedit#L19 + 30. https://github.com/nsf/termbox + 31. https://github.com/nsf/termbox/commit/66c3f91b14e24510319bce6b5cc2fecf8cf5abff#commitcomment-3790714 + 32. https://github.com/tinyalsa/tinyalsa + 33. https://github.com/sabotage-linux/libnl-tiny + 34. https://github.com/sabotage-linux/sabotage/blob/master/pkg/wpa-supplicant#L20 + 35. http://git.musl-libc.org/cgit/uuterm/ + 36. http://en.wikipedia.org/wiki/Udhcpc + 37. https://github.com/sabotage-linux/sabotage/blob/master/KEEP/etc/udhcpc-script + 38. https://github.com/sabotage-linux/sabotage/blob/master/KEEP/bin/dhclient + 39. https://github.com/niklata/ndhc + 40. http://mdocml.bsd.lv/ + 41. http://gnu.org/software/moe + 42. http://foicica.com/textadept/ + 43. http://tools.suckless.org/slock + 44. http://freecode.com/projects/star + 45. https://github.com/msharov/ustl + 46. https://github.com/michaelforney/samurai + 47. https://www.etlcpp.com/ + 48. https://github.com/rofl0r/svn-lite + 49. https://sortix.org/libz/ + 50. http://www.libarchive.org/ + 51. http://lzip.nongnu.org/lzip.html + 52. http://tukaani.org/xz/embedded.html + 53. http://www.oberhumer.com/opensource/lzo/ + 54. http://wizard.ae.krakow.pl/~jb/gzfile/ + 55. http://code.google.com/p/miniz/ + 56. https://oldgit.suckless.org/flate/ + 57. https://github.com/Cyan4973/lz4 + 58. https://github.com/htruong/lz4 + 59. http://bcl.comli.eu/home-en.html + 60. http://mattmahoney.net/dc/text.html + 61. http://tweetnacl.cr.yp.to/ + 62. https://github.com/libtom/libtomcrypt + 63. https://github.com/lightbit/kripto + 64. https://github.com/jedisct1/libsodium + 65. https://github.com/axic/tropicssl + 66. https://polarssl.org/ + 67. http://yassl.com/yaSSL/Home.html + 68. http://axtls.sourceforge.net/ + 69. https://github.com/pquerna/selene + 70. https://matt.ucc.asn.au/dropbear/dropbear.html + 71. http://www.libressl.org/ + 72. http://www.corpit.ru/mjt/tinycdb.html + 73. http://symas.com/mdb/ + 74. http://libagar.org/ + 75. http://www.tecgraf.puc-rio.br/iup/ + 76. https://github.com/milkymist/mtk + 77. http://enchantia.com/software/graphapp/index.html + 78. https://code.google.com/p/m2tklib/ + 79. https://code.google.com/p/ftk/ + 80. http://www.netsurf-browser.org/projects/libsvgtiny/ + 81. http://www.linuxmotors.com/SDL_svg/ + 82. http://sourceforge.net/projects/pnglite/files/ + 83. https://code.google.com/p/simple-png/ + 84. http://lodev.org/lodepng/ + 85. https://code.google.com/p/picojpeg/ + 86. http://lonesock.net/soil.html + 87. https://github.com/msharov/gleri + 88. http://bellard.org/TinyGL/ + 89. http://mpv.io/ + 90. https://github.com/idunham/tinyxlib + 91. http://www.microwindows.org/ + 92. http://directfb.org/ + 93. http://code.google.com/p/ucpp/ + 94. http://mcpp.sourceforge.net/ + 95. https://git.kernel.org/cgit/devel/sparse/sparse.git/ + 96. http://pp.info.uni-karlsruhe.de/firm/ + 97. http://en.nothingisreal.com/wiki/GPP + 98. https://github.com/kusma/vbcc + 99. https://git.sr.ht/~mcf/cproc/ + 100. https://github.com/larmel/lacc + 101. http://pcc.ludd.ltu.se/ + 102. http://c9x.me/compile/ + 103. https://github.com/vnmakarov/mir/ + 104. https://www.gnu.org/software/lightning/ + 105. http://www.lua.org/ + 106. http://haddonthethird.net/m4/ + 107. http://squirrel-lang.org/ + 108. https://github.com/pfalcon/squirrel-modules + 109. http://jim.tcl.tk/ + 110. http://code.google.com/p/tiny-js/ + 111. https://code.google.com/p/42tiny-js/ + 112. http://code.google.com/p/quad-wheel/ + 113. http://www.tinypy.org/ + 114. http://www.mupdf.com/ + 115. http://hzqtc.github.io/2012/04/poppler-vs-mupdf.html + 116. http://laurikari.net/tre/ + 117. http://swtch.com/~rsc/regexp/regexp1.html + 118. http://lh3lh3.users.sourceforge.net/reb.shtml + 119. http://sljit.sourceforge.net/pcre.html + 120. http://landley.net/toybox + 121. http://www.busybox.net/ + 122. http://heirloom.sourceforge.net/ + 123. https://github.com/eltanin-os/utilchest + 124. http://code.google.com/p/freebsd-head/source/browse/release/?r=bbfa6f219c41b6850ef0e7699f439ad5488435ae#release%2Fpicobsd + 125. https://github.com/chneukirchen/obase + 126. http://git.musl-libc.org/cgit/noxcuse/tree/ + 127. https://github.com/pikhq/pikhq-coreutils + 128. https://github.com/rofl0r/hardcore-utils + 129. http://git.suckless.org/sbase + 130. http://git.suckless.org/ubase + 131. https://github.com/dimkr/lazy-utils + 132. http://lubutu.com/soso/usul + 133. http://litcave.rudi.ir/ + 134. http://elks.sourceforge.net/ + 135. http://skarnet.org/software/ + 136. http://www.energymech.net/users/proton/ + 137. http://suckless.org/rocks + 138. http://harmful.cat-v.org/software/ + 139. http://www.murga-linux.com/puppy/viewtopic.php?t=72359 + 140. http://teholabs.com/?p=445 + 141. http://busybox.net/tinyutils.html + 142. http://bashismal.blogspot.com/2011/10/unbloated-resources-in-c.html + 143. http://www.fefe.de/embutils/ + 144. http://www.mingw.org/wiki/Community_Supplied_Links + 145. https://github.com/somasis/musl-wiki + 146. https://github.com/somasis/musl-wiki/actions/workflows/main.yml + 147. https://github.com/somasis/musl-wiki/issues + 148. http://creativecommons.org/licenses/by-sa/3.0 diff --git a/docs/www.elinux.org_Busybox_replacement_project.txt b/docs/www.elinux.org_Busybox_replacement_project.txt new file mode 100644 index 0000000..aa20e46 --- /dev/null +++ b/docs/www.elinux.org_Busybox_replacement_project.txt @@ -0,0 +1,377 @@ + #[1]eLinux.org (en) [2]eLinux.org Atom feed + +Busybox replacement project + + From eLinux.org + Jump to: [3]navigation, [4]search + + Summary + Write a non-GPL replacement for Busybox + + Proposer + Tim Bird + +Contents + + * [5]1 Description + + [6]1.1 Supported Commands + * [7]2 Scope + * [8]3 Project Management + * [9]4 Contractor Candidates + * [10]5 Related work + * [11]6 Comments + * [12]7 Status + * [13]8 FAQ + + [14]8.1 additional questions + +Description + + Busybox is a widely used program which implements several Linux command + line utilities in a single, multi-tool binary. It is provided under the + GPL license. Due to its utility and ubiquity, it has been used in a + very large number of embedded devices. This includes use by companies + who are not as diligent about their GPL commitments as they should be. + + Busybox is arguably the most litigated piece of GPL software in the + world. Unfortunately, it is unclear what the remedy should be when a + GPL violation occurs with busybox. Litigants have sometimes requested + remedies outside the scope of busybox itself, such as review authority + over unrelated products, or right of refusal over non-busybox modules. + This causes concern among chip vendors and suppliers. + + The purpose of this project is to produce a program that is as capable + and useful as busybox for a large majority of embedded Linux projects, + such that busybox is easy to replace in existing products and can be + supplanted as the default choice for a multi-tool program in most new + projects. + +Supported Commands + + It is expected that the first major milestone release (version 1.0) of + the busybox replacement program will include the following commands: + [See the project page.] + +Scope + + The scope of the project is dependent on the target use cases that are + envisioned for the replacement tool. Busybox is currently used in a + very large number of places, and it is impractical to replace it's full + functionality in a short time. However, busybox as it currently stands + includes very many non-essential programs and features. The overall + goal would be to provide essential busybox functionality (e.g. with + that contained in busybox version 1.0). + + One additional area of commands which is outside the traditional + busybox coverage area, is Android tools provided by toolbox. Toolbox is + a non-GPL multi-tool program provided as part of the Android Open + Source Project, and used in Android devices. It is limited in + functionality, however, compared to busybox, and so many developers + install busybox in their Android devices to supplement the command set. + Google has a goal of reducing the amount of GPL software in user-space + for Android devices. A busybox replacement that implemented the toolbox + commands could useful to avoid having Android developer adopt busybox + by default. But more importantly, a replacement that just focused on + the weaknesses of toolbox could serve this tool supplementation role + that busybox fills, with very little effort. + + It is expected that it will require about 6 months of part-time + developer work to achieve the first major milestone for the project. + + This project will very likely start with a base of non-GPL software + which is already available, and has been scrutinized to be free from + GPL legal encumbrances, from the Toybox project + +Project Management + + Information about the status and management of this project are at: + [15]Busybox replacement + +Contractor Candidates + + * Rob Landley + * Emile "iMil" Heitor (Beastiebox author) + +Related work + + * [1] Busybox - [16]http://busybox.net/ + * [2] Toybox - [17]http://www.landley.net/toybox/about.html + * [3] Bsdbox - [18]http://wiki.freebsd.org/AdrianChadd/BsdBox + * [4] Opensolaris busybox - + [19]http://hub.opensolaris.org/bin/view/Project+busybox/ + + by Roland Mainz + + See + [20]http://mail.opensolaris.org/mailman/listinfo/busybox-dev + + I can't find the source, maybe it's part of the ksh93 project? + * [5] Beastiebox - [21]http://beastiebox.sourceforge.net/ + +Comments + + People interested in supporting this project can do one of several + things: + * If you are an embedded Linux developer, you can start working on + the ToyBox code, adding commands or features to it. + * If you are a company interested in sponsoring or donating + engineering resources to this project, please contact Tim Bird. (I + used to have my Sony e-mail address here, but it gave people the + wrong impression that this was a Sony project. Please use my gmail + account: tbird20d (at) gmail dot com. + +Status + + This project is still Under Construction. + + This project is in the proposal and fact-gathering stage, and is still + under construction. Please be advised that multiple aspects of this + project are still being defined and under consideration. We have not + 100% committed to using ToyBox as the replacement, although this seems + very likely at this point. If the project proceed, then when it is + launched, it will likely be announced with more firm details about the + roadmap, governance, license and schedule. + +FAQ + + * Q. Simply providing the source, as the licence requires, would + avoid litigation. Isn't that easier than re-writing busybox? + * A. It is true that providing the source would avoid litigation. In + most cases, this *is* easier than re-writing busybox. However, in + some cases - especially when dealing with a naive or defunct + supplier, it can be difficult or impossible to find the 'correct' + source for busybox. It would be better not to get into a situation + where the lack of correct source from a 3rd party supplier resulted + in extreme remedies being required. This project aims to make a + useful alternative to busybox which completely eliminates any + possibility of infringement, wrongdoing, and risk of litigation for + this particular piece of software. + + * Q. Isn't this a lot of work to avoid a relatively small effort + (publishing the source to busybox)? + * A. It will be some work, but it will likely only have to be done + once, and the burden and/or cost of the work can be distributed + throughout the industry. The cost to a single company to support + this project is very small in comparison to the legal liability and + costs should some problem occur with busybox compliance. + + * Q. Is this being done to prevent the SFC from asking for the source + to the Linux kernel? + * A. No, although it would have that effect. As part of their request + to remedy a busybox GPL violation, the SFC does ask for source code + unrelated to busybox. Personally, I believe this is improper. + However, my main reason for proposing this project is to avoid + having the SFC gain review authority over unrelated products + produced by a company. The larger the set of Linux-based products + that are produced by a company, the greater exposure there is for a + possible mistake, and the greater potential costs that would incur + in the event of litigation and/or settlement. + + * Q. Wouldn't it be morally better to help companies fulfill their + GPL obligations, than to have them avoid GPL software? + * A. There are multiple people who provide consulting services to + help people fulfill their GPL obligations. This is a good thing and + it should be encouraged. Helping companies avoid infringing the + license of software they use is good. Also good is providing + software for companies that helps them avoid legal entanglements at + all. Arguments beyond this get into BSD vs. GPL license wars, which + I don't think are productive to engage in here. + + * Q. Tim Bird, the proposer of this project, works for Sony. Is this + a Sony project? + * A. No. Although Tim is employed by Sony, he spends a portion of his + employed time working on behalf of the embedded industry to improve + Linux and encourage GPL compliance. As of February 2, 2012, Sony + has not endorsed or agreed to support this project. This wiki page + is for gathering information and project description information, + to present to various companies to solicit support and resources + for the project. + + * Q. Can Tim's creation of this proposal be used to infer anything + about Sony's compliance record, future compliance intent, or other + business practices? + * A. Tim has only recently informed his management about this + proposal, and Sony has not yet (as of 2/2/12) agreed to support it. + So, "no, not really". Sony has a good compliance record, and has + strong compliance policies in place. Tim is doing this as part of + his (paid for by Sony) role in the industry to address issues which + inhibit the adoption of Linux in consumer electronics. + + * Q. If it doesn't affect Sony, why are you doing this? How does the + busybox litigation and the remedy terms requested by the SFC + inhibit the adoption of Linux in consumer electronics? + * A. It is not expected to affect Sony directly, because Sony has + good compliance practices. However, any company can make a mistake. + There are instances where this litigation and the terms requested + by the SFC have resulted in companies dropping their embedded Linux + projects. It has also caused even compliant companies to + re-evaluate their adoption of Linux. This has a net negative effect + (in my opinion) on the adoption of Linux and ultimate amount of GPL + software produced. Tim (and Sony) view the production of GPL + software as a good thing. It does sound strange that this is the + goal when the proposed project exists to replace a piece of GPL + software with a non-GPL piece of software, but the overall desired + affect of this project is to encourage more companies to adopt GPL + software (particularly the Linux kernel), and to comply with the + obligations of the GPL license. + + [feel free to add new questions here. The ones above feel a bit + 'rigged'.] + +additional questions + + * Q. What companies using Busybox did the SFC request unrelated + source code from - please clarify unrelated? + * A. My understanding is that everyone the SFC litigates and + eventually settles with is required to pass SFC audits for 3 years. + See [22]http://lwn.net/Articles/478337/ I believe that SFC requires + auditing of every GPL-based product a company ships, whether or not + it had compliance issues. + + * Q. What companies dropped embedded Linux projects in response to + litigation from the SFC?? + * A. LinkSys/Cisco is one example. See + [23]http://mjg59.dreamwidth.org/10437.html?thread=301509#cmt301509 + + * Q. What compliant companies re-evaluated their adoption of Linux, + please clarify 're-evaluate`? + * A. Unfortunately, a lot of the reaction to the lawsuits was + discussed in private and with the expectation of confidentiality. I + am not at liberty to provide details here from my experience (this + is Tim writing.) + + Retrieved from + "[24]https://elinux.org/index.php?title=Busybox_replacement_project&old + id=110216" + [25]Category: + * [26]Project proposals 2012 + +Navigation menu + +Personal tools + + * [27]Log in + * [28]Request account + +Namespaces + + * [29]Page + * [30]Discussion + + [ ] + +Variants + +Views + + * [31]Read + * [32]View source + * [33]View history + + [ ] + +More + +Search + + ____________________ Search Go + +Navigation + + * [34]Main Page + * [35]Community portal + * [36]Current events + * [37]Recent changes + * [38]Help + * [39]Volunteering + +Where else to find us + + * [40]Mastodon + * [41]Discord + * [42]Twitter (@elinux) + * [43]#elinux on Libera.Chat + * [44]Facebook (@elinux.org) + * [45]Mailing Lists + * [46]Matrix + +Tools + + * [47]What links here + * [48]Related changes + * [49]Special pages + * [50]Printable version + * [51]Permanent link + * [52]Page information + + * This page was last edited on 22 March 2012, at 14:10. + * Content is available under [53]a Creative Commons + Attribution-ShareAlike 3.0 Unported License unless otherwise noted. + + * [54]Privacy policy + * [55]About eLinux.org + * [56]Disclaimers + + * [57]a Creative Commons Attribution-ShareAlike 3.0 Unported License + * [58]Powered by MediaWiki + +References + + Visible links: + 1. https://www.elinux.org/opensearch_desc.php + 2. https://www.elinux.org/index.php?title=Special:RecentChanges&feed=atom + 3. https://www.elinux.org/Busybox_replacement_project#mw-head + 4. https://www.elinux.org/Busybox_replacement_project#p-search + 5. https://www.elinux.org/Busybox_replacement_project#Description + 6. https://www.elinux.org/Busybox_replacement_project#Supported_Commands + 7. https://www.elinux.org/Busybox_replacement_project#Scope + 8. https://www.elinux.org/Busybox_replacement_project#Project_Management + 9. https://www.elinux.org/Busybox_replacement_project#Contractor_Candidates + 10. https://www.elinux.org/Busybox_replacement_project#Related_work + 11. https://www.elinux.org/Busybox_replacement_project#Comments + 12. https://www.elinux.org/Busybox_replacement_project#Status + 13. https://www.elinux.org/Busybox_replacement_project#FAQ + 14. https://www.elinux.org/Busybox_replacement_project#additional_questions + 15. https://www.elinux.org/Busybox_replacement + 16. http://busybox.net/ + 17. http://www.landley.net/toybox/about.html + 18. http://wiki.freebsd.org/AdrianChadd/BsdBox + 19. http://hub.opensolaris.org/bin/view/Project+busybox/ + 20. http://mail.opensolaris.org/mailman/listinfo/busybox-dev + 21. http://beastiebox.sourceforge.net/ + 22. http://lwn.net/Articles/478337/ + 23. http://mjg59.dreamwidth.org/10437.html?thread=301509#cmt301509 + 24. https://elinux.org/index.php?title=Busybox_replacement_project&oldid=110216 + 25. https://www.elinux.org/Special:Categories + 26. https://www.elinux.org/Category:Project_proposals_2012 + 27. https://www.elinux.org/index.php?title=Special:UserLogin&returnto=Busybox+replacement+project + 28. https://www.elinux.org/Special:RequestAccount + 29. https://www.elinux.org/Busybox_replacement_project + 30. https://www.elinux.org/index.php?title=Talk:Busybox_replacement_project&action=edit&redlink=1 + 31. https://www.elinux.org/Busybox_replacement_project + 32. https://www.elinux.org/index.php?title=Busybox_replacement_project&action=edit + 33. https://www.elinux.org/index.php?title=Busybox_replacement_project&action=history + 34. https://www.elinux.org/Main_Page + 35. https://www.elinux.org/eLinux.org:Community_portal + 36. https://www.elinux.org/eLinux.org:Current_events + 37. https://www.elinux.org/Special:RecentChanges + 38. https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents + 39. https://www.elinux.org/Sitesupport-url + 40. https://fosstodon.org/@elinux + 41. https://discord.com/channels/910986089798447144/910986089798447147 + 42. https://twitter.com/elinux + 43. irc:///#elinux@irc.libera.chat + 44. https://www.facebook.com/elinuxorg-750739005020534/ + 45. http://www.elinux.org/ELinuxWiki:Mailing_List + 46. https://matrix.to/#/#elinux:matrix.org + 47. https://www.elinux.org/Special:WhatLinksHere/Busybox_replacement_project + 48. https://www.elinux.org/Special:RecentChangesLinked/Busybox_replacement_project + 49. https://www.elinux.org/Special:SpecialPages + 50. https://www.elinux.org/index.php?title=Busybox_replacement_project&printable=yes + 51. https://www.elinux.org/index.php?title=Busybox_replacement_project&oldid=110216 + 52. https://www.elinux.org/index.php?title=Busybox_replacement_project&action=info + 53. https://creativecommons.org/licenses/by-sa/3.0/ + 54. https://www.elinux.org/eLinux.org:Privacy_policy + 55. https://www.elinux.org/eLinux.org:About + 56. https://www.elinux.org/eLinux.org:General_disclaimer + 57. https://creativecommons.org/licenses/by-sa/3.0/ + 58. https://www.mediawiki.org/ + + Hidden links: + 60. https://www.elinux.org/Main_Page diff --git a/docs/www.monperrus.net_martin_compiling-tcc-with-dietlibc.txt b/docs/www.monperrus.net_martin_compiling-tcc-with-dietlibc.txt new file mode 100644 index 0000000..b793cad --- /dev/null +++ b/docs/www.monperrus.net_martin_compiling-tcc-with-dietlibc.txt @@ -0,0 +1,53 @@ + Compiling tcc with dietlibc + + by Martin Monperrus + + [1]Tcc (aka Tiny C Compiler, or tinycc) is a very lightweight C + compiler. [2]Dietlibc is a lighweight libc (as opposed to [3]GNU libc). + + It is possible to compile tcc itself using dietlibc. First download the + source code of tcc and install dietlibc (apt-get install dietlibc-dev). + + You have to do the following. + + In config.mak, modify the compiling and linking flags: + CFLAGS=-I/usr/include/diet/ -D__dietlibc__ -DCONFIG_TCC_STATIC + LDFLAGS=-L/usr/lib/diet/lib/ -nostartfiles + + CONFIG_TCC_STATIC says that dynamic loading (libdl) should not be used. + However, there is a dependency to libdl at linking time (-ldl). + + In `Makefile': + * remove LIBS+=-ldl. + * add crt0.o to linked objects ` $(CC) -o $@ crt0.o $^ $(LIBS) + $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(LINK_LIBTCC) + + [4]crt0.o is the startup file which provides function _start as entry + point. Function _start of dietlibc is in a file called start.o. We copy + it to crt0.o (since this name is hard coded in tcc, see + [5]http://www.monperrus.net/martin/compiling-c-code-with-dietlibc-and-t + cc): + $ cp /usr/lib/diet/lib/start.o crt0.o + + Then, simply build tcc: + $ make + + Results: Using dietlibc, the resulting tcc weighs 211k and libtcc1.a + 16k. Using the GNU libc, it is respectively 583k and 52k. + + Tagged as: + * [6]programming + + Created on January 05, 2014 Edit + + [7]42? No: + +References + + 1. http://bellard.org/tcc/ + 2. http://www.fefe.de/dietlibc/ + 3. https://www.gnu.org/software/libc/ + 4. http://en.wikipedia.org/wiki/Crt0 + 5. http://www.monperrus.net/martin/compiling-c-code-with-dietlibc-and-tcc + 6. https://www.monperrus.net/martin/programming + 7. https://queue.acm.org/detail.cfm?id=3534857 diff --git a/scripts/build.sh b/scripts/build.sh index 92d055c..f1ff80e 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -259,7 +259,7 @@ if [ ! -d "${BASE}/root/stage1/include/linux" ]; then rm -rf "linux-${LINUX_KERNEL_VERSION}" tar xf "${BASE}/downloads/linux-${LINUX_KERNEL_VERSION}.tar.gz" cd "linux-${LINUX_KERNEL_VERSION}" - CC=false make V=1 ARCH=x86 INSTALL_HDR_PATH="${BASE}/root/stage1" headers_install + CC=false make ARCH=x86 INSTALL_HDR_PATH="${BASE}/root/stage1" headers_install cd .. else echo "stage1 kernel headers exist" @@ -354,8 +354,7 @@ else echo "stage1 sdhcp exists" fi - - +# for vi if [ ! -f "${BASE}/root/stage1/lib/libncurses.a" ]; then rm -rf "netbsd-curses-${NETBSD_NCURSES_VERSION}" tar xf "${BASE}/downloads/netbsd-curses-${NETBSD_NCURSES_VERSION}.tar.gz" @@ -369,6 +368,7 @@ else echo "stage1 netbsd-curses exists" fi +# for vis if [ ! -f "${BASE}/root/stage1/lib/libtermkey.a" ]; then rm -rf "libtermkey-${LIBTERMKEY_VERSION}" tar xf "${BASE}/downloads/libtermkey-${LIBTERMKEY_VERSION}.tar.gz" @@ -384,6 +384,7 @@ else echo "stage1 libtermkey exists" fi +# for vi, tmux if [ ! -f "${BASE}/root/stage1/lib/libevent.a" ]; then rm -rf "libevent-${LIBEVENT_VERSION}" tar xf "${BASE}/downloads/libevent-${LIBEVENT_VERSION}.tar.gz" @@ -429,6 +430,7 @@ else echo "stage1 tmux exists" fi +# for mandoc if [ ! -f "${BASE}/root/stage1/lib/libz.a" ]; then rm -rf "zlib-${ZLIB_VERSION}" tar xf "${BASE}/downloads/zlib-${ZLIB_VERSION}.tar.gz" @@ -476,6 +478,7 @@ else fi if [ ! -f "${BASE}/root/stage1/boot/bzImage" ]; then + echo "Building the Linux kernel.." rm -rf "linux-${LINUX_KERNEL_VERSION}" tar xf "${BASE}/downloads/linux-${LINUX_KERNEL_VERSION}.tar.gz" cd "linux-${LINUX_KERNEL_VERSION}" |