cb-linux / breath

Linux for Chromebooks
https://cb-linux.github.io/breath/
MIT License
299 stars 54 forks source link

Migrate from Mr.Chromebox UEFI to Breath #139

Open Denisuu opened 2 years ago

Denisuu commented 2 years ago

This is not really an issue but I'm wondering if there's an easy way to migrate from Mr.Chromebox UEFI FW to Breath without having to install Linux all over again? In the past I flashed stock ChromeOS FW using Mr.Chromebox script, then I could boot a Breath Ubuntu USB with CRTL + U without the need to restore ChromeOS.

I've gotten used to using Manjaro now, I really love the rolling releases and the AUR. Is there some way I can get Manjaro to work on Breath? By example by copying the whole file system over to a USB and replacing some files? (Also the trackpad is super buggy in Ubuntu on Blooglet)

If Manjaro is hard to migrate I don't mind doing a clean install to Arch, then install a GUI, pamac, etc. It would be educational and the Arch documentation is great!

But then my question remains the same, can I jump back and forth between UEFI and Breath using Arch using the same installation?

timmypidashev commented 2 years ago

I recommend doing a clean install to arch. A manjaro install can easily be integrated into the installer however. I'll open a pr for it, but understand that audio support is undetermined, and there may be a fleet of issues early on. Also I have never used manjaro, so apologies if pr becomes bloated :)

RodBarnes commented 2 years ago

I can't answer your question exactly (UEFI is not available for APL -- yet) but I have my CB set up with MrChromeBox LEGACY. I am able to boot into ChromeOS, boot a legacy image, or boot a USB that uses depthcharge (e.g., Breath).

I assume your existing image is on internal storage; i.e., you've nuked ChromeOS. If so, I don't think you'd be able to bring it over intact in any significant way but I am not an expert in this area. It's just that, given how Breath is built upon depthcharge, I don't see how an image built to boot from another mechanism would just come across. The amount of effort might be as much as building a Breath image or Arch and setting it up again.

Denisuu commented 2 years ago

Thanks for the answers guys! I'm happy to see this project is getting more attention and more people are contributing.

Yes I'm running Manjaro on my internal partition using UEFI. I am planning to switch to Arch though, but I want to be able to take my time for it. I just thought there might be a fast and easy way to keep my current install and switch to breath. Once I have some more free time I can restore ChromeOS make a Arch USB, then copy it to internal once it's working.

@timmypidashev Everything is working under Manjaro except for audio-jack which isn't working on any distro for now.

MilkyDeveloper commented 2 years ago

Would you guys be fine with a Snap? It's the only universal package format that you can redistribute kernels with.

timmypidashev commented 2 years ago

@MilkyDeveloper Snap is :ok_hand: :)

RodBarnes commented 2 years ago

@Denisuu I'm curious about your reasons for migrating from UEFI to Breath. I believe Breath is the best option but, now that MrChromeBox has built a UEFI for ApolloLake (and having never tried it), I was curious what it might bring/what I might lose going that route. At this point with Breath, nearly everything is working but I'm still missing HDMI audio, microphone (which I believe is not working anywhere), and I still have some audio weirdness -- though I could easily live with the latter.

Denisuu commented 2 years ago

@Denisuu I'm curious about your reasons for migrating from UEFI to Breath. I believe Breath is the best option but, now that MrChromeBox has built a UEFI for ApolloLake (and having never tried it), I was curious what it might bring/what I might lose going that route. At this point with Breath, nearly everything is working but I'm still missing HDMI audio, microphone (which I believe is not working anywhere), and I still have some audio weirdness -- though I could easily live with the latter.

Sorry for the late response, I was on vacation. The main reason is that I like this project and I like to learn Linux which is mainly the reason I bought this laptop. TBH I didn't know ChomeOS used it's own firmware when I bought the device.

Sound isn't fully working on GeminiLake either. Headphone jack and microphone don't work.

ferrellsl commented 2 years ago

No need to migrate back to stock Chromebook firmware if you've already installed MrChromeBox's latest UEFI firmware and installed Ubuntu 22 on GeminiLake devices. You should get audio thru the speakers although it's misidentified as coming from the headphones under the sound settings. To enable the headphone jack and mic, just run Denisuu's bash script found here: https://github.com/thesofproject/sof/issues/5440#issuecomment-1120208969

This script worked fine on an Acer Chromebook CB311-9H and an HP Chromebook 14G6-4020-8 both running MrChromeBox's latest UEFI firmware and a clean install of Ubuntu 22.04.

Speakers will still be mislabeled as headphone jack and headphone jack setting produces speaker audio but that's a bug I can definitely live with.

Denisuu commented 2 years ago

Sure there's no NEED to revert back to stock UEFI kernel once you have Linux working, but I wanted to because this project is great and I would like to help with testing. Ideally we should be able to donate or make a funding to donate MilkyDev a GeminiLake device. I'm using Arch, so it would have been nice not go go through the whole installation again, but I already did.

They're not my scripts/workaround fixes. There's a workaround for the "mislabled bug" and to get headphone-jack working too. They're under 'Solution' here: [SOLVED] No soundcard found on vanilla Arch [glkda7219max]

You can follow the progress of sound under breath/native sound here: https://github.com/cb-linux/breath/issues/223