Google-chrome – How to change in grub.cfg to boot Chromium OS Lime off of a second internal drive

google-chrome-osgrubssd

I have Chromium OS Lime installed on my second internal drive (sdb) and can't seem to get it to boot. While it boots off of a USB when I try booting it from the second drive (SSD), it takes me to a sh:grub> command line. Does anyone know how to fix this?

Here's the grub.cfg:

set default=0
set timeout=2

# NOTE: These magic grub variables are a Chrome OS hack. They are not portable.

menuentry "local image A" {
  linux $grubpartA/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd i915.modeset=1 cros_efi root=/dev/$linuxpartA
}

menuentry "local image B" {
  linux $grubpartB/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd i915.modeset=1 cros_efi root=/dev/$linuxpartB
}

menuentry "verified image A" {
  linux $grubpartA/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd dm_verity.error_behavior=2 dm_verity.max_bios=1024 dm_verity.dev_wait=0 i915.modeset=1 cros_efi root=/dev/dm-0 dm=\"vroot none ro,0 1740800 verity payload=PARTUUID=F11EE421-4B7A-6B45-999A-0C685CA171AF hashtree=PARTUUID=F11EE421-4B7A-6B45-999A-0C685CA171AF hashstart=1740800 alg=sha1 root_hexdigest=0001ede5fb50caae1b43d0526d23ff0cdbcea6a3 salt=51a3c604a2e8e4d4901f2d14aab6d753af2730ae47deac39c5d012dee47fd6b0\"
}

menuentry "verified image B" {
  linux $grubpartB/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd dm_verity.error_behavior=2 dm_verity.max_bios=1024 dm_verity.dev_wait=0 i915.modeset=1 cros_efi root=/dev/dm-0 dm=\"DMTABLEB\"
}

# FIXME: usb doesn't support verified boot for now
menuentry "Alternate USB Boot" {
  linux (hd0,3)/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd root=/dev/sdb3 i915.modeset=1 cros_efi
}

Here's the partition layout:

enter image description here

The boot partition is sbd12, the 17 MB FAT partition. H-STATE is sbd1, and C-ROOT is sbd3.

Here's what the three partitions contain:

enter image description here

3CCE-5799 is the 17 MB FAT partition. I'm not sure how much these help though.

Best Answer

I am assuming that the grub device map is sane, and sda maps to hd0 and sdb is hd1, this entry in grub should work:

menuentry "Chrome OS SSD" {
  linux (hd1,3)/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro     noresume noswap loglevel=1 noinitrd root=/dev/sdb3 i915.modeset=1 cros_efi
}

From the file layouts provided, it looks like everything is in c-root, so that should be fine. The only problem with is was that it was trying too load the kernel from your hard disk. Make sure the /boot/vmlinuz part is right by looking in c-root into /boot and making sure it is present.

Related Question