Coder Social home page Coder Social logo

brunch's Introduction

License Issues Discord

Logo

Brunch Framework

Special Thanks

First of all, thanks goes to Project Croissant, the swtpm maintainer, the Linux-Surface crew and the Chromebrew framework for their work which was actively used when creating this project.

About This Project

The purpose of the Brunch framework is to create a generic x86_64 ChromeOS image from an official recovery image. To do so, it uses a 1GB ROOTC partition (containing a custom kernel, an initramfs, the swtpm binaries, userspace patches and config files) and a specific EFI partition to boot from it.

Warning: Brunch is not the intended way for ChromeOS to work, at some point ChromeOS could potentially become incompatible with Brunch and delete data unexpectedly (even on non-ChromeOS partitions). By installing Brunch you agree to take those risks and I cannot be held responsible for anything bad that would happen to your device including data loss. It is therefore highly recommended to only use this framework on a device which does not contain any sensitive data and to keep data synced with a cloud service.

Supported Hardware

Hardware support is highly dependent on the general Linux kernel hardware compatibility. As such only Linux supported hardware will work and the same specific kernel command line options recommended for your device should be passed through the Grub bootloader (see "Modify the Grub bootloader" section). Some features such as camera, microphone and touchpad may not work or may require troubleshooting to get working.

✔ Base Requirements:

  • x86_64 based computer with UEFI boot support.
  • Administrative privileges on the device.
  • An entry level understanding of the linux terminal.
    • This guide aims to make this process as easy as possible, but knowing the basics is expected.

✔ CPU Compatibility:

❌ Unsupported Hardware:

  • Older Intel/AMD CPUs are not supported.
  • dGPUs are not supported.
  • Virtual Machines are not supported.
  • ARM CPUs are not supported.

Install Instructions

This guide has been split into seperate sections, please follow one of the links below for a guide suitable to your current operating system.

Troubleshooting and Support

In case you run into issues while installing or using Brunch, you can find support on Discord:

Discord

Additional troubleshooting and support tips can be found at the following page:

brunch's People

Contributors

0shivamh avatar 1a57danc3 avatar ameyjoshi3068 avatar busybox11 avatar dkay0670 avatar erjanmx avatar flyingedgetheoriginal avatar ggoraa avatar jhedfors avatar otvv avatar rgarrido03 avatar sebanc avatar singaltanmay avatar thel321 avatar wesbosch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brunch's Issues

Crash on sleep ?

Left my clipboard (tablet) open on SB2, when came back, pressing power button restarted the system, looks like system does not recover from sleep

Can we adjust size of data?

I found your entry to expand the data size, in reference to USB creation, and it appear to work on the physical partition the same (expanded to max available).

Can we shrink or expand to specific size?

Thanks for you brilliant work on this project!

Include brcmfmac43340-sdio.txt in /lib/firmware/brcm folder

I am using Asus T100HA as my device. Everytime I update brunch framework I have to manually copy the captioned file into the folder in order to make the wifi driver to work. Would you please help to put the file into that folder so that the wifi would work out of the box? Thanks.

Warnings when creating image file on windows.

I get these warnings when I run the command to create the image file:
"Creating image file
0+0 records in
0+0 records out
0 bytes copied, 0.0007375 s, 0.0 kB/s
WARNING: Primary GPT header is invalid
WARNING: Secondary GPT header is invalid"
It proceeds to create after this but takes a minute or two to move on.

WiFi not working

Hello. Following the guide, I managed to make a bootable USB. The Chrome OS setup screen has opened, but I cannot use WiFi. I cannot see any network in Select network section.

Surface Go

It seems like the webcam. Maybe I'm missing something.

I used the newest testing brunch along with rammus r80

Everything else is just perfect! Thank you so much you have no idea how happy this makes me.

surface 5 crash 100% of time when unplugged from doc

Hello. I know you don't have a surface dock but you might still want the info as overall the experience on chrome os on surface is outstanding and might attract more users. I noticed that every time I unplug the dock the surface crash and restart.
I have a 2nd dock at work so when I can I'll try to check if the same issue happens.
I noticed on boot with the dock plugged a warning for a bad USB cable. Maybe it's related.

Default brightness on boot

By design, Chrome OS defaults brightness to predefined higher value, could you make it remember previous settings on boot ? or provide some boot parameters to control the brightness value ?

Crouton couldn't start xfce4: Cannot open /dev/tty0 (Permission denied) . Cannot open virtual console 2 (Permission denied)

Device information:

chronos@localhost / $ sudo edit-chroot -all
name: xenial
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/xenial...
crouton: version 1-20200116214215~master:9017d640
release: xenial
architecture: amd64
xmethod: xorg
targets: xfce
host: version 12739.105.0 (Official Build) stable-channel rammus 
kernel: Linux localhost 4.19.98-brunch-sebanc #1 SMP PREEMPT Mon Apr 13 12:03:17 CEST 2020 x86_64 x86_64 x86_64 GNU/Linux
freon: no
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...

I freshly installed Brunch r80 k4.19 testing 20200413 with rammus R80, and went straight to crouton via sudo crouton -t xfce -u but met error:

chronos@localhost / $ sudo startxfce4
(EE) 
Fatal server error:
(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
(EE) 
(EE) 

I followed dnschneid/crouton#3320 and entered

chronos@localhost / $ sudo enter-chroot
Entering /mnt/stateful_partition/crouton/chroots/xenial...
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
(xenial)yucr@localhost:~$ sudo chmod 666 /dev/tty0
[sudo] password for yucr: 
(xenial)yucr@localhost:~$ ls /dev/tty0 -lah
crw-rw-rw-. 1 root tty 4, 0 Apr 14 11:46 /dev/tty0
sudo usermod -a -G tty  yucr

/etc/X11/Xwrapper.config is set as allowed_users=anybody, and packages xserver-xorg-legacy xserver-xorg-legacy-hwe-16.04 are not installed, so I have nothing to purge.

Then ran startxfce4, another error here:

(EE) 
Fatal server error:
(EE) xf86OpenConsole: Cannot open virtual console 2 (Permission denied)
(EE) 
(EE) 

Xfce4 couldn't start. I've tried bionic and sid, all of them dropped into the same error. Will there be sth relavant to the host system? My platform is Intel Core-m3 7y30 without Nvidia or AMD graphics. It should be of great compatibility.

Camera support for OV5648/OV2680

Hello, my device Cube Mix Plus, integrated such cameras OV5648 as main camera and OV2680 as front camera. Neither of them couldn't be found in Chrome OS R80.
The version of brunch I use is Brunch r80 k4.19 stable 20200407, and recovery image is rammus.
Hardware information is listed as below.
lspci.log
lsmod.log
dmesg.log

Thank you kindly!

chrome://flags shows nothing

Using recovery Ultima R80 with Brunch R79 stable k4.19. I'd like to access flags so that I could disable some things to improve performance on my device. Any suggestions? Thanks.

Playstore doesn't load

after initial login, i get an error "Unable to load playstore" any ideas on what could be causing it

Grub entry for HDD image boot wrong if Linux not in English

I'm testing the installation as a disk image to dual boot with Windows (internal storage), and Ubuntu and ChromeOs on my external usb stick.(Surface Pro 2017)
All went fine, but the script fails to show a correct grub entry for manual edit.
The install script, at the end, search for Filesystem (parameter for the sed command, to delete that line). But my linux is in Spanish, so the sed command doesn't found that word, because my system shows "S. ficheros" as the first line.
My system, which has as partition for the image /dev/sda3, has:
img_part=/dev/sda3
as grub parameter, after eliminating the incorrect line.
Then, it boots fine.

Image creation can take a long time for large file sizes

Creating a 32GB image file was taking upwards of an hour on my laptop (i7-7Y75 and 256 GB NVMe). Recommend using fallocate instead of dd if possible. I replaced line 287 with fallocate -l ${image_size}G "$destination" and the image creation was instant.

May make a PR if I get time.

clean install

Hi,
I just created a new image based on the reks image since I have a similar Lenovo Yoga. The comp boots from the usb drive to Chrome without any problem. The comp directly boots to Chrome now, never managed to get to any blue screen/grub. The comp has an unformated ssd. How do I install Chrome now to the ssd? Cloudready had a "install permanently to hdd" option.
Cheers,
Atis

Black scree on Android video app

Hi,
brunch works perfectly but, for example, on youtube or sky go app, when I try to play a video there's a black screen. Apps work, all menus and functions, only videos are black.
is there an android codec to install or something else?
thanks

Webcam not initialized

Hello,
Got a Dell XPS15. the Webcam does not want to initialized. Here is the dmesg log. Looks like it find it as a device but does not initialized it. The rest is working fine.
I tried on r79 and r80...
Sleep seemed to be working on this computer but when coming back from sleep, i cant reconnect to WIFI and after a minute or so, my laptop just hangs. It is not important to meat this level:)
Tx for the hard work!
dmesg_webcam.log

Unable to Boot

Hi there, I'm having issues booting as it kernel panics upon selecting the USB I created using the guide in the Readme.

Attached below is the verboose logs before it forcibly restarts the computer.

image0

System Specs:
Model: Medion Erazer - X7859
CPU: Intel i5 8300H (TPM Enabled, Secure Boot Disabled, SGX Disabled)
RAM: Single 8GB Stick
GPU: Nvidia GTX 1060 (Wasn't running as MSHybrid was enabled in the BIOS and the laptop display should only run on the iGPU)
GPU2: Intel UHD 630

Camera

This looks like a great project, but I've noticed a regression compared to Project Croissant.

I have a Dell Inspiron 7586 (with a 1280x720 front camera). This worked fine with Project Croissant with several base chromium builds, but it doesn't seem to work with brunch and the Octopus image. It's not detected.

When I see the welcome GUI,it reboot.

First, thanks what you have done.
I use the script to build a image. And I boot it succesful.But everytime I saw chromeos welcome GUI,it sudden reboot.
I try use a usb disk and install on ssd. But nothing change.
I have tried these three images, eve,nocturne and octpus , nothing change.
And also I use chromefy build a image can succes boot and use with everything ok with image eve.

How to update chromeos ?

Thanks for these releases, works great on my Surface Book 2, I have few queries,

i) how to update chromeos, my version shows v79 to be latest from any channel ?
ii) which kernel to use 4.19 or 4.14 ? any advantage with one over another
iii) laptop overheats is there any mechanism like Linux TLP, can be brough over here to disable CPU throttling
iv) for the other issue of buttons not working, is there any init script place I can have all there modprobe instructions that gets loaded on startup (like bash_profile) to enable hardware volume power keys ?

Changing Channel

In your latest test release, you mention that it can be used on the Dev channel to try out version 83 new functionality. Are there recovery images avalable for different channels, or do you have to just switch channel, and the apply the test Brunch build similar to the instuctions for automatic updates?

feature request: dark boot animation

Chrome OS boot animation is blindingly bright, could you add option to enable totally dark mode, or even option to disable the animation, all verbose is fine too.

Startup in laptop mode

My tablet always startup at laptop mode. For enable tablet mode I need connect and disconnect some keyboard. It make my tablet without keyboard almost useless. Can I force tablet mode at startup ? (octopus r79)

I tried rammus. On rammus tablet mode totally not working

Tablet mode

I have a Dell Inspiron 7586 2-in-1. When I fold the keyboard back, it disables, but tablet mode doesn't get activated. Is there a way to fix this?

No external storage in "Files app"

Hi, I have ASUS Transformer Book T200TA. (Rammus R80, Brunch R80 Stable)
External storage does not show up in Files App.
It worked earlier with Nautilus R79, Brunch R79 Stable.

Touchscreen not working on Surface Pro 5 (2017)

I'm trying Brunch, with both releases available today (stable and testing), with Octopus recovery image.
But touchscreen is not working.
What can I do to help you fix it? Or what is the thing I'm doing wrong?
Regards

cant see internal HD

I cant seem to see my internal HDD. I can then not install from USB to HDD. been googling for hours trying to find a way to mount the internal disk where i have a free partition to install but no luck so far...

Tries to boot chrome then restarts

I'm using rammus recovery with Brunch r79 k4.19 stable 20200318 on an Inspiron 15-3521 running a Pentium 2127U. When ever it tries to boot into Chrome OS it reboots the computer.

No camera in Dell XPS 9365 2-in-1

Using the r80 stable release with rammus recovery image, everything seems to work perfectly except the camera on my Dell XPS 9365. I believe this laptop is also very similar to eve, so I tried that as well with the same outcome.

I've attached the output of lsmod and dmesg (using rammus recovery as it's recommended), along with /lib/udev/rules.d/50-camera.rules and /etc/camera/camera_characteristics.conf if those are useful.

lsmod.txt
dmesg.txt
50-camera.rules.txt
camera_characteristics.conf.txt

How is TPM handled?

I read the readme but could not find any info on how the TPM Is handled. Is this trying to use the HW TPM2.0 or using the swtpm module?

Thanks

Dual Boot GRUB config does not work

I have been struggling for the three days trying to get the dual booting to work. I use Grub2 to manage a Ubuntu and Windows 10 dual boot. I have followed the USB install instructions, and ChromeOS boots and works flawlessly on the USB drive. I am using the Rammus 79 recovery image and Brunch r79 k4.19 stable 20200318.

After running the command:
sudo bash chromeos-install -dst ~/tmp/chromeos.img -s 32

the script spits out the following grub config:
menuentry "ChromeOS (boot from disk image)" { img_part=/dev/sda5 img_path=/chromeos.img search --no-floppy --set=root --file $img_path loopback loop $img_path linux (loop,gpt7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off \ cros_secure cros_debug loop.max_part=16 img_part=$img_part img_path=$img_path initrd (loop,gpt7)/initramfs.img }

I then load this into the grub-configurator. When I reboot, I see the entry for the image. However, when I go to launch it, I always receive this error message:
`error: no such device: /chromeos.img.
error: out of memory.
error: disk 'loop,gpt7' not found.
error: you need to load the kernel first.'

No networks found

Network Card - Qualcomm Atheros AR9565
Device - Lenovo Yoga 2 11
Chrome OS 79

Brunch Framework Upgrade: Safe to ignore error messages?

From everything I can tell so far, the error messages I received while upgrading Brunch to the latest version are harmless, but I thought I would ask about them anyways:

chronos@localhost /home/user/1486e0b61b2e20339430b327bb05f30fd97ced06/Downloads $ ls -l
total 508404

-rw-r--r--. 1 chronos chronos 520595070 Apr  7 15:58 brunch_r80_k4.19_stable_20200407.tar.gz

chronos@localhost /home/user/1486e0b61b2e20339430b327bb05f30fd97ced06/Downloads $ sudo chromeos-update -f brunch_r80_k4.19_stable_20200407.tar.gz

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Success
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Bad file descriptor
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Bad file descriptor
rootc.img
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Success
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Success
rootc.img
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
1.00GiB 0:00:29 [34.1MiB/s] [=====================================================================================================================================================================>] 100%            
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Brunch updated.

Google Assistent not working

Hi everybody,
Hi sebanc,
I love your framework. It is working very good on my Dell Latitude 5285 Tablet PC with rammus v80. Nearly everything works as expected. When I installed it the first time I was asked If and how I want to use the Google Assistent. I also had options for the Assistant in the settings. Now I installed it another time and I got no possibility to activate the Assistant. Neither during the first boot nor in the settings. I don't see and find the Assistant in the settings.
Does anyone has an Idea how to activate the Google Assistant. I really wan't to test and use it.

Thanks in advance. And thank you sebanc for you fantastic job here!!!!

Greets
fruchttiger87

Smart Lock not working

The option to enable Smart Lock for unlocking with my associated phone is disabled. I am curious if it just my issue, and if anyone has confirmed it working for them.

Screen auto-rotation

Hi. First of all, thank you very much for your work. On my Lenovo D330 everything works well except auto-rotate. I tried "options=enable_sensors" but this did not work for me. My screen is always in portrait orientation. What can I do ?

9d9c45d9-1247-428c-8ce6-48b16f464b68
719a9350-1b9c-419b-b116-61e6f95e5f03

cannot boot on surface pro 4 or 5

Hello i cannot figure out how to boot on surface pro 4 and 5, i have the same issue with project croissant :
i tried sudo bash chromeos-install.sh -src chromeos_12739.105.0_rammus_recovery_stable-channel_mp-v2.bin -dst /dev/sdc
with 3rd party secure boot enabled
i tried sudo bash chromeos-install.sh -l -src chromeos_12739.105.0_rammus_recovery_stable-channel_mp-v2.bin -dst /dev/sdc
with no secure boot

I m not sure if tpm should be or not enabled, I tried both option and couldn't figure if it made a difference

I boot to usb and it tries to boot then it reboot to installed os, I managed to boot to a pop os usb to check if i managed to boot a 3rd party os and it booted. 0 luck with chromeos.

Play store interface freezes a lot

The playstore loads for me but the interface freezes a lot. I'm on an Inspiron 15-3521 with a Pentium 2127U running Rammus 80 and the latest r80 testing

Microsoft Surface 3 (Non-Pro) WiFi Issues

WiFi dies on the device at random times and cannot be revived without a reboot.

Running v80 Rammus w/ the 4.19 Kernel.

This issue can be fixed on standard linux distros by following these steps, but that directory does not exist in ChromeOS.

Dual Boot installing?

When I type "sudo mount /sda5 > ~/tmpmount", it says "bash: /home/chronos/user/tmpmount: Is a directory". I'm new to things like this. Sorry for taking your time.

Touchpad tap to click

On Project Croissant, on two devices that I tested, touchpad tap to click never worked properly - it would cause the mouse cursor to only start moving a few seconds after starting to swipe.

The first release of brunch amazingly fixed this for me, but the latest release has broken it again.

Trackpad not working

I'm using a Lenovo Ideapad 100-15IBY.
Trackpad moves very slow thecursor but not scrolling with to fingers or any other gesture.

Using CloudReady everything worked well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.