DebuggingKernelBoot

Differences between revisions 16 and 17
Revision 16 as of 2016-07-24 20:41:38
Size: 3328
Editor: penalvch
Comment: Due to LP#1568429 & others, clarified need log from failed boot (not a working boot).
Revision 17 as of 2018-02-01 16:48:45
Size: 3262
Editor: penalvch
Comment: 1) Presentation cleanup as confusing for folks when code written in sentences. 2) URL 404'd. Replaced.
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 1. Then remove the '''quiet''' and '''splash''' keywords (found in the line starting with linux).
 1. Starting with Natty (Ubuntu 11.04), also remove the parameter '''vt.handoff=7''', and on the line that reads '''set gfxpayload=$linux_gfx_mode''', replace with '''set gfxpayload=text'''
 1. In the line starting with linux, remove the following keywords: {{{
quiet
splash
vt.handoff=7}}}
 1. On the line that reads: {{{
set gfxpayload=$linux_gfx_mode}}}replace with: {{{
set gfxpayload=text}}}
Line 16: Line 21:
Depending on the type of error messages you encounter, there are other boot options you could try. For example, if you notice ACPI errors, try booting with the '''acpi=off''' boot option. For a full description of these options, refer to the [[http://www.kernel.org/doc/Documentation/kernel-parameters.txt|kernel parameters]] document. Depending on the type of error messages you encounter, there are other boot options you could try. For example, if you notice ACPI errors, try booting with the '''acpi=off''' boot option. For a full description of these options, refer to the [[https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html|kernel parameters]] document.

Unfortunately it is sometimes the case that your system will fail to boot due to changes within the kernel. It is important that when submitting bug reports about these types of failures that you include the debugging information from a failed boot (not a working boot). This article will help gather this information to provide in your report.

Boot Options

When trying to capture relevant error messages that appear at boot it is often useful to boot with the quiet and splash options removed. This will hopefully allow you to see any messages that come across your screen. To edit boot option parameters, do the following:

  1. Boot the machine.
  2. During the BIOS screen, press the shift key and hold it down. You should see the GRUB menu after the BIOS loads.
  3. Navigate to the kernel entry you want to boot, and press 'e'.
  4. In the line starting with linux, remove the following keywords:

    quiet
    splash
    vt.handoff=7
  5. On the line that reads:

    set gfxpayload=$linux_gfx_mode

    replace with:

    set gfxpayload=text
  6. Press 'Ctrl+x' to boot.

It's best if you can attach a log file which may have captured any messages you see. If you are unable to capture a log file, a digital photo will work just as well. As a last resort you can even copy messages down by hand.

Depending on the type of error messages you encounter, there are other boot options you could try. For example, if you notice ACPI errors, try booting with the acpi=off boot option. For a full description of these options, refer to the kernel parameters document.

Initramfs

Sometimes you may even be dropped into an initramfs shell. This indicates errors in the boot sequence, for example failing to find your root partition/filesystem. You are put into the initramfs shell in an effort to allow you to recover the system. Hopefully, if you boot with the quiet and splash options removed you will notice error messages before being dropped into the shell which will help debug and direct you to a solution.

If you are dropped into an initramfs shell you may want to also try booting with the debug boot option. It should write a log to /tmp/initramfs.debug. You could also specify some arbitrary argument (for example debug=vc) to have the output written to the console.

Additionally, being able to extract log files from the system would be helpful. Once dropped into an initramfs shell, you can type httpd. You should then be able to point a web browser to the IP address of the system and view the contents of the /var/log folder.

There is another initramfs boot parameter which can purposely drop you into the initramfs shell during different stages of the initial boot sequence. The parameter is break=[option] where option can be: top, modules, premount, mount, bottom, or init. The default is premount if no options are specified. More information about the break= parameters can be found in "/usr/share/initramfs-tools/init" on your Ubuntu system.

Links


CategoryBugSquad CategoryDebugging

DebuggingKernelBoot (last edited 2019-11-02 17:01:33 by penalvch)