Hi all,
My aim has been to compile a kernel for an Allwinner a10 F1-LY tablet (pengpod 700) that features PS3 and other gamepad support. I can upgrade my ROM to Cyanogenmod 10 to achieve this but then the hard buttons and screen rotation stop working.
After days of searching, reading and testing, I feel like I am close but need help getting over the line. I am running a virtualbox installation of Xubuntu.
Once I have this running, I will contribute a guide with screenshots back to the community.
My steps:
0. My device is running this ROM, which is JB 4.1.1 with root and CWM 5.5 installed. The image is based on a Seby build, and modified by Magica.
1. Install virtualbox and then 32 bit Ubuntu 13.0.4. Make sure you have 3D acceleration enabled and a decent amount of RAM allocated or it will run incredibly slow.
2. Install guest additions and a shared folder with the windows host machine.
3. Install some packages for later use:
Code:
sudo apt-get install gedit git ncurses5 jre-default
4. Make a folder in the home directory to work from. Open a terminal in it and then install the kernal library:
Code:
git clone https://github.com/linux-sunxi/linux-sunxi linux-sunxi
cd linux-sunxi
git checkout sunxi-3.0
5. Install the cross compile tool chain.
Download http://www.codesourcery.com/sgpp/lite/arm/portal/package7853/public/arm-none-linux-gnueabi/arm-2010.09-50-arm-none-linux-gnueabi.bin
Install with:
Code:
sudo ./arm-2010.09-50-arm-none-linux-gnueabi.bin
6. Setup kernel config.
Code:
make ARCH=arm sun4i_crane_defconfig
make menuconfig ARCH=arm
The second line opens up a GUI for configuring the kernel, where I activated the following options using here as a guide::
Code:
--- Networking support <*>
Bluetooth subsystem support --->
<*> HIDP protocol support
Bluetooth device drivers --->
<*> HCI USB driver
[*] HID Devices --->
Special HID drivers --->
<*> Sony PS3 controller
<*> DragonRise Inc. game controller
[*] DragonRise Inc. force feedback
<*> Pantherlord/GreenAsia game controller
[*] Pantherlord force feedback support
<*> GreenAsia (Product ID 0x12) game controller support
[*] GreenAsia (Product ID 0x12) force feedback support
<*> SmartJoy PLUS PS2/USB adapter support
[*] SmartJoy PLUS PS2/USB adapter force feedback support
I'm not sure if my thinking is correct here, but I went through the config and changed any modular options to included, to avoid the need for additional files to be copied to the device.
7. Compile kernel:
Code:
make ARCH=arm CROSS_COMPILE=/root/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
This runs for a long time and will eventually produce a zImage file in the linux-sunxi/arch-arm-boot/ folder.
8. Get original boot.img from device.
To do this I booted into recovery mode and used the backup feature. This made a folder on my external SD card with boot.img and other archives. I then copied boot.img to the shared folder on my windows host.
9. Split original boot.img into zImage and ramdisk, replace zImage
Make a new folder in your home directory to keep this clean. Copy the original boot.img into this folder.
I downloaded and unzipped Adi_Pat's scripts from here. into the new folder.
The boot.img file will be unpacked with:
Code:
./extract.sh
Your zImage will be in kernel/zImage
Your ramdisk will be in ramdisk folder (unpacked)
Click to expand...
Click to collapse
I then deleted the zImage in the kernel folder and replaced it with the one compiled earlier from linux-sunxi/arch/arm/boot/. The ramdisk was left alone.
10. Modify script and repack boot.img
I'm aware that Adi_pat's script is for a different device, so I modified the pack_boot.sh script to suit the a10. Line 31 becomes:
Code:
./tools/mkbootimg --kernel kernel/zImage --ramdisk ramdisk.gz -o out/boot.img --base 0x40000000 --cmdline 'console=ttyS0,115200 tw init=/init loglevel=8' --pagesize 2048
This is based on searching and the the information given when running extract.sh. The updated script can now be executed:
Code:
./pack_boot.sh
A new boot.img is created at out/boot.img.
11. Put new boot.img onto device and flash.
I copied the new boot.img into my shared folder and then onto a SD card. Using a root file explorer on the device, move the boot.img file to the /sdcard directory. Open Novo7 tools and then go to the flash boot.img option.
12. Reboot device
When the device reboots, it hangs on the first Android logo, so clearly something has been done incorrectly. Fortunately I can recover to a working device from the backup in CWM recovery in just a few minutes.
Obviously I'm doing something wrong here, and would appreciate any pointers to get it working.
I have searched and read for days, so I am sorry if I have missed a thread that answers this for me.
Many thanks in advance.
lawgic said:
Hi all,
My aim has been to compile a kernel for an Allwinner a10 F1-LY tablet (pengpod 700) that features PS3 and other gamepad support. I can upgrade my ROM to Cyanogenmod 10 to achieve this but then the hard buttons and screen rotation stop working.
After days of searching, reading and testing, I feel like I am close but need help getting over the line. I am running a virtualbox installation of Xubuntu.
Once I have this running, I will contribute a guide with screenshots back to the community.
My steps:
0. My device is running this ROM, which is JB 4.1.1 with root and CWM 5.5 installed. The image is based on a Seby build, and modified by Magica.
1. Install virtualbox and then 32 bit Ubuntu 13.0.4. Make sure you have 3D acceleration enabled and a decent amount of RAM allocated or it will run incredibly slow.
2. Install guest additions and a shared folder with the windows host machine.
3. Install some packages for later use:
Code:
sudo apt-get install gedit git ncurses5 jre-default
4. Make a folder in the home directory to work from. Open a terminal in it and then install the kernal library:
Code:
git clone https://github.com/linux-sunxi/linux-sunxi linux-sunxi
cd linux-sunxi
git checkout sunxi-3.0
5. Install the cross compile tool chain.
Download http://www.codesourcery.com/sgpp/lite/arm/portal/package7853/public/arm-none-linux-gnueabi/arm-2010.09-50-arm-none-linux-gnueabi.bin
Install with:
Code:
sudo ./arm-2010.09-50-arm-none-linux-gnueabi.bin
6. Setup kernel config.
Code:
make ARCH=arm sun4i_crane_defconfig
make menuconfig ARCH=arm
The second line opens up a GUI for configuring the kernel, where I activated the following options using here as a guide::
Code:
--- Networking support <*>
Bluetooth subsystem support --->
<*> HIDP protocol support
Bluetooth device drivers --->
<*> HCI USB driver
[*] HID Devices --->
Special HID drivers --->
<*> Sony PS3 controller
<*> DragonRise Inc. game controller
[*] DragonRise Inc. force feedback
<*> Pantherlord/GreenAsia game controller
[*] Pantherlord force feedback support
<*> GreenAsia (Product ID 0x12) game controller support
[*] GreenAsia (Product ID 0x12) force feedback support
<*> SmartJoy PLUS PS2/USB adapter support
[*] SmartJoy PLUS PS2/USB adapter force feedback support
I'm not sure if my thinking is correct here, but I went through the config and changed any modular options to included, to avoid the need for additional files to be copied to the device.
7. Compile kernel:
Code:
make ARCH=arm CROSS_COMPILE=/root/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
This runs for a long time and will eventually produce a zImage file in the linux-sunxi/arch-arm-boot/ folder.
8. Get original boot.img from device.
To do this I booted into recovery mode and used the backup feature. This made a folder on my external SD card with boot.img and other archives. I then copied boot.img to the shared folder on my windows host.
9. Split original boot.img into zImage and ramdisk, replace zImage
Make a new folder in your home directory to keep this clean. Copy the original boot.img into this folder.
I downloaded and unzipped Adi_Pat's scripts from here. into the new folder.
The boot.img file will be unpacked with:
Code:
./extract.sh
I then deleted the zImage in the kernel folder and replaced it with the one compiled earlier from linux-sunxi/arch/arm/boot/. The ramdisk was left alone.
10. Modify script and repack boot.img
I'm aware that Adi_pat's script is for a different device, so I modified the pack_boot.sh script to suit the a10. Line 31 becomes:
Code:
./tools/mkbootimg --kernel kernel/zImage --ramdisk ramdisk.gz -o out/boot.img --base 0x40000000 --cmdline 'console=ttyS0,115200 tw init=/init loglevel=8' --pagesize 2048
This is based on searching and the the information given when running extract.sh. The updated script can now be executed:
Code:
./pack_boot.sh
A new boot.img is created at out/boot.img.
11. Put new boot.img onto device and flash.
I copied the new boot.img into my shared folder and then onto a SD card. Using a root file explorer on the device, move the boot.img file to the /sdcard directory. Open Novo7 tools and then go to the flash boot.img option.
12. Reboot device
When the device reboots, it hangs on the first Android logo, so clearly something has been done incorrectly. Fortunately I can recover to a working device from the backup in CWM recovery in just a few minutes.
Obviously I'm doing something wrong here, and would appreciate any pointers to get it working.
I have searched and read for days, so I am sorry if I have missed a thread that answers this for me.
Many thanks in advance.
Click to expand...
Click to collapse
I am heavily into the allwinner tablets and would like to get CM10 install. I ran into the same issue until I build kernel 3.0.8 but you MUST put the generated NAND.KO file into the ramdisk folder and edit the init.sun4i.rc file to load it before anything else...this should get rid of the issue. I have a serial port I added to my tablet so Its a bit easier to troubleshoot and edit uboot vars when needed. If you would like to collaborate let me know.i have a 95% working android build environment that works for my tablet, only the gsensor is inverted which is a simple fix.
Michael Pizzileo
BinaryDroid
I am working with a Polaroid Tablet (pmid10c) and have been attempting to build and install a newer kernel with no success. Any help/guidance would be great. I am currently working in this thread: http://forum.xda-developers.com/showthread.php?p=46685741#post46685741 please chime in with any advice you may have.
Thanks
I have a C++ Application that work on Ubuntu/any Distro via Terminal, And all what i want is to run it on my Android.
I have a Compressed file of the source code, So if i Followed these:
HTML:
cd /src
make
it will work on Ubuntu like a charm, now the thing i Copied this to my Droid, i had some problems with noexec, so i moved it to /data/tmp and now i don't have this issue anymore, now i get an "Magic 7F bla bla.." Error, I Think this because the source code has been compiled for Intel Architecture, so how can i Compile it for ARM?:crying:
I made a little sh script that updates the native ADB and Fastboot to revision 1:7.0.0+r33-1 (The latest as of debian stretch)
The script requires chromebrew because it needs the chromebrew binutils binary to unpack debian packages.
Other requirements are: be in dev mode and have rootfs verification disabled.
If you don't have chromebrew it will try to grab it automatically for you. I would advice having a backup image on hand in case you get black screened'. I've only tested this on my chromebook pro and it works like a charm However it SHOULD work on all amd64 devices.
I'm not responsible for anything that goes wrong, use at your own risk
to run simply extract the script to your Downloads folder and
Code:
sh ~/Downloads/adbFastbootUpdater.sh
Hacking Acer Chromebook C720P -
using...
Node and NPM on Chromebook (Chrome OS) - very inconsistent material & literature on it - could not make it install properly so far - /thread https://yoember.com/nodejs/the-best-way-to-install-node-js/
This command to get npm working
sudo mount -i -o remount,exec /home/chronos/user
(presupposes r/w system)
The purpose - getting further capabilities without having to buy a newer Chromebook - & without having to change or hack the underlying original Chrome OS which uses Linux Kernel 3.8 -
I will be posting some of the results here - & others associated to using crouton with xiwi...
Instructions:
cd ~/Downloads
sudo mount -i -o remount,exec /home/chronos/user
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
command -v nvm
nvm list
nvm ls-remote
nvm install 10.9.0
nvm use 10.9.0
nvm alias default 10.9.0
node -v
npm install -g npm
nvm install iojs
# should get: Now using io.js v3.3.1 (npm v2.14.3)
Resources
Resources - 1. nvm by creationix -
Node Version Manager - Simple bash script to manage multiple active node.js versions
https://github.com/creationix/nvm
Resources - 2. Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
https://nodejs.org/en/
Resources - 3. npm
npm is the package manager for javascript
https://www.npmjs.com/
https://twitter.com/inabster/status/1029949524356333569
Resources - 4. chromeos-apk
Run Android Apps in Chrome OS or Chrome in OS X, Linux and Windows.
https://github.com/vladikoff/chromeos-apk
Crouton, xiwi, Linux, arcwelder & other resources...
In here https://forum.xda-developers.com/showpost.php?p=77252924&postcount=71
I posted how to get Skype working without Android, because Android in Chromebook Acer CB C720P does not support USB host mode, so we cannot have usb webcams from within Android.
However USB Webcam works in hacked & non hacked Chromebook with UVC.
So using crouton & a Linux distro allows to get Skype with webcam fully working, also with xiwi in a window in Chrome OS.
I tried to get Android Skype working using an apk through arcwelder with no success - versions below 5 load but redirects to install newer versions, disallow operating.
Latest version like 7 or 8 would not load through arc welder.
& I bumped onto chromeos-apk.
To use chromeos-apk to install Android apps, one needs npm, so this is how it led me to node.js -
Run Android Apps in Chrome OS OR Chrome in OS X, Linux and Windows.
https://github.com/vladikoff/chromeos-apk
with (in the downloaded chromeos-apk-master folder from above vladikoff git)
npm install chromeos-apk -g
or
sudo npm install chromeos-apk -g
& you should get something similar to this -
[email protected] ~/Downloads $ cd chromeos-apk-master
[email protected] ~/Downloads/chromeos-apk-master $ npm install chromeos-apk -g
/home/chronos/user/.nvm/versions/node/v10.8.0/bin/chromeos-apk -> /home/chronos/user/.nvm/versions/node/v10.8.0/lib/node_modules/chromeos-apk/chromeos-apk
+ [email protected]
added 13 packages from 6 contributors in 8.137s
Note - I used v10.8.0 of node.js - but v10.9.0 should work same.
Usage
Run chromeos-apk [path to apk file]
... tbc/...
chromeos-apk results
Results not encouraging - any apk I submitted so far to chromeos-apk leads to the error: (it creates an unpacked extension to load from chrome://extensions)
Failed to load extension
File
~/Downloads/org.xbmc.kodi.android
Error
There is no "message" element for key extName.
Could not load manifest.
waste of time?
I guess, I learnt how to install node.js & npm
Result - news -
It depends on the apk version, for instance
Es File Explorer version es-file-explorer-4-1-7-1-28.apk installs OK using either Arc Welder or chromeos-apk...
latest versions do not -
(also tested on Asus Chromebit CS10 which is Arm 32bit)
this is a battle of wits between Google developers, & independent developers - Google sabotages community efforts for obvious reasons, stay in control.
Dual Boot ChromeOS with Linux or Windows!
Update 1: This thread has been fully rewritten for Windows too!
Update 2: Added Steps for Arch Based Distros!
This guide will tell you how you can dual boot ChromeOS with Linux or Windows! This guide is based on the official GitHub page!
Update2: Added troubleshoot section: Added ChromeOS not detecting fix
INDEX
• About
• Requierments
• Downloads
• Intel CPUs
• Types of recoveries
• AMD CPUs
• Linux Installation
• Preparing environment
• Installation
◦ Gparted
◦ Secureboot
• Windows Installation
• Preparing Linux Environment
◦ Preparing Environment
◦ Installation
◦ Secureboot
• Troubleshoot
• Fix ChromeOS not detecing
• Credits
AboutChromeOS, is an Operating system based on Gentoo Linux and designed by Google based on the ChromiumOS an open source project but unlike that ChromeOS is not open source, ChromeOS uses Google API and has intergrated Google Apps and Google Chrome as its interface! It also supports android apps!
Why chromeOS ? ChromeOS is a very smooth OS unlike other Android-x86 projects it is a fully functional and powerful OS, though it is not an ideal choice for gaming because it does not support the keymapping function. But if it ever gets Key Mapping there is no better option for running android for your PC other than chromeOS
Brunch, To keep it short and simple brunch is a framework which can help you to run ChromeOS on your Device even if its not a chromebook!
Requierments
• qs-x86_64 based computer with UEFI boot support (you can check that just search on google if you don’t know)
◦ With MBR patch your MBR/Legacy device might be supported
• Administrator Permissions
• Should have an Intel CPU (check conditions for that too)
◦ Intel 1st gen Core are supported only till ChromeOS 81 (This release may not be available anymore)
◦ Atom, Celeron and Pentium processors are supported since Baytrail and later versions!
• AMD Ryzen and AMD Stoney Ridge are supported, but it is limited
• Nvidia GPUs are not supported (if you have one then its ok, but ChromeOS won’t detect it)
• No Virtual Machines (VMs) are supported
• ARM CPUs are not supported at all, No luck guys
• Intel Core 2 Duo and older CPUs are not supported
Now if you are supported then Great! Lets move on!
DOWNLOADS
NOTE: you can even download the eve image which is the best as its the official Pixelbook recovery, but remember the boot chances are less with that so If you don't have time/data download from the below images
Intel CPUs
• If your CPU is 10th and 11th gen open this Link note the versions and proceed to download from HERE but before read below
◦ 11th gen and some 10th gen CPUs may need kernel 5.10
• If your CPU is 1st gen to 9th gen then after opening this Link, note the versions and proceed to download from HERE and before downloading read below,
Stable Builds
For daily and frequent use [Recommeneded for average users],
these builds are reliable and are pretty stable for day-to-day use and are recommended.
Beta Builds
Good for daily use and more Beta features [Recommended],
these builds are pretty stable and relaible with a few more Beta features and just a few bugs. These are recommended and also if the stable build is not availible.
Dev Builds
Buggy and more features [Power users only, Not Recommended],
these builds are not very stable and are buggy but have more features! Not recommended for daily use. These builds are ideal for developers who want to test out some features (Liveboot)
Canary Builds
Unstable! Experimental feaatures! [NOT Recommended][DEVs ONLY],
These builds have a lot of bugs but the most of the features! These builds are not intended for average users and are only for testing.
AMD CPUs
• For Stoney Ridge and Bristol Ridge Click Here but before read the above info carefully
and proceed to download from HERE
• For Ryzen Click here but read above before downloading then carefully
and proceed to download from HERE
• for Ryzen 4xxx devices you need kernel 5.10
As of I am writing this I have an Intel 10th gen CPU and the Stable builds are unavailable so I will be downloading the BETA Build which are quite stable too!
Now we have to also download Brunch, download the latest stable version from HERE
LINUX
Prerequisites,
• You should be on a Linux Distro
• Root access
• Atleast 16gb storage you can give to the OS
• Your PC should support Brunch
• Some basics of linux terminal (if not I recommend to learn because this helps in troubleshooting problems)
• Grub2 Bootloader
Preparing the Environment
Now open Terminal by Ctrl+Alt+T
and run,
Lets enable super user permissions using the following command
Bash:
sudo su
Enter password if it asks and hit enter
Debian based Distros:
Its a good thing to update and upgrade the packages by running this command,
Bash:
sudo apt update && upgrade
Lets install the required packages the command below will install pv, tar, unzip, cgpt and gparted,
Bash:
sudo apt install pv tar unzip cgpt gparted
Arch Based Distros:
Bash:
sudo pacman -Syu pv tar unzip gparted && yay -S cgpt
Side Notes
____________________________________________________________________________________
pv,
Pipe Viewer, known as pv is a package which allows the user for the monitering of data being sent through pipe, it helps the user by giving them a visual display
Tar,
tape archive. Known as tar is used to create and extract archive files in the format of .tar, .tar.gz etc...
Cgpt,
Cgpt is a tool to manipulate GUID Partition Table from command line. It also supports ChromiumOS extentions
Gparted,
Gparted is an Advanced disk manager, its simple yet powerful UI makes it easier to create, delete or modify any partition!
Unzip
unzip command simply extracts zip files!
_____________________________________________________________________________________
Now lets go into Documents using the cd command cd simply means change directory
Bash:
cd Documents
Now lets create a new folder and open that to keep things clean and tidy
mkdir command means make directory (make folder) and cd is change to directory
Bash:
mkdir ChromeOS && cd ChromeOS
now cut/move the downloaded files to documents/ChromeOS from your file manager
Installation
Now we will extract the tar.gz archive using tar we previously downloaded! Tar calles the command to run tar and zxvf is to extract the file in format of tar.gz
Bash:
tar zxvf brunch_ filename.tar.gz
Replace the brunch_filename.tar.gz from your actual bruch file’s name
now we also want to extract the chromeos zip file this file can be extracted by using the unzip command!
Bash:
unzip chromeos_ filename.bin.zip
Replace the chromeos_filename.bin.zip from your actual chromeOS file’s name
once done
if you already have an empty disk and are deciding to use that for installation then just check these things:
the partition should be ext4 or ntfs (ext4 recommended)
if not or if you don’t know what partition is it then
1. open Gparted and if under the file system your partion shows ext4 then close Gparted and if not then
2. right click the patition then
3. select format to and
4. select ext4 after that
5. click the ✓ logo and proceed after that
6. close Gparted.
If you don’t have a free partition or you want to create a different partition then,
minimize terminal and open Gparted (if you ran the first command it is automatically installed).
1. Now open Gparted and
2. Resize your storage and free up 16-100 gb of storage, to do that right click the partition you want to give storage from,
3. Click on the resize/move and
4. In the Free space following (MiB) text box enter the amount of storage you want to give to chromeOS in MB and click resize,
5. now you will notice a new space created called unallocated right click on it then click on new.
6. Now select Create as Primary Partion and File System: ext4 and click add! Now again click the ✓ Icon and proceed.
Also in Gparted note the name of your ChromeOS partition below the “Partition” table
for eg: /dev/sda11, /dev/mmcblk0p5 or /dev/nvme0n1p4
now open terminal,
now we will create a new mountpoint for that we will create a new directory using mkdir. The ~ is a symbol of your home directory so ~/tmpmount actually means home/tmpmount!
Bash:
mkdir -p ~/tmpmount
Now its time to mount the partition at the mountpoint
now this command will mount your partition named dev/partion to tmpmount!
Bash:
sudo mount /dev/partition ~/tmpmount
here replace the ‘partition’ to your partition name you saw in Gparted
Now
as we did before replace the chromeos_filename.bin to your actual file’s name and also replace the size from the amount of storage you want to give to chromeOS, minimum 16gb maximum your choice.
This command runs the chromeos-install.sh file in bash this file runs the installer! With the source (-src) being chromeos.bin file and the destination (-dst) being ~/tmpmount/chromeos.img and the size (-s) is what you desire
Bash:
sudo bash chromeos-install.sh -src chromeos_filename.bin -dst ~/tmpmount/chromeos.img -s size
Now if it asks for confirmation then type yes in the prompt
Now after it is over you should see something like this:
**************************************************************
menuentry "ChromeOS" --class "brunch" {
rmmod tpm
search --no-floppy --set=root --file /chromeos.img
loopback loop /chromeos.img
source (loop,12)/efi/boot/settings.cfg
if [ -z $verbose ] -o [ $verbose -eq 0 ]; then
linux (loop,7)$kernel boot=local noresume noswap loglevel=7 options=$options chromeos_bootsplash=$chromeos_bootsplash $cmdline_params \
cros_secure cros_debug loop.max_part=16 img_uuid=8191adfb-ab27-4e4d-a12e-b9e49aa1b466 img_path=/chromeos.img \
console= vt.global_cursor_default=0 brunch_bootsplash=$brunch_bootsplash quiet
else
linux (loop,7)$kernel boot=local noresume noswap loglevel=7 options=$options chromeos_bootsplash=$chromeos_bootsplash $cmdline_params \
cros_secure cros_debug loop.max_part=16 img_uuid=8191adfb-ab27-4e4d-a12e-b9e49aa1b466 img_path=/chromeos.img
fi
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
menuentry "ChromeOS (settings)" --class "brunch-settings" {
rmmod tpm
search --no-floppy --set=root --file /chromeos.img
loopback loop /chromeos.img
source (loop,12)/efi/boot/settings.cfg
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 options= chromeos_bootsplash= edit_brunch_config=1 \
cros_secure cros_debug loop.max_part=16 img_uuid=8191adfb-ab27-4e4d-a12e-b9e49aa1b466 img_path=/chromeos.img
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
*******************************************************************
Now copy the text similar to this from your terminal and paste it in a notes app or save it somewhere.
Now the end is near!
Now run this command which will copy the given
Bash:
sudo cp /etc/grub.d/40_custom /etc/grub.d/99_brunch
Running this command will open the nano text editor to edit these files,
Bash:
sudo nano /etc/grub.d/99_brunch
Now a file will open,
1. Now paste the text you copied before in a new line
2. then press Ctrl+X then type y to save it and hit enter
Now lastly run,
Debian:
Bash:
sudo update-grub
and
Bash:
sudo update-grub2
Arch:
Bash:
sudo pacman -Syu
this will update your grub configuration!
Now for those who have secure boot enabled you will have to follow some extra steps.
Now there are 2 ways:
• Way 1 [run if Way 2 does not work]: Go to BIOS Setup and simply disable SecureBoot and boot into ChromeOS
• Way 2 [Recomended]: Download the file from this link and paste the file in the ChromeOS folder
open terminal and run:
Bash:
cd Documents/ChromeOS
Bash:
sudo mokutil --import brunch.der
and thats it!
Windows
Prerequesites,
• Administrator access
• you have to give atleast 16gb to ChromeOS minimum, the disk should be
bitlocker disabled, and the format should be NTFS
• Windows Subsystem for Linux 2 (WSL2) or use Cygwin
• pv, tar, unzip and cgpt should be installed
• Basic Linux command knowledge
Preparing the Linux Environment
• For windows 10 and 11 users
Open Powershell and run
Code:
wsl –install
thats it
NOTE: You must be running Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11.
• for Windows 7 & 8/8.1 (works for windows 10 and 11 too)
Download and install Cygwin from HERE
after this run the CygWin terminal (for CygWin users) and for WSL2 users launch it!
Preparing Environment
And run this
Bash:
sudo apt update && sudo apt -y install pv cgpt tar unzip
If the process ends with errors then run this:
Bash:
sudo add-apt-repository universe
and run
Bash:
sudo apt update && sudo apt -y install pv cgpt tar unzip
Installation
Bash:
cd /mnt/c/Users/username/Downloads
Here replace the username by your actual username
Now run,
Bash:
tar zxvf brunch_filename.tar.gz
replace the brunch_filename.tar.gz from the real filename
Now run,
Bash:
unzip chromeos_filename.bin.zip
Here replace chromeos_filename.bin.zip from the actual filename (cmon you know the drill)
Now run,
Bash:
mkdir /mnt/c/Users/username/brunch
Again replace the username from the real username (if you want to install it in C disk)
Run,
Bash:
mkdir /mnt/d/brunch
(if you want to install in Disk D)
Now run,
Bash:
sudo bash chromeos-install.sh -src chromeos_filename.bin -dst /mnt/c/Users/username/brunch/chromeos.img -s size
Here replace chromeos_filename.bin from the real one, and replace size from the storage you want to provide (give atleast 16 gb)
Now Install Grub2Win from HERE
and run it
then click on the Manage Boot Menu and then add a new entry
Select the create user section from the type section.
Now open chromeos.grub.txt saved earlier, it will be in the same directory and copy the grub boot entries saved in that file and copy them to Grub2win
then click Ok and Apply to save the entries into Grub2win
To prevent windows from locking the NTFS partition I recommend you to switch off secureboot!
Troubleshoot
ChromeOS boot fix
this fix includes:
• Grub bootloader does not show up
• PC/Laptop directly boots into the MainOS
• the menu boot time is too short
• etc
Now there is a common issue where you have installed ChromeOS but the grub menu does not show up and your PC directly boots into the MainOS (Windows/Linux) these steps will help you fix it!
open terminal and run
Bash:
sudo apt install gedit
this will install Gedit
Gedit
is a simple text editor which is commonly used to edit system files
next run,
Bash:
sudo gedit /etc/default/grub
This will open a text document in gedit
If it asks for password then type it
Now the usual default format of the text document is like this:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Now you will see GRUB_TIMEOUT_STYLE=hidden
here replace the hidden from menu
next
in GRUB_TIMEOUT=0 change 0 from any number this is for how many seconds the grub menu should be visible, I recommend replacing 0 from 30.
thats it! save the file and run the command:
Bash:
sudo update-grub
and
Bash:
sudo update-grub2
Reboot now you should be able to see chromeOS in your menu!
Credits,
• Google
• Android
• ChromeOS Devs
• GitHub
• XDA
• Brunch
• Project Croissant
• Me
-Manav Harsana
possible windows 11?
ismatovvsanjarbek said:
possible windows 11?
Click to expand...
Click to collapse
This thread is for linux, I will add for windows
ismatovvsanjarbek said:
possible windows 11?
Click to expand...
Click to collapse
Added tutorial for windows!
Cygwin uses less data (and storage space) than the WSL route, right?
Also from what I understand there's no need to setup a dedicated partition for brunch? I had used Puppy Linux earlier where the file system could be located in a folder.
Edit: Cygwin does indeed use very little data no more than 30MB downloaded in the default config.
Edit2: Couldn't run the commands in Cygwin. Some error about sudo not being found. WSL2 was easy to install and didn't take more than 500MB data.
amn1987 said:
Cygwin uses less data (and storage space) than the WSL route, right?
Also from what I understand there's no need to setup a dedicated partition for brunch? I had used Puppy Linux earlier where the file system could be located in a folder.
Edit: Cygwin does indeed use very little data no more than 30MB downloaded in the default config.
Edit2: Couldn't run the commands in Cygwin. Some error about sudo not being found. WSL2 was easy to install and didn't take more than 500MB data.
Click to expand...
Click to collapse
I mean we can install it but 1. Its better to keep it clean ig 2. I am lazy im not gonna add another method for sometime atleaset. For that Cygwin thing idk I use Arch btw so idk about cygwin and stuff
I cant find the way to download beta or dev image, https://chromiumdash.appspot.com/serving-builds?deviceCategory=Chrome OS only allow download stable version
oldman20 said:
I cant find the way to download beta or dev image, https://chromiumdash.appspot.com/serving-builds?deviceCategory=Chrome OS only allow download stable version
Click to expand...
Click to collapse
Thats because the dev or beta build for the model may not be their, wait it out or try someother image