Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Chrultrabook – Modify a Chromebook to Run Windows/Linux/macOS (chrultrabook.github.io)
170 points by fragmede on Aug 3, 2023 | hide | past | favorite | 87 comments


Separate but relevant news[1] is that Google seems to be separating "ChromeOS" from the Linux portion and using Wayland rather than the ChromeOS-specific "Freon" graphics stack.

[1] https://arstechnica.com/gadgets/2023/08/google-is-finally-se...


Tried it on my Samsung Chromebook that ran out of support last month. The system is stuck on 114 but the browser is now 115. But, the device not being the fastest anymore, has gotten notably laggy with this, because I guess now I really have two different versions of chrome running simultaneously.


I think I have the same chromebook model as you (Samsung Chromebook Pro). Do you have any tips or advice for trying it or anything else that will let me keep using the device?


I guess lacros is actually the easiest option. It's just a toggle in about:flags, but as said it gets notably laggy and sluggish when browsing. The upside is that it reduces the attack surface by allowing you to have an up to date browser for the foreseeable future, compared to just staying on 114 for as long as it still gives an acceptable browsing experience.

I still want to try and install Linux on it for fun some time, but I don't expect that to result in a much better browsing experience either.


I'm not sure this will affect that much for users except that EOL devices will still get browser updates (which I think was the main goal)

I guess it will probably also slightly simplify development of both chromeos (because it won't have a bespoke graphics stack) and chrome (because there will be one less version) for google, too.


I don't think they are removing Freon. It seems the shell/window manager will still be based on Freon and Chrome will be linux version of chrome that will use wayland (as chromeos already have a wayland implementation called exo which is used by ARCVM and Crostini)


This is a nice guide.

In my experience, it isn't necessary to configure ChromeOS by logging into a Google account after enabling Developer Mode, if you simply want to ditch ChromeOS and flash the UEFI firmware. Just press ctrl+alt+F2 to get a shell, login as chronos (no password), then type `sudo bash` or `sudo -s` to get a root shell.

In addition to the other recommended distros, NixOS runs well on all my converted ChromeOS devices.

It's a great way to get continued use out of hardware that no longer receives ChromeOS updates. Even underpowered devices can be appealing for some tasks because they're lightweight and fanless.


This comment is great, because otherwise it does seem basically necessary to log into a Google account after enabling Developer mode in order to update the firmware.

However, even though `sudo bash` or `sudo -s` has worked out fine for the parent commenter, there is a note at [0] that says, """IMPORTANT: ...Also, you must execute these commands *as a normal/non-root user*. Running them as root will break things. DO NOT RUN 'SUDO SU' BEFORE RUNNING THE SCRIPT CMD BELOW."""

Thus, a question is: does the parent comment's method ignore the warning at [0] about using sudo to run the firmware update command? (If so, at what risk, and, if any, is there a workaround to mitigate that risk?)

[0] https://mrchromebox.tech/#fwscript


Does anyone happen to know what is the cheapest mass produced and typically available used or otherwise dirt cheap chromebook that this works on. Yes I know there is a supported list and I just need to spend a few hours researching but this is the kind of knowledge that certain people might just know and be willing to share.

How low can we go?


I would also love to know. There seems to be a gulf between garbage chromebooks and decent ones, and I don’t want to spend days researching it. :/


What are your parameters for "decent"? The real question though is: what's your budget? Without spending days researching it, I can tell you a $1,000 Chromebook is going to be better than a $700 Chromebook is going to be better than a $400 Chromebook is going to be better than the $100 Chromebook I got from a Black Friday sale.

You can find a better deal if you spend days researching, but who has time for that? Spending more money gets you a better one.


I was kinda hoping there are $50 used one that work fine with stripped down minimalist Linux setup, maybe MATE or even lighter. Then I’d probably just buy 10 of them and leave them flung about, one in each room.

I’m half joking half serious.

Edit: Ok yeah there are bulk sellers of various Chromebooks that are going for like $30/laptop. i.e - “Dell Chromebook 11 P22T 3120 Non-Touch - Unlocked - Bulk Discounts”

Looks like I’m more serious than I expected. Just need to build a fast way to flash and image them.


Maybe "mobile thin clients" work as well, those are more or less just Celeron ultrabooks. Roles that require use of a mobile TC would also require calm minds too.


Any hardware you know of that runs Linux? Does mobile mean LTE modem maybe?

A cheap mobile thin client with builtin LTE with drivers running Linux sounds like a dream come true, if it exists.


If you have FreeCycle in your area just do a Wanted: Old Chromebooks.

Never hurts to ask.


4gb, ram is king. Past that, hard drive space. Dell Wolf is incredible. Past that, R751Ts are my secret weapon. Both $30-40


Excellent suggestions. Thank you. Both are market as supported and have ebay volume it.

I’m see some Wolf as low as $10/device in bulk.

Perhaps I need to invest a few days to learn how to image these quickly with my own platform.


The hard part is figuring out whether stuff like keyboard backlight will work. Even for popular developer models like the pixelbook, you google around and find two or three conflicting reddit posts that tell you it doesn't work but there's a fix in this link to a tweet that's been deleted.

Does audio work? Does the headphone jack work? Does headphone jack auto sense work?


I use MrChromebox firmware on a Pixelbook (Eve) and many things work fine, like Wi-Fi, suspend, brightness, and keyboard backlight. Annoyingly, audio doesn't work. I can't remember whether camera/microphone work.


I know that a lot of Chromebooks with Intel IPUs are not going to work with a mainline kernel for a couple years at least.


Isn't the first IPU6 Chromebook still years away from ChromeOS EOL?


That's a good point, but some want to run new ChromeOS devices with a mainline kernel I would think.

They'll have to use the ChromeOS kernel or some module I guess.


I've run linux (debian and arch) on several chromebooks over the years using MrChromebox and I've never been able to get working audio. I've never had issues other that audio though.


Everything works. Yes there is some fiddling (think getting things to work on Ubuntu 5 years ago) but things work.

Edit: yes your specific questions (audio, audio autosense, etc.) work.


So that's two votes no, one vote yes for audio working.


Not sure why this page says Ubuntu won't work. MrChromebox's firmware just turned it into a regular UEFI computer. I've had Ubuntu Mate 22.04 working on a Chromebook just fine.


Yeah that confused me. I see this warning

> Ubuntu and Ubuntu-based distributions, such as Mint or ElementaryOS are unsupported.

Do you think it's related to the kernel version?

> Only Linux kernel 6.1 LTS or newer is supported.

What kernel version do you get?


Ubuntu 23.04 ships with Linux 6.2.

Mint and Ubuntu LTS ship with a 5.x kernel at the moment, so that may be the problem. Normal Ubuntu is updated enough to work, but many people will probably prefer the LTS release lest they need to update every 9 months.


It doesn't say Ubuntu doesn't work, it says that the chrultrabook project doesn't support it - so if audio (eg) doesn't work, you're own your own.


Which Chromebook?


Not OP, but you can check list of supported devices at https://mrchromebox.tech/#devices.

You would want to flash a Full ROM (UEFI) which will then easily support any regular Linux distro.


It's been a while since I looked into this in detail[1], but AFAIK Chromebooks are actually normal PC laptops with different firmware and OS, so the first thing I thought when I saw "Purchasing Drivers" was are you f'ing kidding me? Aren't they possibly just the freely available official manufacturer's drivers INF-edited with the slightly different device IDs of the hardware?

[1] If I remember correctly, someone was able to turn a Chromebook into a standard PC by just flashing the BIOS corresponding to the identical non-Chromebook model, but this was a long time ago.


> AFAIK Chromebooks are actually normal PC laptops with different firmware and OS

while it used to be (pre-2016), this is no longer correct. Audio in particular is significantly different than non-Chromebook laptops.

> I saw "Purchasing Drivers" was are you f'ing kidding me

you're right, the dev who wrote the custom drivers for the Chromebook audio should make them free "for exposure"

> Aren't they possibly just the freely available official manufacturer's drivers INF-edited with the slightly different device IDs of the hardware?

no, because they don't exist. They are custom written by the dev (coolstar).

> If I remember correctly, someone was able to turn a Chromebook into a standard PC by just flashing the BIOS corresponding to the identical non-Chromebook model, but this was a long time ago.

this is absolutely not possible on any ChromeOS device, unless you want a warm brick.


> > I saw "Purchasing Drivers" was are you f'ing kidding me

> you're right, the dev who wrote the custom drivers for the Chromebook audio should make them free "for exposure"

This comes across as an attack on the idea of FOSS.


not everything has to be FOSS, both models can coexist


To further support this statement: she has followed both paths, e.g. Ryzen audio drivers are F/OSS https://github.com/coolstar/csaudioacp3x

Devs deserve compensation for their effort, and paying like 10 bucks to get custom drivers that allow one to repurpose a cheap device into a useful general-purpose Windows laptop is absolutely reasonable


Big Shoutouts to MrChromebox. Please donate to his work. I have asked for support on an issue related to a Dell Wolf and received a custom ROM. Absolute monster of a dev.


I read that as Cthulhubook.


It does devour my time trying to get it to work with OpenBSD. GalliumOS is fine.

Digging into boot_config and diagramming device trees longhand from the bones of a kernel panic is an adventure bestowed upon the few.

I wish I knew the magic UKC incantations to get USB keyboard to work.


The unwholesome horror is finally revealed.


I once got a Chromebook to see how far I can go with running Linux programs on it. As soon as I discovered that its keyboard (and most of other Chromebooks) don't have F11 or F12, and window management is a mess, I got rid of it. I guess the latter isn't really a problem if a "real" Windows/Linux is running on it, but the keyboard issue is quite annoying.


KDE lets you do all kinds of customization, and has a pretty powerful keyboard shortcut system. It's what I use to work around most of the flaws on my crappy chromebook.

Performance is not great, but it wasn't great before I put linux and KDE on it either.


Some chromebooks have reasonable hardware if you're willing to ignore the keyboard. The way they deleted some f-keys and home/end/insert/delete/pguppgdown is as if they deliberately crippled them.


xubuntu-23.04-desktop-amd64.iso (April 2023, 3 GB) installs on an Intel Bay Trail quad-core Chromebook, with write-protect screw removed and MrChromebox firmware.

The .iso was copied to a USB drive with dd.

Whether the distro works may be a matter of whether it will boot.

Sub-1 gigabyte .iso distros that did not boot from USB included ArchBang Linux, AntiX Linux, Bodhi Linux, and Puppy Linux.


Actually, the <1 GB distros do indeed boot from USB. I had to specifically choose the USB device from Coreboot's menu. To do this,

  1. Press Escape at the rabbit logo
  2. Select Boot Menu
  3. Select USB (usually the last item)
ArchBang Linux, AntiX Linux, Bodhi Linux, and Puppy Linux boot successfully this way, albeit initialization takes a little bit longer.

Coreboot may have a timeout that is longer than the USB detection logic, and selecting USB commits the choice to wait.

Now I want to try Slackware and maybe even Linux from Scratch (LFS).


I'm expected to load closed-source kernel drivers from someone who can't even sign an installer, and to pay for the privilege?


Does anyone know if it is possible to dual boot a chromebook?

I'd like to run OSX for some dev stuff but I mostly use windows 90% of the time (I'm not a dev anymore).


> Do not use Windows 8 or older. Only recent Windows 10 and 11 builds are supported.

I wonder why this limitation exists? Does anyone know?


Lack of drivers, typically. I tried installing W7 on a 2018 motherboard at one point and it doesn't ship with new enough USB drivers to be compatible, so you boot into something without mouse and keyboard or remote access of any kind, so you cannot even install the required drivers because there's no way to interact with the system at all.

That said, I'm sure some of you maniacs would've found a way, an old OS image like that has to have some usable zero days.


UEFI+ACPI quirks is my guess.


A chromebook requires no modification to run linux. They all run linux out of the box by definition.


You have to be able to put the device in developer mode to load non-google signed OS images. I'm not sure it's mandated that this be possible for every device so I would absolutely do some research to make sure the device I'm about to buy allows developer mode. On old/early chromebooks you had to physically open them (voiding the warranty) and remove a special screw to enable developer mode for example.

Also even when you have developer mode enabled the stock chromebook firmware is a little annoying and won't boot until you press ctrl-d on the keyboard to confirm you agree to booting an unsigned image. There is no way to disable this behavior and it happens every single boot whether you want it or not. The Mr. Chromebox firmware this article mentions has to be flashed to a device to remove this annoyance and make the device boot like regular laptops.


I think you have developer mode confused with the firmware write-protect switch. As far as I'm aware, every Chromebook has allowed enabling developer mode without opening the device. Disabling the firmware write-protect (which does let you disable the ctrl-d requirement, and is what you need to do to install the UEFI firmware this guide refers to) used to require opening the device (to either remove a screw or flip a switch), but can now be done over CCD (closed case debugging) using the appropriate cable, as well as by opening the device.


> On old/early chromebooks you had to physically open them (voiding the warranty) and remove a special screw to enable developer mode for example.

Same for some chromeboxes, usually the screw is pretty easy to spot, look near the corners and near the ssd.


> You have to be able to put the device in developer mode to load non-google signed OS images.

Yes, but what kernel is running before you do this? answer: linux.


On Chromebooks, there is now a "Turn on Linux" button that's only for non-student, non-family accounts.

Can the SecureBoot keys and Serial be overwritten, or are they e-waste after supported updates end and school districts are holding the bag for computers that the kids can't run `git --help` on?


I have been working on school locked cbooks for a few weeks. We decided to jtag them rather than wait for the unlocks..a. stock Linux rus poorly, and Zorin seems to be the best choice. Alpine is light as a feather.

You cannot access anything ot change anything until you pill the write protect screw. I.e you have no access until you remove this screw. After you remove screw, a $17 jtag kit and a good image... ( First few images where 'cloud free' which I would rather consider it bricked .. ) then you can wipe the drive and start experimenting with Linux, and see just how awful the field is, of simply follow my recommendations. For these dell chrome books, Linux would be Zorin, windows would be win7 Mini, and now I can start with Mac os. I would start with lion or sierra.

In our case, the school district was holding the bag, but also it's a low priority to help hackers vs educating the students for which I would have loved to show the students how to do all those stuff, and the school district would rather not. Be a great education. )

Just so you know, both Zorin and Win7 run git --help. Let's see if I can get MacOS...


If they can turn on developer mode, they can run sudo dev_install, which will bring up a gentoo environment on which ChromeOS is based on, and then they have access to portage, and git --help. Outside of that, GalliumOS runs pretty well on most of them.


> If they can turn on developer mode

"Developer mode" (aka the ChromeOS 'Turn on Linux' mode) is not available for Google FamilyLink accounts and is optional on a per-student basis with Chromebooks for Education.

We bought the students Chromebook "Linux" computers; and then Google locked them out of Linux and added a "Turn on Linux" button.

Students are no longer able to run bash, git, or python on their Chromebooks.

Students must only install approved apps from the "Play Store" which takes a 15-30% cut from paid apps and now must use GPay if they process payments. Students and FamilyLink accounts cannot "sideload an APKs" like they can "Install a package" on actual Linux, Mac, and Windows computers.

The SecureBoot kernel and module signing keys can be easily changed on all coreboot machines FWIU.

ChromiumOS was originally Gentoo, Gnome, and Chrome.

Students can't run `git --help`, `python`, or even `adb` on Chromebooks*.

(* Students can't run `git` on a Chromebook without transpiling to WASM (on a different machine) and running all apps as the same user account without SELinux or `ls -Z` on the host).

Students can run `bash`, `git`, and `python` on Linux / Mac / or Windows computers.

There should be a "Computers for STEM" spec.

It is a bait-and-switch shame that we bought Chromebooks for all of the kids and then they were home due to COVID, and they couldn't learn to git, bash, or python with pytest.


Sure, technically true, but it's not the same experience as running Debian (for example) on bare metal.

For one thing, ChromeOS refuses to pass through certain USB devices to the Linux container. So if you wanted to customize the settings in your gaming mouse or control a 3D printer, you're out of luck.


I control a 2-axis plotter on a Chromebook without issue. What is the particular problem with 3D printers?

As for the mouse thing, the inability to install persistent malware in your pointing device may be viewed as a feature, frankly.


Interesting! I just guessed that might be an issue. I had trouble using a Razer mouse configuration tool because it was unable to see the USB device.


Worse, ChromeOS is actually GNU/Linux, so it's hard to distinguish technically (unlike Android/Linux). I personally lean towards "user-controlled Linux" or such.


That's a rather useless technicality you are pointing out.

ChromeOS is technically Linux, but not what people are obviously referring to.


Brings me back the times of hackintosh, playing around kexts.


How can I modify a chromebook to add a meta key?


Rebind the weird search key to meta.


Can it handle running OSX?


Follow the link. Then this link on the left sidebar

https://chrultrabook.github.io/docs/docs/installing-macos.ht...


And any chance apple ID sign in works? I know on VMs it’s blocked.


It should. Looks like it uses OpenCore. I’ve got a hackintosh HP micro running via OpenCore and it all works including iMessage, etc.


Will my touchpad still malfunction?

"Dave, will I dream?"


> A chrultrabook is a modified Chromebook designed to run Windows, Linux, or even macOS by utilizing MrChromebox coreboot firmware

Why should I trust 'MrChromebox' firmware? I trust Google more than some rando side project on GitHub.


You don't have to but I used MrChromebox's firmware on a C710, C720, and 2 Asus Chromeboxes.

The project has been around about 10 years. I think it if was not trustworthy we probably would have heard something by now.

I remember using the SeaBIOS firmware from them around 2014. Since then I've updated all machines to the UEFI firmware and now they can even boot Windows. I run the latest Fedora distribution on all of them and they work fine.


Well it's coreboot, you can compile it yourself if that's something you're worried about.


You're free to read the code and compile it yourself, I don't understand this question.


To trust the code you need to understand it, or trust someone else that understand it. I would not claim I can do that without spending a lot of time since I'm unfamiliar with the coreboot code base in the first place. Saying "you can just recompile yourself" is as useful as "you can cook deadly mushrooms yourself" instead of getting food poisoning from a 3rd party.


You say that like you or anyone else on the planet understands and trusts all the software they have running on their (phone/laptop/desktop).

That ship sailed a long time ago.


I think the idea is that all the people on the planet collectively can understand whether to trust all the software. The rest is comms.


Transparency breeds legitimacy.

Look, being able to look at the source of truth is the best you can hope for. Moreover, the project has been around for some time. If that's not enough, then fair, at the end of the day the choice is yours.


How would a person go from the sources posted on github to the binaries that get flashed? I don't see anything in https://github.com/MrChromebox that seems to be actual build scripts, without which the numerous other repos are less than useful


Switch on developer mode on a supported device, pop a shell, and run 'cd; curl mrchromebox.tech/firmware-util.sh --output firmware-util.sh; sudo bash firmware-util.sh'

For more detail, I point you toward the fine documentation


That's how you flash the precompiled binaries. I want to know how you make those binaries.


* ensure you have coreboot prereqs installed per doc.coreboot.org

* git clone https://github.com/MrChromebox/coreboot.git

* cd coreboot

* git submodule update --init --checkout --recursive

* make crossgcc-i386

* ./build-uefi.sh <name of board to build>


I don't think the project is aimed at you personally as an individual. It seems to be aimed at whoever think it's neat.


I donated monthly to MrChromebox for more than a bit.

Before COVID hit, I used his firmware and ~20 1st Gen Asus/HP Chromeboxen (upgraded RAM to 16G and 128/256GB SSD replacements, i7-4600U Haswell, cases stripped off and heatsinks added to the new SSDs) to create a physical K8s lab.

I no longer need to run that kind of lab, but I still use those a few of those nodes for running services at home. Proxmox/Docker/K8s/Win Server/etc, a bit more power draw, but x86-64 and since they "expire", you'll see a periodic flood of devices to places like eBay.


nearly a decade of continuous contributions to upstream coreboot, and featured on their own documentation: https://doc.coreboot.org/distributions.html#mrchromebox




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: