# [solved] version MOUNT_2.20 not found

## ogenos

Hello,

I get these messages during the pre-mount of /usr (which resides in a separate partition) using an initramfs file called by the kernel:

/sbin/fsck: libmount.so.1: version 'MOUNT_2.20' not found (required by /sbin/fsck)

/sbin/fsck: libmount.so.1: version 'MOUNT_2.21' not found (required by /sbin/fsck)

/sbin/fsck: libmount.so.1: version 'MOUNT_2.19' not found (required by /sbin/fsck)

Afterwards the booting itself proceeds without any errors. I have the latest util-linux (util-linux-2.22.2) installed.

I wanted to know if I need to patch anything. My kernel is 3.4.34.

Thank you for helping.Last edited by ogenos on Fri May 10, 2013 12:52 pm; edited 1 time in total

----------

## NeddySeagoon

ogenos,

The library libmount.so.1needs to be in your initrd and its missing.

fsck fails because of the missing library but the mount goes ahead on the unchecked filesystem.

How did you make your initrd ?

----------

## ogenos

Hello NeddySeagoon,

I don't have any initrd. What I have is a file labelled initramfs_list that the kernel calls 

  General setup ->

     Initial RAM filesystem and RAM disk (initramfs/initrd) support:

        (/usr/src/initramfs/initramfs_list) Initramfs source file(s)

In that file I have:

```

# directory structure

dir /proc       755 0 0

dir /usr        755 0 0

dir /bin        755 0 0

dir /sys        755 0 0

dir /var        755 0 0

dir /lib        755 0 0

dir /sbin       755 0 0

dir /mnt        755 0 0

dir /mnt/root   755 0 0

dir /etc        755 0 0

dir /root       700 0 0

dir /dev        755 0 0

# libraries required by /sbin/fsck.ext3 and /sbin/fsck

file    /lib/ld-linux.so.2      /lib/ld-linux.so.2                  755 0 0

file    /lib/libext2fs.so.2     /lib/libext2fs.so.2                 755 0 0

file    /lib/libcom_err.so.2    /lib/libcom_err.so.2                755 0 0

file    /lib/libpthread.so.0    /lib/libpthread.so.0                755 0 0

file    /lib/libblkid.so.1      /lib/libblkid.so.1                  755 0 0

file    /lib/libuuid.so.1       /lib/libuuid.so.1                   755 0 0

file    /lib/libe2p.so.2        /lib/libe2p.so.2                    755 0 0

file    /lib/libc.so.6          /lib/libc.so.6                      755 0 0

file    /lib/libmount.so.1      /lib/libmount.so.1                  755 0 0

file    /sbin/fsck              /sbin/fsck                          755 0 0

file    /sbin/fsck.ext2         /sbin/fsck.ext2                     755 0 0

file    /sbin/fsck.ext3         /sbin/fsck.ext3                     755 0 0

# libraries required by /bin/busybox

file    /lib/libm.so.6          /lib/libm.so.6          755 0 0

file    /lib/libpam_misc.so.0   /lib/libpam_misc.so.0   755 0 0

file    /lib/libpam.so.0        /lib/libpam.so.0        755 0 0

file    /lib/libdl.so.2         /lib/libdl.so.2         755 0 0

## busybox

file /bin/busybox /bin/busybox 755 0 0

# our init script

file    /init                   /usr/src/initramfs/script_init.sh   755 0 0

## required device files

nod   /dev/null       0666        0 0 c 1 3

nod   /dev/tty0       0620        0 0 c 4 0

nod   /dev/sda7       0660        0 0 b 8 7

nod   /dev/sda10      0660        0 0 b 8 10

## uvesafb v86d - http://dev.gentoo.org/~spock/projects/uvesafb/

## coming from /usr/share/v86d/initramfs

nod   /dev/console    0600        0 0 c 5 1

nod   /dev/tty1       0600        0 0 c 4 1

nod   /dev/zero       0600        0 0 c 1 5

nod   /dev/mem        0600        0 0 c 1 1

file  /sbin/v86d      /sbin/v86d  0755 0 0

```

It has worked fine with kernel 3.3.8

----------

## ogenos

Another, unrelated error, coming from the /sbin/setfont -> /bin/busybox during boot: 

```
Setting console font [default8x16] ...

setfont: default8x16: No such file or directory                                                                                                       [ !! ]

 * ERROR: consolefont failed to start

```

The  

```
/usr/bin/setfont default8x16

```

executes fine.

What is the recommendation on this?

----------

## NeddySeagoon

ogenos,

You initrd is the old name for what has become initramfs, either works.  The latter can be a separate file, loader by your boot loader or it can be embedded in the kernel.

You need to add libmount.so.1 to your initramfs_list, then rebuild your kernel since you have chosen to have your initramfs built into the kernel.

I have may initramfs separate, since I update it about as ofter as I update my BIOS. (Almost never).  I don't use it to load kernel modules, so its kernel agnostic. 

Looking at your post again, /lib/libmount.so.1 is included. /lib/libmount.so.1 is actually a symlink to /lib/libmount.so.1.1.0 on my system, so you either need both the link and the file it points to or you need to rename /lib/libmount.so.1.1.0 to /lib/libmount.so.1 in your initramfs_list.

Since

```
/usr/bin/setfont default8x16
```

works, I suspect you have something missing from your initramfs when you try to use  /sbin/setfont -> /bin/busybox in the initramfs to set the font. Is default8x16 there?

----------

## ogenos

Hello NeddySeagoon, 

Trying to recompile the kernel, without any changes made to initramfs_list; it fails:

```
(linux) # make

make[1]: Nothing to be done for `all'.

make[1]: Nothing to be done for `relocs'.

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

  LD      arch/x86/net/built-in.o

ar: invalid option -- 's'

BusyBox v1.20.2 (2013-05-07 10:49:34 EDT) multi-call binary.

Usage: ar [-o] [-v] [-p] [-t] [-x] ARCHIVE FILES

Extract or list FILES from an ar archive

        -o      Preserve original dates

        -p      Extract to stdout

        -t      List

        -x      Extract

        -v      Verbose

make[2]: *** [arch/x86/net/built-in.o] Error 1

make[1]: *** [arch/x86/net] Error 2

make: *** [arch/x86] Error 2

```

Most certainly it compiled before! I don't know what the busybox is doing. I re-emerged it without any flag changes, in the hope that the consolefont 

problem would resolve itself, but this might have broken things (?!)

```
# genlop -t busybox

 * sys-apps/busybox

     Mon Jul 18 19:21:01 2011 >>> sys-apps/busybox-1.17.4

       merge time: 51 seconds.

     Wed Aug 31 10:03:07 2011 >>> sys-apps/busybox-1.19.0

       merge time: 49 seconds.

     Wed Dec 21 09:40:56 2011 >>> sys-apps/busybox-1.19.0

       merge time: 49 seconds.

     Thu Jan  5 15:58:33 2012 >>> sys-apps/busybox-1.19.3-r1

       merge time: 48 seconds.

     Mon May 28 08:00:04 2012 >>> sys-apps/busybox-1.19.3-r1

       merge time: 51 seconds.

     Tue Jun 12 08:36:23 2012 >>> sys-apps/busybox-1.20.1

       merge time: 48 seconds.

     Tue Aug 21 14:23:25 2012 >>> sys-apps/busybox-1.20.2

       merge time: 52 seconds.

     Thu Oct  4 08:18:54 2012 >>> sys-apps/busybox-1.20.2

       merge time: 49 seconds.

     Mon Nov  5 08:17:50 2012 >>> sys-apps/busybox-1.20.2

       merge time: 45 seconds.

     Tue May  7 10:50:15 2013 >>> sys-apps/busybox-1.20.2

       merge time: 54 seconds.

```

```
emerge -pv busybox

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R    ] sys-apps/busybox-1.20.2  USE="ipv6 pam static -livecd -make-symlinks -math -mdev -savedconfig (-selinux) -sep-usr (-systemd)" 0 kB

```

I am scratching my head now ...

The consolefont files are present:

```
ls /usr/share/consolefonts/default8x*

/usr/share/consolefonts/default8x16.psfu.gz  /usr/share/consolefonts/default8x9.psfu.gz

```

----------

