[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

BusyBox Strikes Again?



On Wednesday 02 April 2008 13:53:16 Juergen Fiedler wrote:
> Hello,
> 
> It seems like my previous problem is a thing of the past, but I still
> can't get past BusyBox:
> 
> I am building a very basic sid ISO on sid (live-helper 1.0~a41-1):
>  lh_config --distribution sid; lh_build
> in an empty directory.
> 
> Running the ISO through qemu or from a real CD dumps me to the
> (initramfs) prompt.
> The entirety of live.log is reproduced below:
> -----
> Begin: Running /scripts/live-premount ...
> Done.debug: Can not mount backdev /dev/loop0 ( image =
> /live/image/live/filesystem.squashfs ) on
>   croot/imagename //filesystem.squashfs
> Usage: mount [-r] [-w] [-o options] [-t type] [-f] [-i] [-n] device directory
> Can not mount tmpfs on /cow
> -----

Since busybox 1:1.9.2-2, the shell environment in an Debian initramfs has
subtly changed; busybox applets are no longer preferred over klibc-utils
provided binaries.

Utilities provided by both klibc-utils and busybox are not functionally
equivalent, quite often the busybox implementation is more feature rich and
initramfs scripts from various package have become used to some of these
features.

A possible workaround, in the case where particular features are _really_
needed from a busybox provided applet that is now superceded by
a klibc-utils binary is to define shell function like:

mount()
{
	# can loop mount files, klibc's mount cannot without first binding
	# file to loop (block) device node with losetup
	/bin/busybox mount "${@}"
	return "${?}"
}

The other way is, of course, to patch klibc-utils to support a wanted feature,
or modifly live-initramfs scripts to do things in different ways.

Thanks, Kel.



Reply to: