busybox VS u-boot

Compare busybox vs u-boot and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
busybox u-boot
9 19
1,526 3,597
2.4% 3.8%
1.7 10.0
4 months ago 6 days ago
C C
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

busybox

Posts with mentions or reviews of busybox. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-28.
  • Ash: A Gentle Primer
    1 project | news.ycombinator.com | 7 Oct 2023
    Also known as Dash in Debian (it's satandard POSIX shell) and sh in Busybox that sadly tainted the original BSD source file with GPL2.

    https://github.com/mirror/busybox/blob/master/shell/ash.c

  • Everything I wish I knew when learning C
    2 projects | news.ycombinator.com | 28 Nov 2022
    More Good projects to learn from:

      - Busybox (https://github.com/mirror/busybox)
  • what are some tiny c programs I can play about with?
    3 projects | /r/cprogramming | 8 Nov 2022
    Also, it's barebones POSIX, and not the Linux extensions you commonly think of. But, that means the processes are a lot simpler, and the code is often less complex. So it's a good place for a beginner to dip into to see how .e.g mv works, compared to GNU mv.
  • Looking for a simpler version of BusyBox for educational purposes
    4 projects | /r/linux_programming | 3 Nov 2022
    Sure... There are symlinks in the installation, and there's a small main() function that dispatches execution to the appropriate function based on argv[0], but that doesn't significantly impact the C implementation of each individual tool. Those seem pretty straightforward, to me. A developer reading.. e.g. chmod.c isn't going to see any evidence of symlinks, and minimal impact from the external main() function.
  • Any good resources on making a C implementation of the Unix ls command?
    5 projects | /r/C_Programming | 1 Nov 2022
    BusyBox: https://github.com/mirror/busybox/blob/master/coreutils/ls.c
  • /* Act like "true" by default; false.c overrides this. */
    3 projects | /r/programmingcirclejerk | 21 Oct 2022
    true false
  • ISC DHCP Server has reached EOL
    3 projects | news.ycombinator.com | 10 Oct 2022
    Ok here is my followup. I didn't go into detail about kea hooks [0] because I didn't write any kea hook before, but from what I can tell it should cover all your needs. You have to write c code which I find absurd tbh, but if it has the functionality you are looking for it could be a solution.

    I already posted my dnsmasq "solution" so I will skip this. If you want a code example I could whip you one up.

    Then there is coredhcp [1] and you can write plugins written in go for it.

    From time to time some hobby dhcp server pop up, but most fade away since (I guess) the existing solutions are "good enough". I for instance implement a automatic provisioning and configurating dhcp setup with tftp and pxe boot using dnsmasq. It automatically creates pxe configs based on the mac address and some other stuff (tm). Kea seemed overkill for this usecase and I'm quite happy with what I got.

    Your use case of automatically fixing hostnames through ISC seems a bit overkill to me as well to be frank. My home network has a few VLANs and every device in it is managed manually. It's a one time setup and most automation is unnecessary (and some devices in my network flatout ignore some dhcp options....). Aaaaanyway I still think that most dhcp servers out there support some form of scripting (heck even udhcpcd has a lease notify script that could be hacked to offer some of that functionality even though this gets only executed after the fact so a bit useless [2]).

    > oh wait, I wonder how much ISC was paid … to do exactly this EOL … by these major ISPs?

    I don't know. Nothing?

    > Plausible future: I can envision a special DHCP vendor-specific OPTION to use time-based blockchain hash to further solidify their hold.

    Reading your cynic banter I'm quite happy of not having your DHCP problems. Looking through your github repositories I can find a bunch of configuration files for dhclient, but not much in form of ISC configs (only the nintendo fix you posted in your first post). Would be really interested in your setup.

    [0] https://kea.readthedocs.io/en/latest/arm/hooks.html

    [1] https://github.com/coredhcp/coredhcp

    [2] https://github.com/mirror/busybox/blob/master/examples/udhcp...

  • A Little Story About the `Yes` Unix Command
    6 projects | news.ycombinator.com | 21 Jul 2022
  • How good is a router without a hardware clock as a NTP server?
    1 project | /r/openwrt | 6 May 2021
    https://github.com/mirror/busybox/blob/121b02d6b6c9f276e7f8da560e5996d3e389cd63/networking/ntpd.c#L175

u-boot

Posts with mentions or reviews of u-boot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • Just about every Windows/Linux device vulnerable to new LogoFAIL firmware attack
    4 projects | news.ycombinator.com | 6 Dec 2023
    coreboot just initializes the hardware, the logo is something that the payload displays: https://www.coreboot.org/Payloads

    The most typically used payload is u-boot: https://docs.u-boot.org/en/latest/

    u-boot supports specifying splash screens via "splashfile", but it seems only bmp and maybe some raw image format are supported: https://github.com/u-boot/u-boot/blob/2f0282922b2c458eea7f85...

    In other words, no support for png, which this exploit uses :). That doesn't mean that coreboot/u-boot aren't written in C though which is a language known for its vulnerabilities.

  • Welcome Debian riscv64
    2 projects | news.ycombinator.com | 24 Jul 2023
    Probably a better example than WiFi would be the on-chip SDRAM controller. It's always somebody's IP and there's a blob in the boot firmware that's just binary register settings. Like so:

    https://github.com/u-boot/u-boot/blob/master/arch/riscv/dts/...

  • GPL Code in Atgames Products
    2 projects | /r/LegendsUltimate | 25 Oct 2022
    Hello, It's my understanding that the following OSS software is used in the AtGames Legends family of products. Specifically: "Das U-Boot" https://github.com/u-boot/u-boot GPL-2.0+ Linux Kernel https://github.com/torvalds/linux GPL-2.0 The AtGames website at https://www.atgames.us/pages/credits does not contain the source code used in these products. Specifically, the GPL requires that if any modifications are made to GPL code, you must make the source code available to the users of the program as described in the GPL, and they must be allowed to redistribute and modify it as described in the GPL. Any modification to u-boot or the Linux Kernel adding the ability to boot a device must be made available to users of the program. Please see the following links regarding acceptable use of GPL software: https://www.gnu.org/licenses/gpl-faq.en.html#GPLRequireSourcePostedPublic https://www.gnu.org/licenses/gpl-faq.en.html#WhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions https://www.gnu.org/licenses/gpl-faq.en.html#GPLCommercially https://www.gnu.org/licenses/gpl-faq.en.html#GPLInProprietarySystem https://www.gnu.org/licenses/gpl-faq.en.html#DistributingSourceIsInconvenient Please let this request serve as written notice of a request for source code for the OSS software used in the following products: HA2810, HA2811, HA2812 AtGames Legends Core Puck HA2819 AtGames Legends Core Max HA8800, HA8801, HA8802 AtGames Legends Ultimate HA8810, HA8812 AtGames Legends Ultimate Mini HA8819, HA8819C AtGames Legends Pinball (Model unknown) AtGames Legends Pinball Micro At this point in time, AtGames is in violation of the GPL and should work to return to compliance by publishing the requested source code and making it available to users of the products.
  • How does ARM support for Linux work? Why do they use custom kernels, OS instead of mainline and the typical distros?
    3 projects | /r/linux | 10 Sep 2022
    Upstream u-boot also supports quite a lot of boards: https://github.com/u-boot/u-boot/tree/master/arch/arm/dts
  • How to build a newer version of u-boot for the board smdk5250 (exynos 5250 of the google-samsung ARM chromebook.
    1 project | /r/embeddedlinux | 4 Sep 2022
    git clone https://github.com/u-boot/u-boot make smdk5250_defconfig Makefile:40: *** missing operator. Stop.
  • FreeBSD/riscv64 on QEMU with Arch
    1 project | /r/archlinux | 27 Apr 2022
    Hey everyone, if this question is off-topic I apologize in advance and if you can redirect me into correct channel or any other source where I can ask question I would happily do, for now I think this is the best place to ask. I daily drive arch and wanted to run freeBSD/riscv64 image on qemu following this https://wiki.freebsd.org/riscv#QEMU_Emulator and u-boot guide: https://github.com/u-boot/u-boot/blob/master/doc/board/emulation/qemu-riscv.rst However it seems I'm doing something wrong and compilation results in error here is all additional info: https://pastebin.com/72shccGa
  • Guide: Hush Shell-Scripting Language
    23 projects | news.ycombinator.com | 25 Apr 2022
  • Meine "4 Std." Arbeitswoche. Eine Beschreibung über mein Arbeitsalltag im Homeoffice
    1 project | /r/de | 1 Feb 2022
  • Intel completely disables AVX-512 on Alder Lake after all
    1 project | news.ycombinator.com | 7 Jan 2022
    The normal way this is done is the DDR training blob is just embedded into the bootloader like any other data, and the bootloader loads it into the PMU. Same exact end result, minus involving a Cortex-M4 core for no reason and minus sticking the blob in external flash for no reason. Here, this is how U-Boot does it on every other platform:

    https://github.com/u-boot/u-boot/blob/master/drivers/ddr/imx...

    Same code, just running on the main CPU because it is absolutely pointless running it on another core, unless you're trying to obfuscate things to appease the FSF. And then the blob gets appended to the U-Boot image post-build:

    https://github.com/u-boot/u-boot/blob/master/tools/imx8m_ima...

    Purism went out of their way and wasted a ton of engineering hours just to create a more convoluted process with precisely the same end result, because somehow all these extra layers of obfuscation made the blob not a blob any more in the FSF's eyes.

  • PinePhone Pro was announced last week. AMA.
    8 projects | /r/linux | 18 Oct 2021
    The RK3399 LPDDR4 training code is open-source (albeit rather impenetrable to read) - implementations exist in coreboot, u-boot, and levinboot, so closed source firmware isn't required. I'm afraid I don't know answers to the other questions.

What are some alternatives?

When comparing busybox and u-boot you can also consider the following projects:

hush - Hush is a unix shell based on the Lua programming language

coreboot - Mirror of https://review.coreboot.org/coreboot.git. We don't handle Pull Requests.

coreutils - upstream mirror

barebox - The barebox bootloader - Mirror of ssh://[email protected]/barebox

levinboot

gcc

waydroid - Waydroid uses a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu.

lash - A modern, robust glue language

beaglebone-ai - BeagleBone AI - the fast track for embedded machine learning

freebsd-src - The FreeBSD src tree publish-only repository. Experimenting with 'simple' pull requests....

busybox - Docker Official Image packaging for Busybox