## khayyam

 *ogenos wrote:*   

> I am scratching my head now ...

 

ogenos ... the recently added 'README.busybox' in the openrc sources states:

 *Quote:*   

> If you have/bin/sh linked to busybox, you need to be aware of several incompatibilities between busybox's applets and the standalone counterparts. Since it is possible to configure busybox to not include these applets or to prefer the standalone counterparts, OpenRC does not attempt to support the busybox applets.
> 
> [...]
> 
> 5. the setfont applet does not support the -u option from kbd.

 

So, you may need to rebuild busybox with CONFIG_SETFONT=n so that setfont from kbd is used rather than the busybox builtin.

best ... khay

----------

## ogenos

Hello,

I did this test:

```
# ls -l /bin/ar

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ar -> /bin/busybox

# ls -l /usr/bin/ar

lrwxrwxrwx 1 root root 20 Aug  8  2012 /usr/bin/ar -> i686-pc-linux-gnu-ar

# echo $PATH

/sbin:/bin:/usr/sbin:/usr/bin

# unset PATH

# export PATH=/usr/sbin:/usr/bin:/sbin:/bin

(linux) # make

make[1]: Nothing to be done for `all'.

make[1]: Nothing to be done for `relocs'.

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

  LD      arch/x86/net/built-in.o

  LD      arch/x86/built-in.o

  LD      vmlinux.o

  MODPOST vmlinux.o

  GEN     .version

  CHK     include/generated/compile.h

  UPD     include/generated/compile.h

  CC      init/version.o

  LD      init/built-in.o

  LD      .tmp_vmlinux1

  KSYM    .tmp_kallsyms1.S

  AS      .tmp_kallsyms1.o

  LD      .tmp_vmlinux2

  KSYM    .tmp_kallsyms2.S

  AS      .tmp_kallsyms2.o

  LD      vmlinux

  SYSMAP  System.map

  SYSMAP  .tmp_System.map

  VOFFSET arch/x86/boot/voffset.h

  OBJCOPY arch/x86/boot/compressed/vmlinux.bin

  RELOCS  arch/x86/boot/compressed/vmlinux.relocs

  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz

  MKPIGGY arch/x86/boot/compressed/piggy.S

  AS      arch/x86/boot/compressed/piggy.o

  CC      arch/x86/boot/compressed/eboot.o

  AS      arch/x86/boot/compressed/efi_stub_32.o

  LD      arch/x86/boot/compressed/vmlinux

  ZOFFSET arch/x86/boot/zoffset.h

  AS      arch/x86/boot/header.o

  CC      arch/x86/boot/version.o

  LD      arch/x86/boot/setup.elf

  OBJCOPY arch/x86/boot/setup.bin

  OBJCOPY arch/x86/boot/vmlinux.bin

  BUILD   arch/x86/boot/bzImage

Setup is 15296 bytes (padded to 15360 bytes).

System is 6077 kB

CRC bfd10021

Kernel: arch/x86/boot/bzImage is ready  (#2)

  Building modules, stage 2.

  MODPOST 40 modules

```

Now my question is how far does the incompatibility of the busybox with the rest of the system extend? Do I have to expect more unpleasant surprises as the this one above? I read that busybox "find" command isn't up to the task as well. In short, how can I avoid all these.   

Hello khayyam,

How do I set the CONFIG_SETFONT=n for the busybox? Do I have to unpack the busybox.ebuild and such?  

P.S. the fsck on the pre-mount /usr (my first post) error is resolved by recompiling the kernel. Thanks NeddySeagoon.

----------

## khayyam

 *ogenos wrote:*   

> How do I set the CONFIG_SETFONT=n for the busybox? Do I have to unpack the busybox.ebuild and such?

 

ogenos ... busybox has a 'savedconfig' useflag, the config is written to /etc/portage/savedconfig/sys-apps/busybox, this can be edited, the useflag enabled, and the package re-emerged.

best ... khay

----------

## ogenos

khayyam,

I followed your instructions, set the CONFIG_SETFONT=n in /etc/portage/savedconfig/sys-apps/busybox-1.20.2 and emerged with

```
# USE=savedconfig emerge busybox
```

Now the error message has changed to

```
# rc

 * Setting console font [default8x16] ...

setfont: applet not found                                                                                                                             [ !! ]

 * ERROR: consolefont failed to start

```

Is it proper if I break the links that point to incompatible busybox commands such as /bin/ar and /bin/setfont and direct them to the /usr/bin/ar and /usr/bin/setfont?

----------

## khayyam

 *ogenos wrote:*   

> Is it proper if I break the links that point to incompatible busybox commands such as /bin/ar and /bin/setfont and direct them to the /usr/bin/ar and /usr/bin/setfont?

 

ogenos ... honestly I'm not sure why those links would be created if busybox doesn't contain those applets.

As I understood the README.busybox if the applet is disabled then the standalone would be used. Are you running 'busybox --install' at some point, and are these symlinks perhaps left over?

best ... khay

----------

## ogenos

 *Quote:*   

> Are you running 'busybox --install' at some point

 

Nope.

Recompiling the kernel started complaining (with the /bin/ar incompatibility) only after I re-emerged busybox, which means busybox replaced some old working symlinks with its own without any warning.

----------

## khayyam

 *ogenos wrote:*   

>  *Quote:*   Are you running 'busybox --install' at some point 
> 
> Nope. Recompiling the kernel started complaining (with the /bin/ar incompatibility) only after I re-emerged busybox, which means busybox replaced some old working symlinks with its own without any warning.

 

ogenos ... I'm begining to suspect you have the 'make-symlinks' useflag enabled on busybox, because this is the only way busybox may have created any symlinks without you having explictly called 'busbox --install'.

best ... khay

----------

## NeddySeagoon

ogenos,

The standalone applets will be called but if they are not listed in your initramfs_list together with any libraries they need, they will not be included in your kernel, so the calls to the applets will fail.

----------

## ogenos

I don't mess with USE flags unless "recommended", I mean forced, by emerge. Here is again:

```
> emerge -pv busybox

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R    ] sys-apps/busybox-1.20.2  USE="ipv6 pam static -livecd -make-symlinks -math -mdev -savedconfig* (-selinux) -sep-usr (-systemd)" 0 kB

```

I don't see that make-symlinks is positive, and I am positive that I never used this flag explicitly. This said, this is the list of busybox symlinks on my computer

```
> find /bin /sbin /usr/bin /usr/sbin -type l | xargs ls -l | grep busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/[ -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/[[ -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/addgroup -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/adduser -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ar -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/arping -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ash -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/base64 -> /bin/busybox

lrwxrwxrwx 1 root root  7 May  8 11:39 /bin/bb -> busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/bbconfig -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/bbsh -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/cal -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/catv -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/chat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/chattr -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/chpst -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/chrt -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/chvt -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/cksum -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/clear -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/cmp -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/comm -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/conspy -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/cryptpw -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/cttyhack -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/deallocvt -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/delgroup -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/deluser -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/diff -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/dos2unix -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/dumpkmap -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/dumpleases -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/eject -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/envdir -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/envuidgid -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ether-wake -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/expand -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/fdflush -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/fdformat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/fgconsole -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/find -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/flock -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/free -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/fsync -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/getopt -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/hd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/hexdump -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/id -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ifplugd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/install -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ionice -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/iostat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ipaddr -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ipcrm -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ipcs -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/iplink -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/iproute -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/iprule -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/iptunnel -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/kbd_mode -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/killall -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/killall5 -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/last -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/less -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/linux32 -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/linux64 -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/logger -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lpq -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lpr -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lsattr -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lsof -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lspci -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lsusb -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lzcat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lzma -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lzop -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/lzopcat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/md5sum -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/mesg -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/microcom -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/mkpasswd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/mpstat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/mt -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/nc -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/nice -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/nmeter -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/nohup -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/nslookup -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/openvt -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/patch -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pgrep -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pipe_progress -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pkill -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pmap -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/powertop -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/printenv -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/printf -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pscan -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pstree -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/pwdx -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/readahead -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/realpath -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/renice -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/reset -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/resize -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/rev -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/rtcwake -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/rx -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/script -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/scriptreplay -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/setarch -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/setkeycodes -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/setsid -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/setuidgid -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/sha1sum -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/sha256sum -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/sha512sum -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/showkey -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/softlimit -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/split -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/stat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/strings -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/sum -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/tac -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/tee -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/telnet -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/test -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/tftp -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/tftpd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/time -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/timeout -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/top -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/traceroute -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/traceroute6 -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/ttysize -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/udhcpc6 -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/unexpand -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/uniq -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/unix2dos -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/unlzma -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/unlzop -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/unxz -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/unzip -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/uptime -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/users -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/usleep -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/vi -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/vlock -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/volname -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/wall -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/watch -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/wget -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/which -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/who -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/whoami -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/whois -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/xargs -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/xz -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /bin/xzcat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/acpid -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/adjtimex -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/chpasswd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/chroot -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/crond -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/devmem -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/dhcprelay -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/fbset -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/flashcp -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/flash_eraseall -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/flash_lock -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/flash_unlock -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/freeramdisk -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ftpd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/getty -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ginit -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/httpd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ifconfig -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ifdown -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ifenslave -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ifup -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/klogd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/loadfont -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/loadkmap -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/logread -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/makedevs -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/man -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/mdev -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/mkdosfs -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/mkfs.reiser -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/mkfs.vfat -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/nanddump -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/nandwrite -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/nbd-client -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ntpd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/popmaildir -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/raidautorun -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/rdate -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/route -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/sendmail -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/setconsole -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/setfont -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/setlogcons -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/syslogd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/telnetd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/tunctl -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ubiattach -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ubidetach -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ubimkvol -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ubirmvol -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ubirsvol -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/ubiupdatevol -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/udhcpc -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/udhcpd -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/watchdog -> /bin/busybox

lrwxrwxrwx 1 root root 12 May  7 10:09 /sbin/zcip -> /bin/busybox

```

----------

## NeddySeagoon

ogenos,

Don't confuse whats on your computer with whats in your initramfs. Its the latter that is of interest.

Those symlinks should not be there.  They were only created on 

```
May  7 10:09
```

----------

## ogenos

Yes, I see that, but the time in emerge log doesn't correspond

```
genlop --date 05/01/2013  --list

 * x11-libs/libX11

     Wed May  1 08:12:43 2013 >>> x11-libs/libX11-1.5.0

     Wed May  1 08:12:55 2013 >>> x11-libs/libXext-1.3.1

     Wed May  1 08:13:05 2013 >>> x11-libs/libXp-1.0.1

     Wed May  1 08:13:21 2013 >>> x11-libs/libXt-1.1.3

     Wed May  1 08:13:34 2013 >>> x11-libs/libXmu-1.1.1

     Wed May  1 08:14:44 2013 >>> x11-libs/motif-2.3.4-r1

     Wed May  1 08:16:14 2013 >>> x11-libs/motif-2.2.3-r12

     Thu May  2 16:16:58 2013 >>> sys-boot/grub-2.00-r3

     Fri May  3 08:19:34 2013 >>> media-libs/tiff-4.0.3-r2

     Fri May  3 11:25:47 2013 >>> sys-kernel/gentoo-sources-3.7.10

     Fri May  3 11:50:06 2013 >>> x11-drivers/ati-drivers-13.1

     Fri May  3 13:15:57 2013 >>> sys-kernel/gentoo-sources-3.4.34

     Fri May  3 13:27:54 2013 >>> x11-drivers/ati-drivers-13.1

     Fri May  3 13:45:49 2013 >>> sys-apps/util-linux-2.22.2

     Mon May  6 08:02:09 2013 >>> sys-apps/portage-2.2.0_alpha174

     Mon May  6 08:05:47 2013 >>> x11-libs/motif-2.3.4

     Mon May  6 08:07:16 2013 >>> x11-libs/motif-2.2.3-r11

     Mon May  6 08:07:27 2013 >>> sys-apps/man-pages-3.50

     Mon May  6 14:07:06 2013 >>> sys-apps/util-linux-2.22.2

     Tue May  7 10:50:15 2013 >>> sys-apps/busybox-1.20.2

     Wed May  8 08:08:11 2013 >>> sys-apps/findutils-4.4.2-r1

     Wed May  8 11:39:58 2013 >>> sys-apps/busybox-1.20.2

```

All busybox symlinks seem to be recreated on May  7 10:09. By the way, I thought that initramfs is done with when control is returned to real root, and consolefont error message is displayed twice during the boot, both after the true mount of partitions finishes. Well I have difficulty understanding all this temporary mount stuff and who controls what ...

----------

## NeddySeagoon

ogenos,

Busybox can write the symlinks if you ask it to.  busybox -s, I think. Don't do that, and be careful unpicking the busybox simlinks.

Check that you still have the real applications available, you may not.  This command is often used when busybox is launched as the shell in an initramfs that has failed to do something important, so you can look round to see what went wrong. 

You are correct, that the initramfs is done after the pivot_root and control is passed to /sbin/init on the real_root filesystem.

----------

## ogenos

NeddySeagoon,

I see that the /usr/src/initramfs/script_init.sh has the

```
#!/bin/busybox sh                                                

                                                                                         

rescue_shell()                                                   

{                                                                

  echo "Something went wrong. Dropping you to a shell."                                  

  busybox --install -s                                           

  exec /bin/sh                                                       

} 

```

in it, but I don't recall that booting with kernel 3.4.34 failed and dropped me in a rescue shell, or maybe it did, I am not very sure about this one. Anyway, it might

have been resolved easy by rebooting again since it has escaped my memorizing it. I don't find anything that went wrong in /var/log files. The system itself is running normal.

Should I permanently remove the  --install option from this rescue_shell?

I have another computer with a similar layout as this one and running kernel 3.7.10. I will check where the symlinks (that busybox may have replaced here) point to. 

I would like to know what is considered as real applications though ... findutils, coreutils, util-linux ?Last edited by ogenos on Wed May 08, 2013 9:47 pm; edited 1 time in total

----------

## NeddySeagoon

ogenos,

I don't have any file name collisions between real files and your busybox symlinks.

This suggests that the 'real' command files have been mostly migrated to /usr/bin and /usr/sbin

Where you have both the busybox symlink and the command it replaces installed, which one will be used depends on your $PATH

I have 

```
$ $PATH

bash: /usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.2:/usr/x86_64-pc-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/4.7.2:/opt/nvidia-cg-toolkit/bin:/usr/lib64/subversion/bin:/usr/games/bin:/usr/portage/local/layman/sunrise/scripts:/usr/portage/local/layman/sunrise/scripts: No such file or directory
```

so /usr/bin is searched before /bin, which looks like what you would want.

----------

## ogenos

NeddySeagoon,

I would prefer to revert all changes that "busybox --install" has brought to the system. I read from a comment in 2010 that

 *Quote:*   

> Is busybox emerged with the "make-symlinks" use flag enabled?
> 
> If so, then /bin/find and the other utils will be symlinks to /bin/bb.
> 
> If so, what you should do is `FEATURES=-collison-protect emerge -1 coreutils`, then re-emerge busybox without the make-symlinks use flag enabled.
> ...

 

Can you please confirm that this procedure is safe, and maybe help with a list of packages that will need to be rebuild?

Changing the $PATH variable, as you suggest, should be affected before the init() uses it and I don't prefer changing the system scripts.

----------

## NeddySeagoon

ogenos,

That process from 2010 is safe.

FEATURES=-collison-protect allows the emerge -1 coreutils to overwrite the busybox symlinks.

To find out what needs to be remerged, on a system that does not have the busybox symlinks, run the command 

```
equery b <path>
```

where <path> is one of the busybox symlinks.

Here is a random example  

```
roy@NeddySeagoon_ssd ~ $ equery b /bin/base64

 * Searching for /bin/base64 ... 

roy@NeddySeagoon_ssd ~ $ equery b /usr/bin/base64

 * Searching for /usr/bin/base64 ... 

sys-apps/coreutils-8.21 (/usr/bin/base64)
```

The symlink /bin/base64 does not belong to a package. The real binary is now /usr/bin/base64, which is provided by sys-apps/coreutils.  In this case, just delete the /bin/base64symlink that points to busybox.

Rinse and repeat.

----------

## ogenos

Thank you all for your support. Gentoo rocks. I will mark this topic as solved.

----------

