Results 1 to 5 of 5

Thread: How do I fix "Kernel panic" error when booting USB stick?

Hybrid View

  1. #1

    How do I fix "Kernel panic" error when booting USB stick?

    Summary:

    1. I want to create a bootable USB stick with a live Knoppix DVD iso on it,
    without first having to put the iso file on a DVD and boot it. However, it's not
    the latter proviso that is my problem.

    NOTE:

    To do the above, I originally followed klaus2008's instructions at
    http://knoppix.net/forum/threads/317...le-usb-stick#3.

    HOWEVER, he uses the syslinux bootloader, which uses FAT32. The problem is that
    one of the files copied to the FAT32 stick is 4.3Gb (/KNOPPIX/KNOPPIX), and
    FAT32 can't handle files greater than 4Gb (the copy fails).

    SO I USED GRUB LEGACY INSTEAD OF SYSLINUX. But after WEEKS of effort and
    research, I can't get past a "Kernel panic" error in the grub boot.

    In case it's relevant, I'm using the iso KNOPPIX_V7.7.1DVD-2016-10-22-EN.iso,
    whereas klaus2008's instructions are based on Knoppix 7.6.0.

    2. The situation is as follows:

    I have succeeded in putting the appropriate parts of the knoppix iso on a USB
    stick (by following klaus2008's instructions), and in installing the grub
    (legacy) bootloader (ver 0.97) on the stick.

    I put the stick in the slot, switch on the laptop, and the grub on the stick
    loads OK. But when I select the grub menu entry to launch the boot, I get the
    following error:

    "Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)"

    and the boot goes no further.

    The grub menu.lst entry is:

    title KNOPPIX DVD on memory stick
    root (hd0,0)
    kernel /boot/isolinux/linux lang=en apm=power-off initrd=/boot/isolin
    ux/minirt.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1

    (The "kernel" entry is all on one line.)

    The entry "root (hd0,0)" IS correct because when a stick is used to boot from,
    my system designates it as "root (hd0,0)".

    MY QUESTION:

    Please could you tell me why I'm getting the "Kernel panic", and how do I make
    the boot succeed?


    Full details:

    1. To create the bootable USB stick with the live Knoppix DVD iso on it, I
    followed the instructions on the following site, as my MAIN BASE to work from
    (post #3, klaus2008 ):

    http://knoppix.net/forum/threads/317...le-usb-stick#3

    2. Those instructions tell you to use the syslinux bootloader. But syslinux
    works with a FAT filesystem, which only supports files up to 4Gb (using FAT32).
    One of the files to be copied from the iso file on the hard drive to the
    stick is 4.3Gb (namely /KNOPPIX/KNOPPIX). And sure enough the copy failed.

    3. So I used the grub bootloader instead, and formatted the stick as ext3 (a
    single partition). I assumed that grub supports ext3. The 4.3Gb file now copied
    OK.

    See "6." for how I put grub on the stick.

    4. But when booting the stick, I got the "Kernel panic" error in the "Summary".

    From googling the "Kernel panic" message, there appear to be two main
    suggestions for correcting the problem: a) use another version of grub, or b)
    boot a different kernel.

    I've tried the latter, but still get the same error. To be honest, I'M OUT OF
    MY DEPTH HERE, so your handholding guidance would be much appreciated.

    5. I ought to mention that when I created /boot/grub/menu.lst on the stick, I
    did the following.

    I based menu.lst on what I believe is the equivalent entry in
    /boot/isolinux/isolinux.cfg on the stick. That isolinux.cfg entry is

    LABEL knoppix
    KERNEL linux
    APPEND lang=en apm=power-off initrd=minirt.gz nomce libata.force=noncq
    hpsa.hpsa_allow_any=1 loglevel=1

    (The "APPEND" entry is all on one line.)

    So based on that, I created the following entry in menu.lst

    title KNOPPIX DVD on memory stick
    root (hd0,0)
    kernel /boot/isolinux/linux lang=en apm=power-off initrd=/boot/isolin
    ux/minirt.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1

    (The "kernel" entry is all on one line.)

    6. I put grub on the stick in the following way:

    $ sudo grub-install --root-directory=/media/sdb1 /dev/sdb
    Installation finished. No error reported.
    This is the contents of the device map /media/sdb1/boot/grub/device.map.
    Check if this is correct or not. If any of the lines is incorrect,
    fix it and re-run the script `grub-install'.

    (fd0) /dev/fd0
    (hd0) /dev/disk/by-id/ata-TOSHIBA_MK1059GSMP_Z1Q7P2H2T
    (hd1) /dev/disk/by-id/usb-SanDisk_Cruzer_Edge_20035000721D97C341C9-0:0
    $

    I understand that the above command puts the grub bootloader in the MBR of the
    stick, and it put 10 files into /boot/grub/ on the stick.

  2. #2
    Addendum to my #1:

    One of my menu.lst entries is

    "kernel /boot/isolinux/linux ...".

    Well one of klaus2008's instructions is to

    "Rename the directory boot/isolinux to boot/syslinux".

    But because I'm using grub, I didn't need to do the rename, so my reference to
    "/boot/isolinux" in "kernel /boot/isolinux/linux ..." IS correct.

  3. #3
    Senior Member registered user
    Join Date
    Feb 2010
    Posts
    504
    Hello winger9!
    title KNOPPIX DVD on memory stick
    root (hd0,0)
    kernel /boot/isolinux/linux lang=en apm=power-off initrd=/boot/isolinux/minirt.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1
    I suggest you describe the initrd you want to use on a separate line:
    Code:
    title KNOPPIX DVD on memory stick
    root (hd0,0)
    kernel /boot/isolinux/linux lang=en apm=power-off nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1
    initrd /boot/isolinux/minirt.gz
    Regards

  4. #4
    klaus2008 you're a genius! Your suggestion of putting
    "initrd /boot/isolinux/minirt.gz" on a separate line works! The stick now boots.

    I've spent such a long time trying to install Knoppix on a USB stick. So I can't
    tell you how grateful I am for your help.

    Is "initrd" a grub command? And could you tell me WHY putting the "initrd .." on
    a separate line works, and why putting "initrd=.." on the "kernel" line doesn't.

  5. #5
    Senior Member registered user
    Join Date
    Feb 2010
    Posts
    504
    Is "initrd" a grub command?
    In the boot menu you should see a hint about pressing the C key to get into a grub command shell. When you enter the command 'help' you should get a list of commands. Entering commands like 'help kernel' should give you more help.

    I can't say why the kernel is not able to find the minirt.gz if you use the option initrd=..., but it complains about the filesystem on block device 0. Since grub can deliver the kernel the initrd the right way I don't think it is a real problem. But you have to know that there are differences how the different bootloaders handle the startup of the linux kernel.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •