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: