Kernel panic no init found after installing Saucy
Tom H
tomh0665 at gmail.com
Mon Aug 19 08:03:54 UTC 2013
On Mon, Aug 12, 2013 at 11:15 AM, Nils Kassube <kassube at gmx.net> wrote:
> Tom H wrote:
>> On Mon, Aug 12, 2013 at 12:45 AM, Nils Kassube <kassube at gmx.net>
>> wrote:
>>> Colin Law wrote:
>>>> Freeing unused kernel memory: 864k freed
>>>> Write protecting the kernel text: 6232k
>>>> Write protecting the kernel read-only data: 2500k
>>>> NX-protecting the kernel data 4008k
>>>> Failed to execute /init
>>>> Kernel panic - not syncing: No init found
>>>>
>>>> I can see that initrd.img exists and is a link to
>>>> boot/initrd.img-3.10.0.6-generic which is 17.1MB
>>>
>>> The message "no init found" probably means that there is no
>>> executable "init" in the initrd. You can check it with these
>>> commands in a terminal:
>>>
>>> mkdir /tmp/test-initrd
>>> cd /tmp/test-initrd
>>> cat /PATH/TO/YOUR/INITRD | gunzip | cpio -i
>>> ls -l init
>>>
>>> That should extract the contents of the initrd and show the "init"
>>> script (or at least that's what it does on my 12.04 machine).
>>
>> There's an "/init" shell script on an initramfs but this isn't the
>> "init" that's missing. You can use "lsinitramfs" to peak into an
>> initrd created by initramfs-tools without unpacking it. If you do
>> choose to unpack it it's better to pipe to "cpio -id
>> --no-absolute-filenames".
>
> Interesting stuff - I didn't know about lsinitramfs. Thanks for the
> pointer.
You're welcome. It's unfortunately not useful if you want to page
through a file in the initrd... Why not a "lessinitramfs
<path_to_file>"? :)
>> It's "/sbin/init" on the root filesystem that's not being found,
>> usually because the "root=..." on the kernel cmdline is incorrect, the
>> scsi driver of "/" isn't loaded, or the driver of the filesystem of
>> "/" isn't loaded.
>
> I thought the /init script was missing because the kernel panic seemed
> to be at a very early part of the boot process. But if the root fs isn't
> found, shouldn't there be an appropriate error message?
I'm sorry, I wasn't thinking clearly and was focused on "No init
found..." that I (unfortunately!) know, rather than on the "/init" of
"Failed to execute /init".
The "No init found" error is output when the kernel can't find
"/sbin/init", "/etc/init", or "/bin/init" on the rootfs.
The "Failed to execute /init" error is output when the kernel can't
find "/init" in the initramfs, whether built-in or external.
I couldn't figure out a scenario where the latter might be output so I tried:
- removing the shebang from "/init"
- removing the excutable bit from "/init"
- deleting "/init"
- deleting the "initrd" line from grub.cfg
but I never got this error...
To Colin: Do you remember which daily caused you problems?
More information about the ubuntu-users
mailing list