Menu

Grub2Win can't boot Brunch/ChromeOS

2021-09-26
2021-09-29
  • Dénes Kéri

    Dénes Kéri - 2021-09-26

    Hi!

    I have a Lenovo notebook and tried to install brunch/ChromeOS dualboot with windows 11 using grub2win. When I try to boot ChromeOS I always get the following error: https://i.imgur.com/9fMVrAX.jpg
    When addig acpi=off to the kernel parameters I get the following error: https://i.imgur.com/T5tKoJO.jpg
    Singlebooting the same ChromeOS image from USB works, so there must be something wrong with my grub2win setup. Tried pci=noacpi, using this I didn't even get any error messages, just a black screen.
    Switching the grub2win theme to text only caused "no video mode" blind booting error.

    Can you help me please?

     
  • Ed  P

    Ed P - 2021-09-26

    Listing the grub2win menuentry that your using for ChromeOS would be helpful.

     
    • Dénes Kéri

      Dénes Kéri - 2021-09-27

      This is the menunetry:

      menuentry   'ChromeOS                                                  '                 --class custom   --class icon-android  {
           set reviewpause=2
      # start-grub2win-custom-code
      img_part=/dev/sdb5
      img_path=/chromeos.img
      search --no-floppy --set=root --file $img_path
      loopback loop $img_path
      linux (loop,gpt7)/kernel boot=local noresume noswap loglevel=7 options= \
          cros_secure cros_debug loop.max_part=16 img_part=$img_part img_path=$img_path \
      quiet
      initrd (loop,gpt7)/initramfs.img
      # end-grub2win-custom-code
           g2wsleep $reviewpause
           savelast 0 'ChromeOS'
           echo GNU Grub is now loading  ChromeOS
      }
      
       

      Last edit: Dénes Kéri 2021-09-27
      • Ed  P

        Ed P - 2021-09-27

        Where did you get the menuentry's code? And where did you get the kernel's parms?

         
        • Dénes Kéri

          Dénes Kéri - 2021-09-27

          I followed these instructions: https://github.com/sebanc/brunch/wiki/Detailed-installation-instructions-from-Windows (UEFI procedure step 30)
          The chromeos-install script generates it (and the kernel's params too)

           
          • Ed  P

            Ed P - 2021-09-27

            The (debug mode) menu might be a better option at this point. Either as a replacement or as an additional menu.

            There are multiple versions of the Chrome OS ISO are you sure you have the right one for your machine?

             
            • Dénes Kéri

              Dénes Kéri - 2021-09-27

              I am sure sure this ISO should work. The debug menu is almost the same, I was already using that to be able to log the error.

               
  • Drummer

    Drummer - 2021-09-27

    Hi,

    Please send me your Grub2Win diagnostics. This will give me an overview of your hardware as well as the configuration you are using to boot Chrome.

    Thanks,

    Dave

     
    • Dénes Kéri

      Dénes Kéri - 2021-09-27

      Hi!

      Here it is.

      Thanks!

       
  • Drummer

    Drummer - 2021-09-27

    Hi again,

    There are several things to consider here:

    I looked through your diagnostics. They appear good as far as Grub2Win is concerned.

    Grub2Win is not involved in this error. Grub is long gone when these problems happen.

    The error messages are being issued by the ChromeOS kernel. Grub is not in memory at the point the errors are issued. You will need to contact the site where you downloaded the Brunch and Chrome for support on their kernels.

    The problem seems to be with the parms passed to Brunch and Chrome.
    Realize that Windows, Grub and Chrome often calculate disk numbers differently and unpredictably. This is the reason I recommend using partition labels or UUID's to specify partition addresses when possible. I don't know if Chrome has the ability to accept labels or UUID's.

    For example "/dev/sdb5" may not be the correct partition address from Chrome's perspective.

    You mentioned that you were able to singleboot Chrome from the USB.
    What bootloader and parms did you use for that?

    Note: I have never successfully booted Chrome on my machine although I have tried a number of times. There may be other hardware issues involved.

    I hope this helps,

    Dave

     
    • Dénes Kéri

      Dénes Kéri - 2021-09-27

      i also asked for help in a Brunch/Chrome forum, they said if I can singleboot the same img then the error must lie in the grub.

      I am not exactly sure what bootloader it uses when I singleboot it. The parms I think are the same. How could I make sure?

       
  • Drummer

    Drummer - 2021-09-27

    Hi Again,

    The bootloader used in singleboot seems to be the key to this issue. There are many bootloaders available. GNU Grub (used by Grub2Win) is one of them. We don't know which bootloader Brunch Chrome is using.

    Since your machine is EFI, there has to be an EFI partition on the USB drive. The bootloader must be there.

    If you can get a directory listing of all the files on your USB EFI partition we may be able to figure out what the USB bootloader is.

    Please let me know.

    Thanks,

    Dave

     
    • Ed  P

      Ed P - 2021-09-27

      The whole drive might be the EFI partition if it's FAT32 Dave.

      Dénes can you post the link you down loaded your ISO from?

       
  • Dénes Kéri

    Dénes Kéri - 2021-09-27

    I feel so dumb but I just figured it out.
    I used an external HDD to boot Linux to install ChromeOS. Since I installed it from Linux, it treated the external HDD as the main one (/dev/sda), and the internal as the second one (/dev/sdb). That's why the kernel referenced /dev/sdb as the location of the chromeos ISO. I renamed it to sda and now it works without any problems. Thank you for all your help and sorry that the problem was caused because of an oversight by me.

     
  • Ed  P

    Ed P - 2021-09-28

    Hey, a Happy Ending is a happy ending. Good to hear Dénes. Thank you for the update.

     
  • Drummer

    Drummer - 2021-09-28

    Hey again Dénes,

    Congrats on figuring this out. It was a tough one, not obvious.

    Dave

     
  • Ed  P

    Ed P - 2021-09-28

    Actually I question the need for /dev/sda or /dev/sdb parm. I never use a drive parm or hard coding of it with my ISO boots. The search sets root to the drive where the file is.

         set iso="/porteus5.0/rc3ISOModules/Porteus-CINNAMON-v5.0rc3-x86_64-20210927-5.14.3.iso"
    
        search -f $iso --set=root
         loopback loop $iso
         linux (loop)/boot/syslinux/vmlinuz      from=$iso $bootparms
    #     linux $linux_folder/BootModules/vmlinuz from=$iso $bootparms
         initrd (loop)/boot/syslinux/initrd.xz
    #     initrd $linux_folder/initrd/2020-11-02/initrd.xz
    
     
  • Drummer

    Drummer - 2021-09-28

    Hey Ed,

    It depends on the particular Linux distribution.
    Some do require the "root=" parm.
    This is what happens with Ubuntu:

    *** This menu entry works

    menuentry 'Ubuntu Linux Hotkey=u' --hotkey=u --class ubuntu --class icon-ubuntu {
    set reviewpause=10
    set rootlabel='ubuntu-21.04'
    getpartition label $rootlabel root
    g2wsetprefix
    echo Boot disk address is $root
    echo The boot mode is Partition Label
    g2wsleep
    linux $pathprefix/vmlinuz root=LABEL=$rootlabel ro verbose $subvolparm
    initrd $pathprefix/initrd.img
    if [ $? -ne 0 ] ; then g2werror Linux load error ; fi
    savelast 2 'Ubuntu Linux'
    echo GNU Grub is now loading Ubuntu Linux
    }


    *** This menu entry without the "root=" parm crashes

    menuentry 'Ubuntu Linux Hotkey=u' --hotkey=u --class ubuntu --class icon-ubuntu {
    set reviewpause=10
    set rootlabel='ubuntu-21.04'
    getpartition label $rootlabel root
    g2wsetprefix
    echo Boot disk address is $root
    echo The boot mode is Partition Label
    g2wsleep
    linux $pathprefix/vmlinuz ro verbose $subvolparm
    initrd $pathprefix/initrd.img
    if [ $? -ne 0 ] ; then g2werror Linux load error ; fi
    savelast 2 'Ubuntu Linux'
    echo GNU Grub is now loading Ubuntu Linux
    }

    In both cases the $root variable is correctly set.

    See the attached screenshot of the crash.

    Dave

     
  • Ed  P

    Ed P - 2021-09-28

    Only one way to find out if img_part= is the same as root=label= or from= for Chrome OS.

    Okay Dénes, your turn to help us. lol Try booting Chrome without the img_parm= parameter.

     
  • Dénes Kéri

    Dénes Kéri - 2021-09-28

    As far as I know /dev/sda5 is needed because there are multiple partitions and when I wrote the incorrect number of partition it couldn't boot. (But again, I don't really know anything about the underlying process, I just kinda brute forced my way through the problem.)

    I tried booting it without the img_path parameter but then it couldn't locate the partition where the ISO is stored.

     
  • Ed  P

    Ed P - 2021-09-29

    Thank you for testing Dénes.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.