Sample Header Ad - 728x90

Unix & Linux Stack Exchange

Q&A for users of Linux, FreeBSD and other Unix-like operating systems

Latest Questions

0 votes
1 answers
51 views
proot + busybox / Ubuntu - can't chdir("/home/user/Downloads/Proot/./.") in the guest rootfs
I'm trying to proot absolutely minimal environment in Ubuntu (as an initial step for further activities), but I can't solve following error: ``` proot warning: can't chdir("/home/user/Downloads/Proot/./.") in the guest rootfs: No such file or directory proot info: default working directory is now "/...
I'm trying to proot absolutely minimal environment in Ubuntu (as an initial step for further activities), but I can't solve following error:
proot warning: can't chdir("/home/user/Downloads/Proot/./.") in the guest rootfs: No such file or directory
proot info: default working directory is now "/"
proot error: execve("/bin/sh"): No such file or directory
proot info: possible causes:
  * the program is a script but its interpreter (eg. /bin/sh) was not found;
  * the program is an ELF but its interpreter (eg. ld-linux.so) was not found;
  * the program is a foreign binary but qemu was not specified;
  * qemu does not work correctly (if specified);
  * the loader was not found or doesn't work.
fatal error: see proot --help.
Proot root directory is initialized using following commands:
mkdir -p ./001_busybox/{bin,etc,lib,proc,sys,tmp,dev}
cp /bin/busybox ./001_busybox/bin
cd ./001_busybox/bin
./busybox --install -s .

cd ../lib
mkdir ./x86_64-linux-gnu
cp /lib/x86_64-linux-gnu/libc.so.6 ./x86_64-linux-gnu/

cp /lib/ld-linux.so.2 .
Then I try to proot using commands:
export PROOT_NO_SECCOMP=1
unset LD_PRELOAD
proot -0 -b /dev -b /proc -b /sys -r ./001_busybox /bin/sh
I've tried many combinations found in Google (including using / not using PROOT_NO_SECCOMP and LD_PRELOAD variables - e.g. PROOT_NO_SECCOMP should be just a workaround for kernel bug on obsolete 32-bit platforms, it's probably not needed more), but without any success. Problem is, that on another PC with 32-bit Ubuntu exactly the same steps work perfectly fine, just directory i386-linux-gnu is used instead of x86_64-linux-gnu. So I can't understand why it works on 32-bit platform, but not on 64-bit Ubuntu. Issue is probably not caused by Busybox which I try to start since strace reports it can't change directory (= one step before executing the shell):
execve("/usr/bin/proot", ["proot", "-0", "-r", "./001_busybox", "/bin/sh"], 0x7ffd018c6300 /* 64 vars */) = 0
brk(NULL)                               = 0x55d7d7a0b000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe786a9c00) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=143139, ...}) = 0
mmap(NULL, 143139, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fefe1fa8000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtalloc.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 4\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=67664, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fefe1fa6000
mmap(NULL, 69712, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fefe1f94000
mmap(0x7fefe1f97000, 40960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fefe1f97000
mmap(0x7fefe1fa1000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7fefe1fa1000
mmap(0x7fefe1fa4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fefe1fa4000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300A\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0W\222s/x1X\306o\264\363udX\312$"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2029592, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0W\222s/x1X\306o\264\363udX\312$"..., 68, 880) = 68
mmap(NULL, 2037344, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fefe1da2000
mmap(0x7fefe1dc4000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7fefe1dc4000
mmap(0x7fefe1f3c000, 319488, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19a000) = 0x7fefe1f3c000
mmap(0x7fefe1f8a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7fefe1f8a000
mmap(0x7fefe1f90000, 13920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fefe1f90000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fefe1d9f000
arch_prctl(ARCH_SET_FS, 0x7fefe1d9f740) = 0
mprotect(0x7fefe1f8a000, 16384, PROT_READ) = 0
mprotect(0x7fefe1fa4000, 4096, PROT_READ) = 0
mprotect(0x55d7d6579000, 8192, PROT_READ) = 0
mprotect(0x7fefe1ff8000, 4096, PROT_READ) = 0
munmap(0x7fefe1fa8000, 143139)          = 0
brk(NULL)                               = 0x55d7d7a0b000
brk(0x55d7d7a2c000)                     = 0x55d7d7a2c000
getpid()                                = 3537
getcwd("/home/user/Downloads/Proot", 4096) = 27
lstat("/home/user/Downloads/Proot/001_busybox", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
getcwd("/home/user/Downloads/Proot", 4096) = 27
stat("/home/user/Downloads/Proot/001_busybox/home", 0x7ffe786a5850) = -1 ENOENT (No such file or directory)
lstat("/home/user/Downloads/Proot/001_busybox/home", 0x7ffe786a5970) = -1 ENOENT (No such file or directory)
write(2, "proot warning: ", 15proot warning: )         = 15
write(2, "can't chdir(\"/home/user/Download"..., 92can't chdir("/home/user/Downloads/Proot/./.") in the guest rootfs: No such file or directory) = 92
write(2, "\n", 1
Why proot (only 64-bit, but not on another 32-bit PC where everything works fine) is trying to change dir to the /home to start shell after it's prooted? Shell is specified in /bin/sh, not relatively to current directory: proot -0 -b /dev -b /proc -b /sys -r ./001_busybox /bin/sh
KmsDev (1 rep)
Jul 18, 2025, 06:09 AM • Last activity: Aug 2, 2025, 12:33 PM
0 votes
3 answers
19812 views
How to avoid "can't access tty; job control turned off" when boot to initramfs
i'm testing my custom initramfs now, but everytime the log there will have the "can't access tty; job control turned off". The /dev in initramfs has four files: null, sda1, ttyS0. The kernel parameter is 'console=ttyS0'. Also, i test ctrl+c, it works fine.So how could this problem heppen? In busybox...
i'm testing my custom initramfs now, but everytime the log there will have the "can't access tty; job control turned off". The /dev in initramfs has four files: null, sda1, ttyS0. The kernel parameter is 'console=ttyS0'. Also, i test ctrl+c, it works fine.So how could this problem heppen? In busybox documentation, > Why do I keep getting "sh: can't access tty; job control turned off" > errors? Why doesn't Control-C work within my shell? This isn't really > a uClibc question, but I'll answer it here anyways. Job control will > be turned off since your shell can not obtain a controlling terminal. > This typically happens when you run your shell on /dev/console. The > kernel will not provide a controlling terminal on the /dev/console > device. Your should run your shell on a normal tty such as tty1 or > ttyS0 and everything will work perfectly. If you REALLY want your > shell to run on /dev/console, then you can hack your kernel (if you > are into that sortof thing) by changing drivers/char/tty_io.c to > change the lines where it sets "noctty = 1;" to instead set it to "0". > I recommend you instead run your shell on a real console... I type tty and it gives me /dev/console instead of /dev/ttyS0. So, that's all information about this problem, hope some one can help me out:-)
Obsessive (11 rep)
Jul 13, 2019, 04:08 AM • Last activity: Jul 26, 2025, 04:07 PM
11 votes
2 answers
26798 views
How to run the HTTP request without using CURL
I have ARM cpu based BusyBox v1.8.1 (Embedded Linux) with limited binaries. How can I http post or put without using curl? I have wget available: # wget BusyBox v1.8.1 (2015-04-06 16:22:12 IDT) multi-call binary Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document file] [--he...
I have ARM cpu based BusyBox v1.8.1 (Embedded Linux) with limited binaries. How can I http post or put without using curl? I have wget available: # wget BusyBox v1.8.1 (2015-04-06 16:22:12 IDT) multi-call binary Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document file] [--header 'header: value'] [-Y|--proxy on/off] [-P DIR] [-U|--user-agent agent] url Retrieve files via HTTP or FTP Options: -s Spider mode - only check file existence -c Continue retrieval of aborted transfer -q Quiet -P Set directory prefix to DIR -O Save to filename ('-' for stdout) -U Adjust 'User-Agent' field -Y Use proxy ('on' or 'off') CPU info... # cat /proc/cpuinfo Processor : ARM926EJ-S rev 1 (v5l)
irom (533 rep)
Oct 5, 2015, 06:15 PM • Last activity: Jul 23, 2025, 08:18 AM
26 votes
4 answers
68929 views
Package manager for Busybox
Is there a package manager for busybox devices? After all, Busybox utilities are quite restricted. I suppose one would have to compile it for specific device. Suppose that you have a device running a Linux kernel and using a Busybox binary for all tools and such. Now suppose that you want to install...
Is there a package manager for busybox devices? After all, Busybox utilities are quite restricted. I suppose one would have to compile it for specific device. Suppose that you have a device running a Linux kernel and using a Busybox binary for all tools and such. Now suppose that you want to install some software on the device. Busybox doesn't have a package manager integrated, unless you count rpm as one. So you have to install that first. How would you do it? The OS in question is Linux.
user1561358 (395 rep)
Jan 13, 2018, 12:46 AM • Last activity: Jul 16, 2025, 10:35 PM
1 votes
2 answers
3506 views
Automatically entering ssh password from Busybox terminal
I currently am attempting to reboot a modem via ssh using a bash script. For reasons I don't feel like explaining, I NEED to start on an ubuntu server computer, ssh into a setup running busybox 1.21.1 and then ssh into the modem from there and reboot it. I need the busybox system to automatically in...
I currently am attempting to reboot a modem via ssh using a bash script. For reasons I don't feel like explaining, I NEED to start on an ubuntu server computer, ssh into a setup running busybox 1.21.1 and then ssh into the modem from there and reboot it. I need the busybox system to automatically input the password when sshing into the modem. To do this when sshing into the busybox system from the ubuntu server, I use sshpass in the following: sshpass -p password ssh busybox@xx.xx.xx.xx 'ssh modem@xx.xx.xx.xx' and running this gets me to the password prompt for the modem. My problem is that the busybox system only has a small amount of commands available for use and none of them are sshpass or expect, which are the only two commands I know to use to automatically interact with the ssh password prompt. The defined functions on the busybox installation are [, [[, addgroup, adduser, ar, arping, ash, awk, basename, blkid, bunzip2, bzcat, cat, catv, chattr, chgrp, chmod, chown, chroot, chrt, chvt, cksum, clear, cmp, cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser, devmem, df, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap, echo, egrep, eject, env, ether-wake, expr, false, fdflush, fdformat, fgrep, find, fold, free, freeramdisk, fsck, fuser, getopt, getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod, install, ip, ipaddr, ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kill, killall, killall5, klogd, last, less, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login, logname, losetup, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat, lzma, makedevs, md5sum, mdev, mesg, microcom, mkdir, mkfifo, mknod, mkswap, mktemp, modprobe, more, mount, mountpoint, mt, mv, nameif, netstat, nice, nohup, nslookup, od, openvt, passwd, patch, pidof, ping, pipe_progress, pivot_root, poweroff, printenv, printf, ps, pwd, rdate, readlink, readprofile, realpath, reboot, renice, reset, resize, rm, rmdir, rmmod, route, run-parts, runlevel, sed, seq, setarch, setconsole, setkeycodes, setlogcons, setserial, setsid, sh, sha1sum, sha256sum, sha3sum, sha512sum, sleep, sort, start-stop-daemon, strings, stty, su, sulogin, swapoff, swapon, switch_root, sync, sysctl, syslogd, tail, tar, tee, telnet, test, tftp, time, top, touch, tr, traceroute, true, tty, udhcpc, umount, uname, uniq, unix2dos, unlzma, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs, xz, xzcat, yes, zcat Does anyone know of anything I can use to automatically input this password when sshing from the the busybox system into the modem? Any help or ideas would be appreciated EDIT: ssh key authentication is a no go due to lack of support from the modem. Edit2: could someone at least comment and let me know if the question I'm asking makes that much sense? Trying hard to get a clear explanation of my problem so someone with the real know how can help me. Let me know if there's any part to my question that is confusing or if there is more detail I can provide.
wvu_evan12 (11 rep)
Sep 27, 2015, 10:57 PM • Last activity: Jul 11, 2025, 03:00 AM
0 votes
2 answers
2009 views
fsck is taking a lot of time?(buffer I/O error)
I had a irregular powercut 4-5 times in a row within an hour. My ubuntu suddenly went into busy box mode and showed there are errors on /dev/sda5. I then tried: `fsck /dev/sda5 -y` It has taken a lot of time more than an hour and still forcing rewrite. It seems that a lot of blocks are being repaire...
I had a irregular powercut 4-5 times in a row within an hour. My ubuntu suddenly went into busy box mode and showed there are errors on /dev/sda5. I then tried: fsck /dev/sda5 -y It has taken a lot of time more than an hour and still forcing rewrite. It seems that a lot of blocks are being repaired. Can someone describe what is going on or suggest any fix?
Atom Store (101 rep)
Dec 28, 2020, 03:00 PM • Last activity: Jun 3, 2025, 05:07 AM
0 votes
1 answers
2347 views
How to change the language in busybox
I turned off the computer, but when I opened it again, it gave me an error: [![error][1]][1] I find the solution of it,(i need to write ```fsck /dev/sda8```) however my keyboard is in russian, so i can not type anything in english. I started search about the problem and found it https://ubuntuforums...
I turned off the computer, but when I opened it again, it gave me an error: error I find the solution of it,(i need to write
/dev/sda8
) however my keyboard is in russian, so i can not type anything in english. I started search about the problem and found it https://ubuntuforums.org/archive/index.php/t-1002358.html . This guy had a similar problem, so i tried it
the grub menu highlight ubuntu (NOT the recovery mode)

press e for edit

highlight the kernel line and press e for edit

added set LANG=en_us

press enter, then b to boot.
but it also did not change the language in busybox How can i change the language in busybox?
Samadzade Muhammed (1 rep)
Feb 27, 2021, 12:02 PM • Last activity: May 21, 2025, 03:13 AM
0 votes
1 answers
2078 views
Pop OS BusyBox FSCK Not Found (Beginner)
I broke Windows 7 and can't fix it, Windows 10 on my laptop broke itself. Decided I'd leave Windows behind and give Linux a test drive since my laptop's OS is pretty ruined. I did the install, my laptop restarted, and now it's perpetually in a thing that calls itself BusyBox v1.30.1. Every solution...
I broke Windows 7 and can't fix it, Windows 10 on my laptop broke itself. Decided I'd leave Windows behind and give Linux a test drive since my laptop's OS is pretty ruined. I did the install, my laptop restarted, and now it's perpetually in a thing that calls itself BusyBox v1.30.1. Every solution I looked up said to do an 'exit'. So I did an exit, and it says "Alert! /dev/mapper/data-root does not exist." Every fix I've found says to do 'fsck' followed by a bunch of different things, but typing anything starting with fsck returns 'sh: fsck: not found'. I've searched everything from "fsck not found" to "fsck doesn't exist" to "file system check doesn't real" to no avail. Someone in some forum of some kind said to another user "You need to boot from a Ubuntu Live USB" so I was up til 4AM last night flashing Ubuntu Live to a USB, and all that wants to do is install Ubuntu on my computer, when I was aiming for Pop_OS. Another said to set something to something else, and I don't know how because all I see is BusyBox, and the command to do it wasn't found, and 'root=/dev/sdax' did nothing useful. I figured I'd ask for help first. What do I do? I can't find a solution to fsck that up and escaped its tank. I'm by no means the average consumer computer user, but my knowledge is fairly limited, so please keep that in mind. I've never buntu'd before and still don't know what 'kernal' or 'shell' means. If you have any questions or solutions, I'll be over in the corner trying to sort this out.
I Am Confusion (9 rep)
Feb 23, 2022, 10:30 PM • Last activity: Apr 21, 2025, 04:03 AM
1 votes
1 answers
3165 views
Unable to boot into Zorin OS - ending in BusyBox
I'm running Zorin OS 12.2 (downloaded and installed in September 27th this year) on a *Dell XPS 13*. I installed Zorin instead of the pre-installed Windows 10 (I'm aware that Dell XPS ships with Ubuntu pre-installed, but the one I have was ordered bulk via my workplace). For the past six days the sy...
I'm running Zorin OS 12.2 (downloaded and installed in September 27th this year) on a *Dell XPS 13*. I installed Zorin instead of the pre-installed Windows 10 (I'm aware that Dell XPS ships with Ubuntu pre-installed, but the one I have was ordered bulk via my workplace). For the past six days the system has been unable to boot. I end up in BusyBox (*v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1)*) with an initramfs prompt. In the BIOS it lists Windows Boot Manager (twice). I wonder if I did something wrong when I installed Zorin, as I thought I got completely rid of Windows. I suspect that the error (that causes me to end up in BusyBox) stems from me sometimes had to force-shut down my laptop because the screen would not turn on after the laptop had been folded together, or after I had accidentally pushed the power button (which just turns on the screen on my other laptop if it's been idle for a while and has turned off the screen). At least it appears that Zorin can't handle my laptop being treated like the hybrid PC it was built to be. This could have nothing to do with the problem, but the problem arose when I turned the computer on after (yet again) having had to force-shut down becuase I pressed the power button to turn the screen back on. I tried booting into Zorin with Linux 4.10.0-38 (and 37 and 33) via "Advanced options for Zorin GNU/Linux", instead of 4.10.0-40 which is listed first, but the same thing happens. I also tried booting 4.10.0-40 in recovery mode, but that doesn't make a difference either. I've tried running Boot Repair (https://help.ubuntu.com/community/Boot-Repair) from the live USB. The output is located here: http://pastebin.ubuntu.com/26155667/ . I tried following a bunch of suggestions from askubuntu and ubuntuforums: 1. https://ubuntuforums.org/showthread.php?t=1561735 2. https://askubuntu.com/questions/516217/alert-dev-disk-by-uuid-xxxxxxxxx-does-not-exist-dropping-to-a-shell - was unable to do this. See Screenshot. 3. https://askubuntu.com/questions/137655/boot-drops-to-a-initramfs-prompts-busybox 4. https://ubuntuforums.org/showthread.php?t=1018403 5. https://ubuntuforums.org/showthread.php?t=2112153 (Couldn't try out the suggestions from ahallubuntu since I can only see the live USB and not the laptop's drive when accessing via the live USB. Didn't try the other solutions as they all specifically talked about encrypted drives and I didn't encrypt my drive.) 6. https://ubuntuforums.org/showthread.php?t=765195&page=33&p=6581939#post6581939 (via link from source 4) Writing "exit" as suggested in source 3, I get: Gave up waiting for root device. Common problems: - Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Check root= (did the system wait for the right device?) - Missing modules (cat /proc/modules: is /dev) ALERT! UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX does not exist. Dropping to a shell! When trying fsck /dev/sda1 (cf. source 3), I get the message: fsck from util-linux 2.27.1 fsck: error 2 (No such file or directory) while executing fsck.ext2 for dev/sda1 I also tried with sda2 which gave the same result. When trying Amith KK's suggestion in source 3, I get nothing with the first line: zorin@zoring:~$ sudo fdisk -l|grep Linux|grep -Ev 'swap' zorin@zoring:~$ uname -a (cf. source 4) gives me: Linux (none) 4.10.0-40-generic #44~16.04.1-Ubuntu SMP Thu Nov 9 15:37:44 UTC 2017 x86_64 GNU/Linux I tried the solution suggested by quixote in source 1, but it doesn't show me any files like he suggests it would: grub> ls (hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) grub> ls (hd0,3) Partition hd0,3: Filesystem type ext* - Last modification time 2017-12-04 Monday, UUID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - Partition start at 8705024KiB - Total size 419690496KiB grub> ls (hd0,2) Partition hd0,2: No known filesystem detected - Partition start at 513024KiB - Total size 8192000KiB grub> ls (hd0,1) Partition hd0,1: Filesystem type fat, UUID YYYY-YYYY - Partition start at 1024KiB - Total size 512000KiB grub> ls (hd0) Device hd0: No known filesystem detected - Sector size 512B - Total size 500107608KiB I also tried using blkid as hhoyt suggests in source 1, but like with source 5 it doesn't look like it shows anything other than the live USB. I get: root@zorin:~# blkid /dev/loop0: TYPE="squashfs" /dev/sda1: UUID="ZZZZ-ZZ-ZZ-ZZ-ZZ-ZZ-ZZ" LABEL="Zorin OS 12.2 Core" TYPE="iso9660" PTUUID="239ad0b8" PTTYPE="dos" PARTUUID="239ad0b8-01" /dev/sda2: SEC_TYPE="msdos" UUID="398E-230F" TYPE="vfat" PARTUUID="239ad0b8-02" ... which looks very similar to the output I get from trying the solution in source 2. If I try sudo mount /dev/sda1 /mnt I get /dev/sda1 is already mounted or /mnt busy. Adding all_generic_ide to the kernel boot parameter, as suggested in source 6 (I didn't have a line starting with kernel but instead had a very similar one starting with Linux and tried that one), didn't help . Does anyone have an idea what could be wrong and how/if I could fix it? (e.g. from looking at the Boot Repair output at http://pastebin.ubuntu.com/26155667/) ?
Idall (11 rep)
Dec 10, 2017, 10:56 PM • Last activity: Apr 16, 2025, 05:05 PM
0 votes
1 answers
38 views
How to set the nice value of GPIO interrupt using busybox's htop?
I am using the htop command of busybox on an arm processor. I now want to set the nice value of the GPIO interrupt. I can set it manually successfully, but after checking the information, it seems that there is no way to automatically set the nice value of the GPIO interrupt through `htop` at boot t...
I am using the htop command of busybox on an arm processor. I now want to set the nice value of the GPIO interrupt. I can set it manually successfully, but after checking the information, it seems that there is no way to automatically set the nice value of the GPIO interrupt through htop at boot time?
yanzhang.guo (113 rep)
Apr 7, 2025, 03:27 PM • Last activity: Apr 7, 2025, 04:22 PM
0 votes
2 answers
51 views
procps' watch together with ps command truncates command lines
The setup is I have two folders now under my current directory, `busybox-1.36.1` and `procps-4.0.4`, and I also have a service `languagetool` running with `DynamicUser=yes`. Now observe the different behaviour: Legend: ✅ Doesn't truncate; ❌ truncates. ### busybox watch & busybox ps ✅ ```bash ./busyb...
The setup is I have two folders now under my current directory, busybox-1.36.1 and procps-4.0.4, and I also have a service languagetool running with DynamicUser=yes. Now observe the different behaviour: Legend: ✅ Doesn't truncate; ❌ truncates. ### busybox watch & busybox ps ✅
./busybox-1.36.1/bin/watch './busybox-1.36.1/bin/ps aux | grep languagetool'
Every 2.0s: ./busybox-1.36.1/bin/ps aux | grep languagetool                                                                           2025-03-17 23:20:02

1026972 61534    39:36 java ...languagetool...
4053857 mathiass  0:00 ./busybox-1.36.1/bin/watch ./busybox-1.36.1/bin/ps aux | grep languagetool
4053882 mathiass  0:00 sh -c -- ./busybox-1.36.1/bin/ps aux | grep languagetool
4053884 mathiass  0:00 grep languagetool
### busybox watch & procps ps ✅
./busybox-1.36.1/bin/watch './procps-4.0.4/bin/ps aux | grep languagetool'
Every 2.0s: ./procps-4.0.4/bin/ps aux | grep languagetool

languag+ 1026972  0.1 13.6 14468788 4464816 ?    Ssl  Mar04  39:38 java ...languagetool...
mathias+ 4057218  0.0  0.0   4676  2244 pts/32   S+   23:35   0:00 ./busybox-1.36.1/bin/watch ./procps-4.0.4/bin/ps aux | grep languagetool
mathias+ 4057222  0.0  0.0 231736  3788 pts/32   S+   23:35   0:00 sh -c -- ./procps-4.0.4/bin/ps aux | grep languagetool
mathias+ 4057224  0.0  0.0 230732  2520 pts/32   S+   23:35   0:00 grep languagetool
### procps watch & procps ps ❌
./procps-4.0.4/bin/watch './procps-4.0.4/bin/ps aux | grep languagetool'
Every 2.0s: ./procps-4.0.4/bin/ps aux | grep languagetool

mathias+ 4056463  0.0  0.0 230836  3320 pts/32   S+   23:31   0:00 ./procps-4.0.4/bin/watch ./procps-4.0.4/bin/ps aux | grep languagetool
mathias+ 4056540  0.0  0.0 230836  1532 pts/32   S+   23:32   0:00 ./procps-4.0.4/bin/watch ./procps-4.0.4/bin/ps aux | grep languagetool
mathias+ 4056541  0.0  0.0 231736  3556 pts/32   S+   23:32   0:00 sh -c -- ./procps-4.0.4/bin/ps aux | grep languagetool
mathias+ 4056543  0.0  0.0 230732  2244 pts/32   S+   23:32   0:00 grep languagetool
### procps watch & busybox ps ✅
./procps-4.0.4/bin/watch './busybox-1.36.1/bin/ps aux | grep languagetool'
Every 2.0s: ./busybox-1.36.1/bin/ps aux | grep languagetool                                                                nixos: Mon Mar 17 23:33:31 2025

1026972 61534    39:38 java ...languagetool...
4056826 mathiass  0:00 ./procps-4.0.4/bin/watch ./busybox-1.36.1/bin/ps aux | grep languagetool
4056831 mathiass  0:00 ./procps-4.0.4/bin/watch ./busybox-1.36.1/bin/ps aux | grep languagetool
4056832 mathiass  0:00 sh -c -- ./busybox-1.36.1/bin/ps aux | grep languagetool
4056834 mathiass  0:00 grep languagetool
## Question It seems odd that in every other case the commands behave as I expect them to, except when trying to use both ps and watch from procps. Does anybody know what is going on here?
Mathias Sven (273 rep)
Mar 17, 2025, 11:41 PM • Last activity: Mar 18, 2025, 01:56 PM
2 votes
0 answers
95 views
Why is BusyBox find 10x slower than GNU find?
on a directory containing ~26 million files, GNU Find is 10 times faster than BusyBox find, why? ``` /var/www # time find /var/www -regex .*\.\(php\|js\|json\|html\|htm\|css\) -not -regex \(.*/docroot/external_libs/.*\|.*/docroot/phpmyadmin/.*\|.*/vendor/.*\|.*/data/vitec/.*\|.*/docroot/js/highchart...
on a directory containing ~26 million files, GNU Find is 10 times faster than BusyBox find, why?
/var/www # time find /var/www -regex .*\.\(php\|js\|json\|html\|htm\|css\) -not -regex \(.*/docroot/external_libs/.*\|.*/docroot/phpmyadmin/.*\|.*/vendor/.*\|.*/data/vitec/.*\|.*/docroot/js/highcharts/.*\|.*/hotpatch_backups/.*\) -print0 > /dev/null
real    1m 20.09s
user    1m 6.94s
sys     0m 13.14s
/var/www # time busybox find /var/www -regex .*\.\(php\|js\|json\|html\|htm\|css\) -not -regex \(.*/docroot/external_libs/.*\|.*/docroot/phpmyadmin/.*\|.*/vendor/.*\|.*/data/vitec/.*\|.*/docroot/js/highcharts/.*\|.*/hotpatch_backups/.*\) -print0 > /dev/
null
real    13m 4.99s
user    1m 31.49s
sys     3m 16.60s
(Actually in production, we thought we saw busybox find being almost 30 times slower, 2 minutes to 60 minutes, but we're unable to reproduce it) Porting a system from Debian-linux (which defualts to GNU find) to Alpine-linux (which defaults to BusyBox find), and had a problem where a find command was hanging on Alpine but not on Debian.
hanshenrik (695 rep)
Mar 11, 2025, 02:19 PM
-1 votes
2 answers
743 views
make menuconfig fails while working on busybox only
I was following the guide [here][1] and when I tried running make menuconfig it said ``` Unable to find the ncurses libraries or the required header files. 'make menuconfig' requires the ncurses libraries. Install ncurses (ncurses-devel) and try again ``` ncurses-devel doesn't exist on the AUR thoug...
I was following the guide here and when I tried running make menuconfig it said
Unable to find the ncurses libraries or the required header files.
'make menuconfig' requires the ncurses libraries.
Install ncurses (ncurses-devel) and try again
ncurses-devel doesn't exist on the AUR though. I tried reinstalling ncurses but it still wouldn't work. It does work when working on the Linux kernel. Also I do want to compile a 64 bit version so I don't think that I would need a 32 bit version of ncurses. Edit: I have given up on this I don't really need to do it anyways.
Ligerbot (1 rep)
Jan 27, 2025, 04:33 AM • Last activity: Feb 24, 2025, 02:57 PM
1 votes
3 answers
797 views
How to disown a command in the busybox shell?
I'm trying to write a quick-and-dirty shell script daemon to run on a home router that has a busybox shell, which doesn't support `disown`. Is there any way to do either of the following? - Run a command like `command &` and then disown it once it's in the background. - Run a command "directly" in t...
I'm trying to write a quick-and-dirty shell script daemon to run on a home router that has a busybox shell, which doesn't support disown. Is there any way to do either of the following? - Run a command like command & and then disown it once it's in the background. - Run a command "directly" in the background (i.e., not using &).
joshlf (395 rep)
Sep 29, 2023, 08:05 PM • Last activity: Feb 13, 2025, 08:27 AM
1 votes
3 answers
2613 views
What is the equivalent to "cp --backup=numbered" in alpine linux?
I'm porting a script from ubuntu to alpine linux 3.4 (docker image). I can't seem to find a way to do "cp --backup=numbered" in alpine. Is there any way to install a more complete "cp"? Thanks
I'm porting a script from ubuntu to alpine linux 3.4 (docker image). I can't seem to find a way to do "cp --backup=numbered" in alpine. Is there any way to install a more complete "cp"? Thanks
JoaoCC (771 rep)
Dec 12, 2016, 07:36 PM • Last activity: Jan 29, 2025, 08:46 AM
0 votes
1 answers
69 views
Failed to umount oldroot after `pivot_root` and `chroot` in Linux
I am working on an embedded Linux system (kernel-5.10.24), and `busybox` as `init`. I created 2 rootfs partitions in system, I want to use `pivot_root` and `chroot` to change rootfs between them. When the system firstly bootup, the `mount` showed. ``` # mount ubi0:rootfs on / type ubifs (rw,relatime...
I am working on an embedded Linux system (kernel-5.10.24), and busybox as init. I created 2 rootfs partitions in system, I want to use pivot_root and chroot to change rootfs between them. When the system firstly bootup, the mount showed.
# mount
ubi0:rootfs on / type ubifs (rw,relatime,assert=read-only,ubi=0,vol=0)
devtmpfs on /dev type devtmpfs (rw,relatime,size=42008k,nr_inodes=10502,mode=755)
proc on /proc type proc (rw,relatime)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /sys type sysfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime)
Now, I mounted 2nd rootfs into /mnt, then I run pivot_root and chroot.
# mount -t ubifs /dev/ubi1_0 /mnt/
# cd /mnt
# pivot_root . oldroot
# chroot . sh
# umount /oldroot
umount: can't unmount /oldroot: Device or resource busy
I mount proc after pivot_root and chroot, and mount showed.
# mount -t proc proc /proc
# mount
ubi0:rootfs on /oldroot type ubifs (rw,relatime,assert=read-only,ubi=0,vol=0)
devtmpfs on /oldroot/dev type devtmpfs (rw,relatime,size=42008k,nr_inodes=10502,mode=755)
proc on /oldroot/proc type proc (rw,relatime)
tmpfs on /oldroot/tmp type tmpfs (rw,relatime)
tmpfs on /oldroot/run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /oldroot/sys type sysfs (rw,relatime)
devpts on /oldroot/dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
tmpfs on /oldroot/dev/shm type tmpfs (rw,relatime)
/dev/ubi1_0 on / type ubifs (rw,relatime,assert=read-only,ubi=1,vol=0)
proc on /proc type proc (rw,relatime)
I checked the comments and answer of https://unix.stackexchange.com/questions/306406/unable-to-umount-after-pivot-root and tried the script, but I still failed with the same error. What should I do to umount /oldroot after pivot_root and chroot? ## Updated. I found umount -l /oldroot can umount the oldroot. But how can I relaunch the init in the new_root and go through the /etc/inittab??
wangt13 (631 rep)
Dec 21, 2024, 09:02 AM • Last activity: Dec 21, 2024, 01:57 PM
0 votes
0 answers
304 views
What are the Busybox od command options?
## Busybox The [Busybox documentation](https://busybox.net/downloads/BusyBox.html) explains only this: > `od [-aBbcDdeFfHhIiLlOovXx] [-t TYPE] [FILE]` > > Write an unambiguous representation, octal bytes by default, of `FILE` to standard output. With no `FILE` or when `FILE` is `-`, read standard in...
## Busybox The [Busybox documentation](https://busybox.net/downloads/BusyBox.html) explains only this: > od [-aBbcDdeFfHhIiLlOovXx] [-t TYPE] [FILE] > > Write an unambiguous representation, octal bytes by default, of FILE to standard output. With no FILE or when FILE is -, read standard input. But it doesn't explain what each option is and they seem to be really different from the [man page](https://man7.org/linux/man-pages/man1/od.1.html) The -t option seems to not exist and gives the error:
od: invalid option -- 't'

