Tagged: busybox compile
- This topic has 22 replies, 8 voices, and was last updated Aug 27-9:23 am by PDP-8.
-
AuthorPosts
-
August 21, 2025 at 8:27 pm #184224
PDP-8
MemberLoaded question. I’m fully aware of the history and politics. Don’t need that.
And I’m NOT trying to “change” antiX ! This is just for me, but I could use some pointers if this is even possible or usable.
I’m not a total busybox expert, but am familiar with how to use it, creating symlinks and all that. I’ve compiled it both static and dynamic, but I don’t use musl or any systemctl options either. I’m no stranger there.
Since I’m not a system-designer (obviously), I wonder if anyone has any tips on how to make busybox prominent at the system level as well. Ie, is there a “pipedream” way of changing a few files or scripts to do this, and let me crash-and-burn on my own with my own iso-snapshot of course. π
No flames please, I’m just an experimenter and antiX’s rock-solid snapshot tools allows things like this to happen. TIA…
August 21, 2025 at 9:22 pm #184225
techoreMemberpdp-8, not done it but if I was to tackle the project, I would take a closer look at prowlergr’s work (packages) in this thread: http://www.antixforum.com/forums/topic/antix-23-2-init-diversity-2025-remaster-edition/.
@prowlrgr, you lurking about? π
Knowledge speaks, but wisdom listens.
August 21, 2025 at 10:52 pm #184227
Brian MasinickModeratorpdp-8, not done it but if I was to tackle the project, I would take a closer look at prowlergrβs work (packages) in this thread: http://www.antixforum.com/forums/topic/antix-23-2-init-diversity-2025-remaster-edition/.
@prowlrgr, you lurking about? π
Great suggestion @techore.
@ProwlerGr has created multiple respins allowing us to experience multiple init alternatives; the project is init-diversity.
--
Brian Masinick
Alternate "Search B":
This search pageAugust 21, 2025 at 11:04 pm #184228PDP-8
MemberThanks gang! Clearly ProwlerGr has cloned himself, and now *they* are keeping pretty quiet about it. Mind blown.
But my thought is not about init specifically. It’s about seeing how far I can go replacing the gnu-utils, bash etc, with all busybox replacements system-wide before I crash and burn. π
Nothing against bash, gnu utils etc. I just want to see how far I can go, or if I need to do band-aid fixups for bashisms. Just for kicks.
- This reply was modified 1 year, 1 month ago by PDP-8.
August 21, 2025 at 11:57 pm #184230Robin
MemberI just want to see how far I can go, or if I need to do band-aid fixups for bashisms.
Well, when purging bash and gnu from a system, don’t expect gnu bash scripts to be compatible any longer. I guess you’ll see many antiX scripts stop working, some other will continue when either POSIX compliant, avoiding bashisms, or not running as bash script but e.g. python or whatever. I can state this for antiX Control Centre, Unplugdrive, antiXscreenshot2, antiX TV, antiX Radio, antiX Acoustic Colours etc., which all rely on the gnu bash version as present in antiX. You’ll have to port all that to make it work on non-bash systems, by spotting and thinking about how to replace any bash specific syntax used in them.
Windows is like a submarine. Open a window and serious problems will start.
August 22, 2025 at 4:23 am #184238PDP-8
MemberYeah, but I’m on my way! (Kids, don’t do this at home)
Since I don’t know what I’m doing, I just wanted to start out, and found a way to get to the bb shell as default:
1) Delete slimski
2) As root, in /bin , echo “busybox sh” > bbsh. (I just chose bbsh out of air)
3) Make bbsh executable with chmod
4) As root, edit /etc/passwd to change my shell from bash to bbshLogging in now using startx. Slimski didn’t like me doing this. π
I’m up and running with busybox ash inside of RoxTerm, although I’ve lost conky, the background, etc, but usable so far. I’ll find out what else I’ve borked, and see if I can’t crowbar a solution! Totally hacky, and there’s probably a better way to do this, but I’m in! π
Update: whew! At least the gui of iso-snapshot works. And of course antiX-cli-cc. I’ve got a feeling I’ll be using these a lot.
- This reply was modified 1 year, 1 month ago by PDP-8.
- This reply was modified 1 year, 1 month ago by PDP-8.
- This reply was modified 1 year, 1 month ago by PDP-8. Reason: typos
August 22, 2025 at 5:52 am #184245anticapitalX
Memberthe gui of iso-snapshot works. And of course antiX-cli-cc. Iβve got a feeling Iβll be using these a lot.
@PDP-8 – This is GREAT! Thanks for sharing your adventure and that clever workaround with bbsh. Your experimental spirit is exactly what makes the antiX community awesome.
What you’ve done is pretty smart – creating that custom shell wrapper and switching it in /etc/passwd. You’re basically pioneering a “BusyBox-first” antiX variant! The fact that iso-snapshot still works is huge – you can create backups and safely experiment everything!
BusyBox really shines in scenarios like this because it provides consistent POSIX-compliant behavior across all its 400+ utilities. No more worrying about different versions of grep, sed, or awk behaving differently. Everything comes from one standardized codebase, which is exactly what @Robin mentioned about avoiding those pesky bashisms.
The beauty is that once you get this stable, you could actually share your BusyBox-enhanced ISO with others who want that lean, consistent experience. antiX’s snapshot tools make you a potential distro maintainer!
Keep experimenting and don’t worry about the crashes – that’s how the best discoveries happen. Looking forward to hearing about your progress as you work through the GUI dependencies and script compatibility. You might just create something really useful for the embedded/minimal system crowd.
Godspeed with the crowbar solutions!
Let's accept antiX as it is
Pure and Elegant by its natureAugust 22, 2025 at 6:37 am #184246PDP-8
MemberAh, see you guys inspire me! Crashing and burning is fun. As long as iso-snapshot is around. π
Changed the shell to a login type, so that I can alias stuff.
In /bin (and I guess also /usr/bin), I changed the initial echo (as root) to:
echo "busybox sh -l" > bbsh(Don’t forget to make bbsh executable, chmod +x bbsh)
Now I created my own ~/.profile (or use existing if present) without disturbing the system /etc/profile to stuff little alias goodies in. Like
alias ls='ls --color'BORKED my audio! So I temporarily switched out of pipewire to the old system, to be able to call up alsamixer easily. But got hit by the “host not active” or some such.
Solved temporarily by restarting it with the default card:
sudo alsamixer -c 0Now I’ve got a steampunk-sized control. But no problem! When there is a minimized terminal(s) or programs in the tray, just putting the mouse pointer over it, and using the scroll-wheel lets me choose them in style! Gotta’ get my userland stabilized before I go deeper into deep root-level stuff.
Oh yes, I’m making antiX mine. π
- This reply was modified 1 year, 1 month ago by PDP-8.
- This reply was modified 1 year, 1 month ago by PDP-8. Reason: added chmod reminder
- This reply was modified 1 year, 1 month ago by PDP-8.
August 22, 2025 at 6:57 am #184248
Brian MasinickModeratorIf bash has been deleted but you have some sh compatible shell you can probably link your shell to the name bash and potentially get many scripts to work; otherwise alter those scripts in your configuration to reference your shell (that seems like way more work) so I’d try the link and since bash is gone just link your shell to /bin/bash and see what happens.
--
Brian Masinick
Alternate "Search B":
This search pageAugust 22, 2025 at 7:01 am #184249
anticapitalistaForum AdminInteresting!
Not sure if you noticed, but the initial live boot uses busybox before it passes off to whatever init is used.
You can use the breakpoint ‘cheat’ (bp=1,2,3,4,5,6,7,8,9,10,11,12) to see this in action.Philosophers have interpreted the world in many ways; the point is to change it.
antiX with runit - leaner and meaner.
August 22, 2025 at 9:47 am #184252
techoreMemberI use busybox with Alpine Linux for containers but never really looked closely at it. Reviewing the https://busybox.net/BusyBox.html, I was pleasantly surprised by the number of busybox applets.
[, [[, acpid, adjtimex, ar, arch, arp, arping, ascii, ash, awk, base64, basename, bc, blkdiscard, blkid, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, cpio, crc32, crond, crontab, cttyhack, cut, date, dc, dd, deallocvt, depmod, devmem, df, diff, dirname, dmesg, dnsdomainname, dos2unix, dpkg, dpkg-deb, du, dumpkmap, dumpleases, echo, ed, egrep, env, expand, expr, factor, fallocate, false, fatattr, fdisk, fgrep, find, findfs, fold, free, freeramdisk, fsfreeze, fstrim, ftpget, ftpput, getfattr, getopt, getty, grep, groups, gunzip, gzip, halt, head, hexdump, hostid, hostname, httpd, hwclock, i2cdetect, i2cdump, i2cget, i2cset, i2ctransfer, id, ifconfig, ifdown, ifup, init, insmod, install, ionice, ip, ipcalc, kill, killall, klogd, last, less, link, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread, losetup, ls, lsmod, lsscsi, lzcat, lzma, lzop, md5sum, mdev, microcom, mim, mkdir, mkdosfs, mke2fs, mkfifo, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount, mt, mv, nameif, nbd-client, nc, netstat, nl, nologin, nproc, nsenter, nslookup, nuke, od, openvt, partprobe, passwd, paste, patch, pidof, ping, ping6, pivot_root, poweroff, printf, ps, pwd, rdate, readlink, realpath, reboot, renice, reset, resume, rev, rm, rmdir, rmmod, route, rpm, rpm2cpio, run-init, run-parts, sed, seq, setkeycodes, setpriv, setsid, sh, sha1sum, sha256sum, sha3sum, sha512sum, shred, shuf, sleep, sort, ssl_client, start-stop-daemon, stat, strings, stty, su, sulogin, svc, svok, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, taskset, tc, tee, telnet, test, tftp, time, timeout, top, touch, tr, traceroute, traceroute6, true, truncate, ts, tty, tunctl, ubirename, udhcpc, udhcpc6, udhcpd, uevent, umount, uname, uncompress, unexpand, uniq, unix2dos, unlink, unlzma, unshare, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, w, watch, watchdog, wc, wget, which, who, whoami, xargs, xxd, xz, xzcat, yes, zcatTo compare against coreutils, a list of its commands can be found at https://wiki.debian.org/coreutils. It was last revision in 2020 so it may be outdated. I will continue to hunt for a more current reference.
Knowledge speaks, but wisdom listens.
August 22, 2025 at 10:10 am #184253
christopheModeratorI agree that this is very interesting. Please write up a concise how-to in the “tips and tricks” section, once you get this project completed.
antiX on everything, since 2017
August 22, 2025 at 10:57 am #184255
Brian MasinickModeratorWith busybox ash can be used in place of bash.
If it’s desirable to include tools that call bash, link the ash shell to bash and use it instead.
It will have enough features to run scripts.
--
Brian Masinick
Alternate "Search B":
This search pageAugust 22, 2025 at 11:35 pm #184269PDP-8
MemberYep – this is for kicks, you guys are waaay above my grok level. π
Fixed the low-hanging fruit of restoring the screen blanking and dpms power saving to all 3600 after a slight non-critical delay.
In .icewm/startup added
sleep 10; xset s 3600 3600 & sleep 11; xset dpms 3600 3600 3600 &Conky Fix:
Easy. Default is to not show up automatically, but if I want it, I can simply toggle it on and off after boot. Easiest “no-fix” I’ve ever had. π
Sound: Actually sound works. Just alsamixer needs root. Will work on that.
Busybox userland (applets)
I’m using the bb shell, but still using all the bash commands. I have done the canonical for-loop of creating all the bb applet symlinks, but I’m having problems putting my directory containing those at the start of my $PATH. That seems to crash the startx login, so I need to investigate why my new $PATH causes problems further.Remarks – will continue on, but starting to think this might be a bit less daunting if I started from a core-up build. Also, forgot to test one of my iso-snapshots where I propagated a failure mode after I got overconfident. Lesson learned: test your iso-snapshots! π
Still a lot of fun putting the hurt on my cheap usb stick formatted F2FS with full reinstalls and updates. Neat!
- This reply was modified 1 year, 1 month ago by PDP-8.
- This reply was modified 1 year, 1 month ago by PDP-8.
August 22, 2025 at 11:52 pm #184272PDP-8
MemberThanks for the tip anticapitalista!
Very cool about the init. Strangely, while it would be cool to have both BB for init userland, and shells, that wasn’t my main concern. I’ll deal with whatever init system that is deemed beneficial by the devs.
-
AuthorPosts
- You must be logged in to reply to this topic.