[Yaird-devel] Bug#477054: Bug#477054: yaird: Generates invalid initrds which reference /lib/i686/mov/

Jonas Smedegaard dr at jones.dk
Mon Apr 21 09:55:58 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Nick,

Thanks for your bugreport!

Please read on - I am uncertain about some of the things you wrote...:


On Sun, Apr 20, 2008 at 06:37:52PM +0100, Nick Burch wrote:
>yaird has started generating invalid initrds for me. This affects
>all kernel versions installed on my machine. When attempting to boot,
>the kernel panics with
>  Failed to execute /init
>  Kernel panic -not syncing: No init found. Try passing init= option to
>  kernel.
>
>I've unpacked the initrd, and I think I've found the problem. Busybox 
>(/bin/busybox) contains references to:
>	linux-gate.so.1 =>  (0xffffe000)
>	libcrypt.so.1 => /lib/i686/cmov/libcrypt.so.1 (0xb7f02000)
>	libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7edd000)
>	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7d8e000)
>	/lib/ld-linux.so.2 (0xb7f57000)
>But inside the initrd, there's no /lib/i686/cmov/ directory, which would
>seem to explain why init can't be run.

I notice that you are running a 486 class kernel, which might indicate 
that your machine does not support 686-optimizations.

The above mentioned directory is provided by libc6-686, only relevant 
for 686-capable machines.

If you generate your yaird-based ramdisks on a 686-capable machine, then 
those optimized libraries will get included in the ramdisk instead of 
their non-686 counterparts.  If you then use those ramdisks in a machine 
not supporting 686, your ramdisk will not work.

Try regenerate your ramdisks on the machine you actually need them.

If that does not help, then try remove libc6-686, and afterwards 
regenerate your ramdisks.

In any case, please report back here what worked and what didn't.


>The initrds were all generated using update-initramfs

That command is part of an alternative ramdisk generator, 
initramfs-tools.

When you use yaird together with official Debian-packaged Linux kernels 
or kernels built using kernel-package, then please use the standard 
Debian mechanism to regenerate ramdisks:

   dpkg-reconfigure linux-image-2.6.24-1-amd64

(repeat for each kernel package you have installed)


If you use custom compiled and custom (or non-) packaged Linux kernels, 
you need to use the yaird command directly.  And then you also need to 
tell me more about your setup ;-)



>One of the problem initrds can be downloaded from
>  http://urchin.earth.li/~nick/initrd-2.6.24-1-686

That address did not work for me.  Please doublecheck if it is correct.



Kind regards,

  - Jonas

- -- 
* Jonas Smedegaard - idealist og Internet-arkitekt
* Tlf.: +45 40843136  Website: http://dr.jones.dk/

  - Enden er nær: http://www.shibumi.org/eoti.htm
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIDGSun7DbMsAkQLgRAvaNAJ9sXz9MCy5OuPPOyWt0JfIR79zxwQCfVwem
C/xeIt9cs5y/UX7W0gxFHNQ=
=8zSP
-----END PGP SIGNATURE-----





More information about the Yaird-devel mailing list