BusyBox v1.35.0 () multi-call binary.

Usage: od [-aBbcDdeFfHhIiLlOovXx] [FILE]
The other [documentation website](https://boxmatrix.info/wiki/Property:od) seems to ommit the -t option and seems more accurate. > Usage: >
> od [-abcdeFfhiloxsv] [FILE]
>
> Print FILE (or stdin) unambiguously, as octal bytes by default Confirming the online documentation, when the command od --help is sent, the output is: >Usage: od [-aBbcDdeFfHhIiLlOovXx] [FILE] ### Repository So looking at the [source code](https://github.com/mirror/busybox/blob/master/coreutils/od.c) it seems to be some kind of remap to the od_bloaty.c [source file](https://github.com/brgl/busybox/blob/master/coreutils/od_bloaty.c) ### Question I could not understand this source file and the documentation is not clear on all the options of the od command. Is there some other documentation for this busybox command or some better explanation for those options?
danieltakeshi (131 rep)
Dec 13, 2024, 04:03 PM • Last activity: Dec 13, 2024, 05:47 PM
0 votes
1 answers
256 views
How to execute history command by number in Alpine Linux (busybox, ash)?
Is it possible to execute a history command by number with `!###`, similar to bash/zsh? Alpine's ash shell does not interpret this: ```terminal $ history 1441 date 1442 history $ !1141 -sh: !1141: not found ```
Is it possible to execute a history command by number with !###, similar to bash/zsh? Alpine's ash shell does not interpret this:
$ history
1441 date
1442 history

$ !1141
-sh: !1141: not found
anthumchris (161 rep)
Dec 7, 2024, 03:35 PM • Last activity: Dec 10, 2024, 07:13 AM
0 votes
1 answers
338 views
How to use dd with status in busybox?
I use busybox (and buildroot). How to use status? For example dd if=disk.img of=/dev/sda bs=4M conv=fsync status=progress
I use busybox (and buildroot). How to use status? For example dd if=disk.img of=/dev/sda bs=4M conv=fsync status=progress
Андрей Тернити (303 rep)
Nov 7, 2024, 06:38 AM
3 votes
1 answers
211 views
linux shell ctrl-C doesn't work (using busybox)
I'm working on an arm64 system ([Arm PL011](https://developer.arm.com/Processors/PL011)) and I have ported linux 5.15.68 using u-boot-spl , busybox. In the past, I could use Ctrl-C in the linux shell by entering setsid cttyhack sh But somehow it doesn't work now. And I also get an error: > can't ope...
I'm working on an arm64 system ([Arm PL011](https://developer.arm.com/Processors/PL011)) and I have ported linux 5.15.68 using u-boot-spl , busybox. In the past, I could use Ctrl-C in the linux shell by entering setsid cttyhack sh But somehow it doesn't work now. And I also get an error: > can't open /dev/ttyAMA0 There have been some changes but I don't know what has made this change.
Chan Kim (459 rep)
Nov 1, 2024, 07:24 AM • Last activity: Nov 4, 2024, 07:13 AM
Showing page 1 of 20 total questions