LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Cucumber Linux (https://www.linuxquestions.org/questions/cucumber-linux-124/)
-   -   Kernel panic with Cucumber Linux 1.1 beta 3 installed on GPT partitions. (https://www.linuxquestions.org/questions/cucumber-linux-124/kernel-panic-with-cucumber-linux-1-1-beta-3-installed-on-gpt-partitions-4175622184/)

cowlitzron 01-22-2018 05:15 PM

Kernel panic with Cucumber Linux 1.1 beta 3 installed on GPT partitions.
 
I got a kernel panic with Cucumber Linux 1.1 beta 3 installed on GPT partitions. I installed Cucumber Linux on a USB hard drive triple booting with two installs of Lubuntu. I used the updated 4.9.77 kernel. Also, when I tried to install grub to /dev/sdb I got the following message.
/sbin/grub-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition: embedding won't be possible.
/sbin/grub-bios-setup: warning: embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.
/sbin/grub-bios-setup: error: will not proceed with blocklists.

Also, I couldn't get a wired Internet connection to work when I chrooted into the installation even though I followed the directions on the Cucumber wiki.

cowlitzron 01-23-2018 03:06 AM

As a person who has used Slackware, I do like the concept of a old style distro with no dependency resolution. I know that the idea of one that has stronger security updates is quite positive. Cucumber Linux just needs to be able to work on more setups to have a chance to dethrone Slackware as the king of no dependency resolution distros which use text pages in its initialization. I don't know if it can get the man power to take off as a distro, but I commend the BDFL for trying.

Z5T1 01-23-2018 11:42 AM

Quote:

Originally Posted by cowlitzron (Post 5810001)
I got a kernel panic with Cucumber Linux 1.1 beta 3 installed on GPT partitions. I installed Cucumber Linux on a USB hard drive triple booting with two installs of Lubuntu. I used the updated 4.9.77 kernel. Also, when I tried to install grub to /dev/sdb I got the following message.
/sbin/grub-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition: embedding won't be possible.
/sbin/grub-bios-setup: warning: embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.
/sbin/grub-bios-setup: error: will not proceed with blocklists.

In order to use legacy BIOS boot with GPT partitions, you'll need to create a BIOS boot partition. When you partition the drives at the beginning of the installation process, create an additional small partition (I usually make mine 4 MB). When prompted to enter the Hex code or GUID, enter ef02 (the code for a BIOS boot partition). Then, go on installing Cucumber Linux like you usually would; you don't need to format this partition or give it a mount point.

When you go to install Grub now, it will succeed.

As a sidenote, if you ever move this BIOS boot partition it will be necessary to reinstall Grub to the MBR.

Quote:

Originally Posted by cowlitzron (Post 5810001)
Also, I couldn't get a wired Internet connection to work when I chrooted into the installation even though I followed the directions on the Cucumber wiki.

Unfortunately, networking doesn't work properly from the chroot environment. You can still create your network configuration files in the chroot; however, you will have to reboot into the new system before running ifup or /etc/init.d/network start.

cowlitzron 01-24-2018 12:04 AM

I did as suggested. I put the BIOS boot partition on sdb7, and the root partition on sdb8, but I still get the kernel panic after getting the message "error: no symbol table". Do I have to make an initrd? If so, how is that done?

Z5T1 01-26-2018 08:53 AM

Quote:

Originally Posted by cowlitzron (Post 5810729)
I did as suggested. I put the BIOS boot partition on sdb7, and the root partition on sdb8, but I still get the kernel panic after getting the message "error: no symbol table". Do I have to make an initrd? If so, how is that done?

Cucumber Linux works on most systems and most setups without an initrd. Unless you have some really uncommon hardware, you shouldn't need one in this case.

Is there any way you could post more of the stack trace from the kernel panic? Could you please additionally post your grub.cfg (/boot/grub/grub.cfg)? Also, what filesystem are you using for the root partition, and do you have a separate /boot partition (the /boot partition and the BIOS boot partition are two different partitions)?

cowlitzron 01-27-2018 06:39 PM

The following is the stack trace.
Code:

warm_slowpath_null+0x1d/0x20
native_smp_send_reschedule+0x3f/0x50
trigger_load_balance+0x128/0x1e0
scheduler_tick+0x9c/0xd0
? tick_sched_do_timer+0x30/0x30
update_process_times+0x47/0x60
tick_sched_handle.isra.12+0x36/0x50
tick_sched_timer+0x3d/0x70
__hrtimer_run_queues+0xdf/0x230
hrtimer_interrupt+0xa8/0x
local_apic_timer_interrupt+0x38/0x60
smp_apic_timer_interrupt+0x3d/0x50
apic_timer_interrupt+0x93/0xa0
? panic+0x1cf/0x208
? panic+0x1cc/0x208
? printk+0x48/0x50
mount_block_root+0x201/0x2c6
mount_root+0xad/0xb0
prepare_namespace+0x16a/0x1a2
kernel_init_freeable+0x1bb/0x1cb
? rest_init+0x80/0x80
kernel_init+0xe/0x100
ret_from_fork+0x54/0x60

The following is the grub.cfg
Code:

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if loadfont unicode ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'GNU/Linux' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4d922d9b-23e5-4307-99d7-eb106949d699' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt8'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt8 --hint-efi=hd1,gpt8 --hint-baremetal=ahci1,gpt8  4d922d9b-23e5-4307-99d7-eb106949d699
        else
          search --no-floppy --fs-uuid --set=root 4d922d9b-23e5-4307-99d7-eb106949d699
        fi
        echo        'Loading Linux 4.9.78 ...'
        linux        /boot/vmlinuz-4.9.78 root=/dev/sdb8 ro 
}
submenu 'Advanced options for GNU/Linux' $menuentry_id_option 'gnulinux-advanced-4d922d9b-23e5-4307-99d7-eb106949d699' {
        menuentry 'GNU/Linux, with Linux 4.9.78' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.78-advanced-4d922d9b-23e5-4307-99d7-eb106949d699' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                set root='hd1,gpt8'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt8 --hint-efi=hd1,gpt8 --hint-baremetal=ahci1,gpt8  4d922d9b-23e5-4307-99d7-eb106949d699
                else
                  search --no-floppy --fs-uuid --set=root 4d922d9b-23e5-4307-99d7-eb106949d699
                fi
                echo        'Loading Linux 4.9.78 ...'
                linux        /boot/vmlinuz-4.9.78 root=/dev/sdb8 ro 
        }
        menuentry 'GNU/Linux, with Linux 4.9.78 (recovery mode)' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.78-recovery-4d922d9b-23e5-4307-99d7-eb106949d699' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                set root='hd1,gpt8'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt8 --hint-efi=hd1,gpt8 --hint-baremetal=ahci1,gpt8  4d922d9b-23e5-4307-99d7-eb106949d699
                else
                  search --no-floppy --fs-uuid --set=root 4d922d9b-23e5-4307-99d7-eb106949d699
                fi
                echo        'Loading Linux 4.9.78 ...'
                linux        /boot/vmlinuz-4.9.78 root=/dev/sdb8 ro single
        }
        menuentry 'GNU/Linux, with Linux 4.9.77' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.77-advanced-4d922d9b-23e5-4307-99d7-eb106949d699' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                set root='hd1,gpt8'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt8 --hint-efi=hd1,gpt8 --hint-baremetal=ahci1,gpt8  4d922d9b-23e5-4307-99d7-eb106949d699
                else
                  search --no-floppy --fs-uuid --set=root 4d922d9b-23e5-4307-99d7-eb106949d699
                fi
                echo        'Loading Linux 4.9.77 ...'
                linux        /boot/vmlinuz-4.9.77 root=/dev/sdb8 ro 
        }
        menuentry 'GNU/Linux, with Linux 4.9.77 (recovery mode)' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.77-recovery-4d922d9b-23e5-4307-99d7-eb106949d699' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                set root='hd1,gpt8'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt8 --hint-efi=hd1,gpt8 --hint-baremetal=ahci1,gpt8  4d922d9b-23e5-4307-99d7-eb106949d699
                else
                  search --no-floppy --fs-uuid --set=root 4d922d9b-23e5-4307-99d7-eb106949d699
                fi
                echo        'Loading Linux 4.9.77 ...'
                linux        /boot/vmlinuz-4.9.77 root=/dev/sdb8 ro single
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

I am using the ext4 filesystem without a separate /boot partition.

Z5T1 01-27-2018 07:21 PM

Okay. It looks like your grub.cfg was created using grub-mkconfig, which doesn't work properly with Cucumber Linux. During the installation, the installer asks you if you want to install a new grub.cfg. When you select yes here, it installs a custom grub.cfg. Using this custom config is the only method of booting Cucumber Linux that is officially supported.

In your case, you should be able to fix the problem by replacing the contents of your grub.cfg with:

Code:

set default="0"
set timeout="5"

menuentry "Cucumber Linux 1.1" {
        linux /boot/vmlinuz root=/dev/sdb8 rw
        boot
}
menuentry "Cucumber Linux 1.1 (fallback kernel)" {
        linux /boot/vmlinuz-fallback root=/dev/sdb8 rw
        boot
}

If you do want to be able to use grub-mkconfig though, then add the contents to your /etc/grub.d/40_custom file instead and run grub-mkconfig.

cowlitzron 01-28-2018 01:07 AM

I changed the entries in grub.cfg as suggested and then chrooted and entered "grub-install /dev/sdb" . But, I still get the kernel panic with the same stack trace as before.

cowlitzron 01-31-2018 03:53 AM

From my experience, a distro has to have a package to make an initrd in order to get people to install it with an encrypted root directory and on a USB hard drive that is not an sda or hda hard drive. I had used Slackware and I couldn't get it to run on my USB hard drive unless I made an initrd with the suggested modules.


All times are GMT -5. The time now is 08:01 PM.