12

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.

  • 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 '12 at 8:01
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

  • 1
    CoreBoot is the firmware norm for Chromebooks - "BIOS" is technically inaccurate, but I got the gist. – mikeserv Mar 26 '14 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 '14 at 15:33
  • Well, you cant stop a man with a mission, you know... – mikeserv Mar 26 '14 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.

  • 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 '13 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 '13 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 '13 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 '14 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 '16 at 17:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.