Install FydeOS (a ChromeOS fork edition) on Framework!

Recently I installed FydeOS (a Chinese fork of ChromeOS) on my Framework and it runs (almost) smoothly. This can be a 3rd choice if you are not a Windows fan and just don’t want to mess with Linux (Well, you still need to if you want more features).

The install process is rather simple. Go to the FydeOS website, download the latest release for Intel with Iris graphics (the iCloud download was the fastest for me). Then, follow the instructions on the website to write the system on a USB drive just like installing any other Linux distribution. Now you can simply boot to the USB drive, and use FydeOS on the USB drive. If you want to run FydeOS on an expansion card, you can just burn the image to your expansion card instead of a USB drive, it will work fine, you won’t lose your files after rebooting unlike a Linux live system. If you want to install FydeOS on your SSD, you can enter a terminal by Ctrl+Alt+T in the browser, then type shell to enter the developer shell (Alternatively, you can just do Ctrl+Alt+F2 to enter a TTY-like developer shell), finally run sudo /usr/sbin/chromeos-install --dst nvme0n1 to install to your SSD (Note that you can only install to the whole SSD, I haven’t found a way to install to a certain partition). Let the install script run for a while, it will tell you when to reboot your device. After that, you are good to go.

When you first boot to the system you may find WiFi will never connect. I used my Android phone to share the network connection through USB to set up the account, then, after a reboot, the WiFi worked without any problem (I don’t really know why lol).

There are some useful things you can do after the installation.

Setup Android:
You can use the search bar to search “android” keyword, run that program, it will setup Android on your FydeOS. You can also go to the “Store” application, navigate to the “Made by FydeOS” tab, and install Open GAPPS. Then, you can use Google Play after a reboot.

Setup Linux:
Just run the “Terminal” app, it will help you to set up a Linux container on your FydeOS. The default container is Debian Buster running 5.4 Kernel. I even tried to install Arch container but the GUI applications crashed a lot. So, just use the default Debian if you wish for better stability.
I found that PyQt5 won’t work in FydeOS because there is a missing shared library. Just run sudo ln -s /usr/lib/x86_64-linux-gnu/libxcb-util.so.0 /usr/lib/x86_64-linux-gnu/libxcb-util.so.1 to fix it (it took me 10 hours to figure this out lol).
You can right-click a folder (such as Downloads) in your FydeOS file browser, and select “share with Linux”. This will mount the Downloads folder to the /mnt/chromeos/MyFiles/Downloads so you have all permissions to this folder in the Linux container.
You can install most of the Linux Desktop applications in this Debian container the same way you do on Debian, but note that programs like OBSStudio or screenshot tools won’t be able to capture any screen contents. I installed some IDEs for developing, MarkText for markdown editing, GIMP for image editing, and several daily desktop apps. Steam also works but I tried to install Portal 2, there were some rendering issues. You can tell that the game is definitely GPU accelerated, just with some rendering bugs. I did not test other games.
I even tried to install Manjaro in a KVM virtual machine inside the Linux container (which actually runs on a KVM lol), the performance was not good at all. So, keep this in mind if you need to you virtual machines.

Setup tlp to maximize battery life:
chromebrew is a package manager for ChromeOS (not the Linux container). You can follow the instructions on their GitHub documents to set up on your FydeOS. Once done, install build tools by running crew install buildessential in your developer shell, also, run crew install perl to install perl.
Now, you can download the tlp source code from their GitHub repo and build tlp manually. Before doing that, you also need to manually remount the root filesystem by sudo mount -o remount,rw / to enable writing, and also sudo mount -o remount,exec /run to enable executing tlp (you need to remount /run every time you start tlp. I haven’t found a better way to do this). Now, you can cd to the repo you cloned, run sudo make install to install tlp. After that, run sudo tlp start to start tlp. You can edit /etc/tlp.conf just like in Linux.

3 Likes

Very cool! I used to play around with Chromium OS when Chrome OS was fairly new, and my favorite memory was installing Chromiums OS on my laptop and then restoring from a real Chrome OS backup to turn it into a full Chrome OS machine.

These days I’m all-in on elementary OS (linux distribution) but I’m glad to see there’s still 3rd party chrome/chromium OS projects happening

@Yibo_Wei - thanks for the details. I’ve installed it on my expansion card, but OpenGAPPS won’t install to a USB device. Know of any workarounds?

Sorry the only way I know is to install on a SSD

Thanks - if I can figure out a way to install it on a partition only (my SSD has three other OSs), I’ll give it a shot.

For any interested, here’s what I did to install FydeOS on a partition with my other three OSes:

  • in Windows, shrink a partition (in my case, I chose 120GB)
  • format the new partition as NTFS
  • booted into the existing FydeOS on my expansion card
  • installed the “Installer” app from Made by FydeOS in the shop
  • ran the installer and chose my new partition

As part of the process, it also installed rEFInd, which is cool by me.

That’s about it. Hopefully this covers the basics for anyone who wants to try it.

Hey , I’m having cloud ready ( installed over wiping windows ) but then i found fyde and want to switch over , I’m looking to do a dual boot or so to prevent a data loss and wiping my harddisk ,

Is there any way to partition my harddisk in cloud ready ( doesn’t have Linux installed ,the error is why I’m switching) or with usb drive boot of fyde
Just looking for ways to partition the hard disk so i can flash it

Hi, I managed to follow this guide up till the very end, where it says usr/sbin/tlp: 559: /usr/sbin/tlp: /usr/share/tlp/tlp-readconfs: not found

Any ideas?

I did not encounter this problem when I wrote this guide. I followed my own guide (cuz I forgot how to do this) today and I encountered the same problem. Still looking for solution

I found the solution!! You can run this command to fix the problem

sudo ln -s /usr/local/bin/perl /usr/bin/perl

Here’s how I approached solving the problem.
I first read through the /usr/sbin/tlp to locate the line that caused the issue. I found that at line 173, tlp is calling the config reader

171 # --- MAIN
172 # read configuration: quit on error, trace allowed
173 read_config 1 0

From the error message, this is exactly the /usr/share/tlp/tlp-readconfs. I then looked at this file and found that in the first line, it has:

1 #!/usr/bin/perl

However, when you run which perl, you will get /usr/local/bin/perl, which suggests that our executable is at a different location than what the file specifies. The simple solution is to creat a link from /usr/local/bin/perl to /usr/bin/perl so that the script can execute correctly.

The new installer supports dual boot now. You need to partition the disk before installing it. It does not come with a disk partition tool.

1 Like