Kernel panic: No working init found. Where is the problem

690 Views Asked by At

I'm trying to boot a beaglebone black using u-boot. I'm using a microSD card that is partitioned into 3 partitions: a FAT boot partition that with the U-boot image, and the kernel image. a SquashFS partition that with the root filesystem a 3rd partition for data

The kernel is v. 6.1.55 (one of the stable ones). I built it on my development workstation, and apart from being on the boot partition, it is also available through tftp for U-boot over a USB ethernet connection.

The development workstation also provides the root FS through nfs to the board.

U-boot (v2023.04) is also built from source on the development workstation. It is built with SquashFS support, although I'm not sure if this is needed. Because the u-boot image itself is loaded from the FAT partition, not the SquashFS one.

The root FS is built using busybox (v. 1.36.1).

Booting was successful using nfsroot, both by loading the kernel over tftp, and locally from the SD card, and I could use busybox commands from the linux prompt on the board.

Then I tried booting from the SquashFS partition. I didn't change anything regarding the kernel, or U-boot builds, and only changed the kernel command line in u-boot environment to load the kernel from the SquashFS partition, instead of the nfsroot:

=> print bootargs

bootargs=console=ttyS0,115200n8 ip=192.168.0.100:::::usb0 g_ether.dev_addr=f8:dc:7a:00:00:02 g_ether.host_addr=08:00:27:E6:75:37 root=/dev/mmcblk0p2 rootfstype=squashfs rootwait

Apart from the rootfs related parameters, this command-line looks exactly like the one I used for booting from nfsroot, which was:

=> print bootargs_nfsroot 

bootargs_nfsroot=console=ttyS0,115200n8 root=/dev/nfs ip=192.168.0.100:::::usb0 g_ether.dev_addr=f8:dc:7a:00:00:02 g_ether.host_addr=08:00:27:E6:75:37 nfsroot=192.168.0.1:/home/debian/nfsroot,nfsvers=3,tcp rw

I made a rootfs squashFS image from the nfsroot directory, then mounted it on my development workstation to make sure that everything is fine, in particular that init files are there, and ok. These are the same init files that worked when using nfsroot.

a@a-VirtualBox:~/code$ mksquashfs ./nfsroot rootfs.sqfs -noappend

a@a-VirtualBox:~/code$ sudo mount rootfs.sqfs /mnt

[sudo] password for a: 

a@a-VirtualBox:~/code$ ls /mnt

bin  dev  etc  proc  sbin  sys  usr  var  www

a@a-VirtualBox:~/code$ ls -l /mnt/sbin/

total 0

lrwxrwxrwx 1 a a 14 Sep 29 13:15 halt -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 ifconfig -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 init -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 insmod -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 lsmod -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 modinfo -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 modprobe -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 poweroff -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 reboot -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 rmmod -> ../bin/busybox

lrwxrwxrwx 1 a a 14 Sep 29 13:15 swapoff -> ../bin/busybox

a@a-VirtualBox:~/code$ ls -l /mnt/etc

total 1

drwxr-xr-x 2 a a  26 Sep 29 10:08 init.d

-rw-r--r-- 1 a a 154 Sep 29 12:47 inittab

a@a-VirtualBox:~/code$ cat /mnt/etc/init.d/rcS 

#!/bin/sh

mount -t sysfs nodev /sys

mount -t proc nodev /proc

mount -t debugfs debugfs /sys/kernel/debug

mount /dev/mmcblk0p3 /www/upload/files

mount -t tmpfs nodev /var/log

httpd -h /www/

a@a-VirtualBox:~/code$ cat /mnt/etc/inittab 

::sysinit:/etc/init.d/rcS

ttyS0::askfirst:/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/sbin/swapoff -a

::shutdown:/bin/umount -a -r

::restart:/sbin/init

a@a-VirtualBox:~/code$ 

Now, when I try booting from the SquashFS partition, the kernel is loaded, and it appears that the root FS is also loaded, but the kernel panics because it can't find the init program in the root FS. Here is the full kernel log:

Starting kernel ...



[    0.000000] Booting Linux on physical CPU 0x0

[    0.000000] Linux version 6.1.55 (a@a-VirtualBox) (arm-linux-gcc (crosstool-NG 1.25.0.199_36ad0b1) 12.3.0, GNU ld (crosstool-NG 1.25.0.199_36ad0b1) 2.40) #9 SMP Thu Oct  5 09:44:38 CEST 2023

[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d

[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

[    0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black

[    0.000000] Memory policy: Data cache writeback

[    0.000000] cma: Reserved 16 MiB at 0x9e800000

[    0.000000] Zone ranges:

[    0.000000]   Normal   [mem 0x0000000080000000-0x000000009fefffff]

[    0.000000]   HighMem  empty

[    0.000000] Movable zone start for each node

[    0.000000] Early memory node ranges

[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009fefffff]

[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fefffff]

[    0.000000] CPU: All CPU(s) started in SVC mode.

[    0.000000] AM335X ES2.1 (sgx neon)

[    0.000000] percpu: Embedded 16 pages/cpu s34132 r8192 d23212 u65536

[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129666

[    0.000000] Kernel command line: console=ttyS0,115200n8 ip=192.168.0.100:::::usb0 g_ether.dev_addr=f8:dc:7a:00:00:02 g_ether.host_addr=08:00:27:E6:75:37 root=/dev/mmcblk0p2 rootfstype=squashfs rootwait

[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)

[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)

[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off

[    0.000000] Memory: 485868K/523264K available (10240K kernel code, 1006K rwdata, 2480K rodata, 1024K init, 276K bss, 21012K reserved, 16384K cma-reserved, 0K highmem)

[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[    0.000000] trace event string verifier disabled

[    0.000000] rcu: Hierarchical RCU implementation.

[    0.000000] rcu:     RCU event tracing is enabled.

[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.

[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.

[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1

[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16

[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts

[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.

[    0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000

[    0.000002] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns

[    0.000027] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns

[    0.000404] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000

[    0.001681] Console: colour dummy device 80x30

[    0.001760] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)

[    0.090506] CPU: Testing write buffer coherency: ok

[    0.090582] CPU0: Spectre v2: using BPIALL workaround

[    0.090591] pid_max: default: 32768 minimum: 301

[    0.090719] LSM: Security Framework initializing

[    0.090895] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)

[    0.090916] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)

[    0.092365] CPU0: thread -1, cpu 0, socket -1, mpidr 0

[    0.093576] Setting up static identity map for 0x80100000 - 0x80100078

[    0.093809] rcu: Hierarchical SRCU implementation.

[    0.093817] rcu:     Max phase no-delay instances is 1000.

[    0.094469] smp: Bringing up secondary CPUs ...

[    0.094481] smp: Brought up 1 node, 1 CPU

[    0.094490] SMP: Total of 1 processors activated (996.14 BogoMIPS).

[    0.094501] CPU: All CPU(s) started in SVC mode.

[    0.095289] devtmpfs: initialized

[    0.108349] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3

[    0.108656] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns

[    0.108688] futex hash table entries: 256 (order: 2, 16384 bytes, linear)

[    0.110052] pinctrl core: initialized pinctrl subsystem

[    0.112054] NET: Registered PF_NETLINK/PF_ROUTE protocol family

[    0.114872] DMA: preallocated 256 KiB pool for atomic coherent allocations

[    0.115336] audit: initializing netlink subsys (disabled)

[    0.116478] thermal_sys: Registered thermal governor 'fair_share'

[    0.116494] thermal_sys: Registered thermal governor 'step_wise'

[    0.116500] thermal_sys: Registered thermal governor 'user_space'

[    0.116625] audit: type=2000 audit(0.110:1): state=initialized audit_enabled=0 res=1

[    0.116655] cpuidle: using governor menu

[    0.135665] No ATAGs?

[    0.135689] hw-breakpoint: debug architecture 0x4 unsupported.

[    0.144938] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.

[    1.138390] iommu: Default domain type: Translated 

[    1.138403] iommu: DMA domain TLB invalidation policy: strict mode 

[    1.139752] SCSI subsystem initialized

[    1.140691] usbcore: registered new interface driver usbfs

[    1.140746] usbcore: registered new interface driver hub

[    1.140802] usbcore: registered new device driver usb

[    1.141126] pps_core: LinuxPPS API ver. 1 registered

[    1.141135] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>

[    1.141162] PTP clock support registered

[    1.142695] vgaarb: loaded

[    1.143004] clocksource: Switched to clocksource dmtimer

[    1.143555] VFS: Disk quotas dquot_6.6.0

[    1.143632] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

[    1.204812] NET: Registered PF_INET protocol family

[    1.205138] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)

[    1.206469] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)

[    1.206511] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)

[    1.206530] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)

[    1.206574] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)

[    1.206674] TCP: Hash tables configured (established 4096 bind 4096)

[    1.206786] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)

[    1.206813] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)

[    1.206998] NET: Registered PF_UNIX/PF_LOCAL protocol family

[    1.208144] RPC: Registered named UNIX socket transport module.

[    1.208162] RPC: Registered udp transport module.

[    1.208168] RPC: Registered tcp transport module.

[    1.208172] RPC: Registered tcp NFSv4.1 backchannel transport module.

[    1.208192] PCI: CLS 0 bytes, default 64

[    1.209589] Initialise system trusted keyrings

[    1.210389] workingset: timestamp_bits=14 max_order=17 bucket_order=3

[    1.218457] squashfs: version 4.0 (2009/01/31) Phillip Lougher

[    1.219456] NFS: Registering the id_resolver key type

[    1.219521] Key type id_resolver registered

[    1.219529] Key type id_legacy registered

[    1.219582] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.

[    1.220262] Key type asymmetric registered

[    1.220279] Asymmetric key parser 'x509' registered

[    1.220418] io scheduler mq-deadline registered

[    1.220428] io scheduler kyber registered

[    1.224984] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled

[    1.240091] brd: module loaded

[    1.247451] loop: module loaded

[    1.248309] mtdoops: mtd device (mtddev=name/number) must be supplied

[    1.250934] UDC core: g_ether: couldn't find an available UDC

[    1.250952] i2c_dev: i2c /dev entries driver

[    1.251685] cpuidle: enable-method property 'ti,am3352' found operations

[    1.252076] sdhci: Secure Digital Host Controller Interface driver

[    1.252085] sdhci: Copyright(c) Pierre Ossman

[    1.252241] sdhci-pltfm: SDHCI platform and OF driver helper

[    1.252565] ledtrig-cpu: registered to indicate activity on CPUs

[    1.253427] Initializing XFRM netlink socket

[    1.253965] NET: Registered PF_INET6 protocol family

[    1.255732] Segment Routing with IPv6

[    1.255801] In-situ OAM (IOAM) with IPv6

[    1.255904] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver

[    1.256751] NET: Registered PF_PACKET protocol family

[    1.256774] NET: Registered PF_KEY protocol family

[    1.256876] Key type dns_resolver registered

[    1.256984] ThumbEE CPU extension supported.

[    1.256998] Registering SWP/SWPB emulation handler

[    1.257441] omap_voltage_late_init: Voltage driver support not added

[    1.258574] Loading compiled-in X.509 certificates

[    1.291376] platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/pinmux_clkout2_pin

[    1.291918] pinctrl-single 44e10800.pinmux: 142 pins, size 568

[    1.296204] ti-sysc: probe of 44e31000.target-module failed with error -16

[    1.308751] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz

[    1.312694] ti-sysc: probe of 48040000.target-module failed with error -16

[    1.322151] gpio gpiochip0: (gpio-0-31): not an immutable chip, please consider fixing it!

[    1.323282] OMAP GPIO hardware version 0.1

[    1.334497] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz

[    1.339091] gpio gpiochip1: (gpio-32-63): not an immutable chip, please consider fixing it!

[    1.341724] gpio gpiochip2: (gpio-64-95): not an immutable chip, please consider fixing it!

[    1.359115] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator

[    1.359545] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator

[    1.413026] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000

[    1.415757] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720

[    1.416070] cpsw-switch 4a100000.switch: initialized cpsw ale version 1.4

[    1.416086] cpsw-switch 4a100000.switch: ALE Table size 1024

[    1.416211] cpsw-switch 4a100000.switch: cpts: overflow check period 500 (jiffies)

[    1.416226] cpsw-switch 4a100000.switch: CPTS: ref_clk_freq:250000000 calc_mult:2147483648 calc_shift:29 error:0 nsec/sec

[    1.416309] cpsw-switch 4a100000.switch: Detected MACID = f4:b8:98:8b:29:c5

[    1.417857] cpsw-switch 4a100000.switch: initialized (regs 0x4a100000, pool size 256) hw_ver:0019010C 1.12 (0)

[    1.427079] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!

[    1.427117] edma 49000000.dma: TI EDMA DMA engine driver

[    1.432779] am335x-phy-driver 47401300.usb-phy: supply vcc not found, using dummy regulator

[    1.433179] am335x-phy-driver 47401300.usb-phy: dummy supplies not allowed for exclusive requests

[    1.436398] am335x-phy-driver 47401b00.usb-phy: supply vcc not found, using dummy regulator

[    1.436679] am335x-phy-driver 47401b00.usb-phy: dummy supplies not allowed for exclusive requests

[    1.454685] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available

[    1.457937] gpio gpiochip3: (gpio-96-127): not an immutable chip, please consider fixing it!

[    1.463124] l3-aon-clkctrl:0000:0: failed to disable

[    1.465284] printk: console [ttyS0] disabled

[    1.465489] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 37, base_baud = 3000000) is a 8250

[    2.479958] printk: console [ttyS0] enabled

[    2.513990] tps65217-pmic: Failed to locate of_node [id: -1]

[    2.527433] tps65217-bl: Failed to locate of_node [id: -1]

[    2.535896] tps65217 0-0024: TPS65217 ID 0xe version 1.2

[    2.541890] i2c 0-0070: Fixed dependency cycle(s) with /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0/port/endpoint@0

[    2.554643] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz

[    2.565853] using random self ethernet address

[    2.570348] using random host ethernet address

[    2.574891] using host ethernet address: 08:00:27:E6:75:37

[    2.574900] using self ethernet address: f8:dc:7a:00:00:02

[    2.581264] usb0: HOST MAC 08:00:27:e6:75:37

[    2.591154] usb0: MAC f8:dc:7a:00:00:02

[    2.595092] using random self ethernet address

[    2.599570] using random host ethernet address

[    2.604338] g_ether gadget.0: Ethernet Gadget, version: Memorial Day 2008

[    2.611162] g_ether gadget.0: g_ether ready

[    2.616979] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)

[    2.625825] sdhci-omap 48060000.mmc: Got CD GPIO

[    2.630777] sdhci-omap 48060000.mmc: supply pbias not found, using dummy regulator

[    2.640708] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator

[    2.649107] sdhci-omap 481d8000.mmc: supply pbias not found, using dummy regulator

[    2.657223] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator

[    2.696401] musb-hdrc musb-hdrc.1: MUSB HDRC host driver

[    2.701797] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1

[    2.711089] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01

[    2.719521] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    2.726824] usb usb1: Product: MUSB HDRC host driver

[    2.731813] usb usb1: Manufacturer: Linux 6.1.55 musb-hcd

[    2.737256] usb usb1: SerialNumber: musb-hdrc.1

[    2.742808] hub 1-0:1.0: USB hub found

[    2.746762] hub 1-0:1.0: 1 port detected

[    2.753326] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA

[    2.762048] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA

[    2.805242] mmc0: new high speed SDHC card at address 1234

[    2.811867] mmcblk0: mmc0:1234 SA08G 7.21 GiB 

[    2.819509]  mmcblk0: p1 p2 p3

[    2.862550] mmc1: new high speed MMC card at address 0001

[    2.869100] mmcblk1: mmc1:0001 MK2704 3.53 GiB 

[    2.876264]  mmcblk1: p1

[    2.879817] mmcblk1boot0: mmc1:0001 MK2704 2.00 MiB 

[    2.886893] mmcblk1boot1: mmc1:0001 MK2704 2.00 MiB 

[    2.893604] mmcblk1rpmb: mmc1:0001 MK2704 512 KiB, chardev (250:0)

[    3.025131] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready

[    3.063056] IP-Config: Guessing netmask 255.255.255.0

[    3.068155] IP-Config: Complete:

[    3.071394]      device=usb0, hwaddr=f8:dc:7a:00:00:02, ipaddr=192.168.0.100, mask=255.255.255.0, gw=255.255.255.255

[    3.082010]      host=192.168.0.100, domain=, nis-domain=(none)

[    3.087977]      bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=

[    3.119550] VFS: Mounted root (squashfs filesystem) readonly on device 179:2.

[    3.135943] devtmpfs: mounted

[    3.140266] Freeing unused kernel image (initmem) memory: 1024K

[    3.146864] Run /sbin/init as init process

[    3.160800] Run /etc/init as init process

[    3.165408] Run /bin/init as init process

[    3.169625] Run /bin/sh as init process

[    3.174004] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.

[    3.188264] ---[ end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. ]---

I can see in the logs that the SquashFS filesystem was mounted:

[    3.119550] VFS: Mounted root (squashfs filesystem) readonly on device 179:2.

But /sbin/init is not found, although it is there. What am I missing?

Edit: So, I found the problem. I was confused because the /sbin/init program was right there in the root FS, and the kernel couldn't find it. This was because when I created the SquashFS image from the nfsroot filder, I left out the lib folder which contained the dynamic linker library among others, to make the image small. But I had built busybox not as a statically linked executable, but as a dynamically linked executable. Without this library busybox couldn't execute. Adding the dynamic linker library to the root FS solved the problem.

1

There are 1 best solutions below

0
Rachid K. On

When the kernel initialization is finished, it starts the user space side by running the init program. At the end of the kernel_init() function, we have:

static int __ref kernel_init(void *unused)
{
    int ret;
[...]
    if (!try_to_run_init_process("/sbin/init") ||
        !try_to_run_init_process("/etc/init") ||
        !try_to_run_init_process("/bin/init") ||
        !try_to_run_init_process("/bin/sh"))
        return 0;

    panic("No working init found.  Try passing init= option to kernel. "
          "See Linux Documentation/init.txt for guidance.");
}

Your startup executed the preceding.
Looking at try_to_run_init_process():

static int try_to_run_init_process(const char *init_filename)
{
    int ret;

    ret = run_init_process(init_filename);

    if (ret && ret != -ENOENT) {
        pr_err("Starting init: %s exists but couldn't execute it (error %d)\n",
               init_filename, ret);
    }

    return ret;
}

You would get the above message "Starting init: .../init exists but couldn't execute it (error..." if the execution of the init program returns something else than ENOENT meaning that the program is not present.

Hence, it seems that your init program is not present.
When we look at your screenshot concerning the mount result of the file system, your init program is a symbolic link onto busybox which is supposed to be in /bin directory. Perhaps busybox is not present in /bin.