11

I installed ChrUbuntu on an Acer C7 Chromebook, and I am able to dual boot Ubuntu 12.04 and ChromeOS and to control which OS loads by default. I tried to edit the /etc/default/grub file and did run update-grub successfully but saw no effects. I was trying to enable a "dmesg" style verbose system loading screen instead of the quiet splash screen (during the Ubuntu boot). I suspect that GRUB is not the bootloader on the machine or is functioning as a fairly late secondary bootloader only on the Linux partition. I realize that the Chromebook is a fairly closed system tightly controlled by Google, but since it is Linux at heart people may know the answer.

I don't need the "dmesg" style verbose boot badly enough; but did became curious about the bootloading on this system.

P.S. Just to clarify, I was trying to enable the verbose loading screen on the Ubuntu boot on the machine.

1
  • 3
    "Because Chromebooks use a special BIOS and bootloader that is distinct from the ones used in standard Windows laptops, you can't use them to boot just any operating system. This is where ChrUbuntu comes in—it's a version of Ubuntu 12.04 LTS modified to work with Chrome OS hardware." (see here)
    – sr_
    Dec 13, 2012 at 8:01

3 Answers 3

6

ChromeOS uses U-Boot:

"Chromium OS is essentially a specially-tailored GNU/Linux distribution. We want to make as few modifications to the upstream kernel as possible, ideally none. But as with any other GNU/Linux system, the pre-kernel boot process is unavoidably dependent on the hardware, BIOS, and bootloader."

Although ChromeOS has it's own tailored way of booting:

"Google Chrome OS devices (x86/x86_64/arm) have custom BIOSes that use yet another boot method to ensure that the user is running only the bits that are intended. Instead of a separate bootloader and kernel, there is one binary blob contained in its own GPT partition. That blob is cryptographically signed and the signature is verified before booting."

More info on: http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format

3
  • 1
    CoreBoot is the firmware norm for Chromebooks - "BIOS" is technically inaccurate, but I got the gist.
    – mikeserv
    Mar 26, 2014 at 8:40
  • @mikeserv he's quoting from the Chromium docs. also, there's no need to comment on every answer saying it's right - a simple upvote will suffice.
    – strugee
    Mar 26, 2014 at 15:33
  • Well, you cant stop a man with a mission, you know...
    – mikeserv
    Mar 26, 2014 at 15:34
1

It can be quite confusing, especially in retrospect because my Lenovo N22 (reks) with chrx/Gallium behaves as you expect it should be: Grub takes over booting when the firmware hands over control to the OS. But this does not apply to the Chrome OS boot process where the kernel takes over directly, take a look at the image and information about different methods I posted here. I haven't looked deeper into the details (and I probably never will), but I guess since it was using the Chrome OS kernel to boot Ubuntu (no bootloader involved between firmware and kernel) the kernel was instructed to boot another root filesystem than the Chrome OS one back then.

The ChrUbuntu author posted the following on October 15, 2013:

Since I started ChrUbuntu back in December of 2010, it's always been necessary to utilize the Chrome OS Linux kernel with Ubuntu in order to solve some compatibility issues with the Chromebook architecture. That's changed with the Chromebook Pixel and the newer Haswell-based Chromebooks like the Acer C720 and HP Chromebook 14. Each of these models supports booting from a more traditional PC BIOS mode which makes it simple to use stock Ubuntu kernels on them.

I don't know all the details, I only tested an ARM based Chromebook long ago before I got the N22 this year, my interpretation is that this is about everything based on base board slippy and later or their platform2 as it's noted in the source repositories.

-1

Not 100% sure but bootloader is inside the BIOS. Kernel is load from partition directly, e.g. no file system. This is the reason you need GPT instead of normal DOS Partition table.

7
  • 1
    this is blatantly false. please do some reading on what a bootloader is, what a BIOS is, and what the exact differences between GPT and an MBR are.
    – strugee
    Sep 22, 2013 at 5:28
  • 1
    Well thanks for -1. The chromebook bootloader have 3 parts. One in the read-only BIOS, one in read-write BIOS and one on EFI partition. Last one (EFI partition) may not exists. In this case the part from read-write BIOS will boot first "chromebook kernel" partition marked as "good". Bootloader is fork of "uboot"
    – Nick
    Oct 14, 2013 at 9:23
  • 1
    also, since you're new to Stack Exchange, I should mention that a downvote isn't a personal attack, it just means that whoever downvoted it thinks the post is factually wrong (and the vote says nothing about your other posts or you as a person). also, sorry for being rude in my earlier comment.
    – strugee
    Oct 14, 2013 at 18:59
  • 1
    @strugee Most Chromebooks are CoreBoot actually - neither UEFI nor BIOS. user#### above is right about u-boot - it is the CoreBoot payload on Chromebooks. Nick has some terminology wrong - but there is a lot handled in firmware that you don't see elsewhere - for instance, reset to manufacturer defaults is a firmware operation.
    – mikeserv
    Mar 26, 2014 at 8:38
  • 1
    The situation is more complex, there are different iterations of the platform and there have been different components involved at the time. I can't say I would have done any better at the time. I just posted a new answer, here is also a link to an overview what has been utilized so far on these devices: chromium.org/chromium-os/…
    – LiveWireBT
    Dec 24, 2016 at 17:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .