[Test Guide] Building Chromium OS for ARM64 - (Testing not finished yet)

For this guide first of all you have to become an google dev and be part of a weird internal group system the best tutorial I had found for it was this: https://www.learningtopi.com/sbc/chromium-sync/
It’s not straight foward easy but if u follow it religiously u will get there…
The official thing is this page: https://support.google.com/googleapi/answer/6158862?hl=en
Save your keys (maybe send them to your email to yourself and put it in a folder).

#save this into a googleapikeys.txt and place it into the linux folder of your ChromiumOS
'google_api_key': 'your api key',
'google_default_client_id': 'your client id',
'google_default_client_secret': 'your client secret',

sudo update && sudo apt install nala aptitude && sudo aptitude upgrade -y && sudo aptitude install git-core gitk git-gui curl lvm2 thin-provisioning-tools python-pkg-resources python-virtualenv python-oauth2client xz-utils python3.6 -y && python3 --version
#if python3 version is over 3.5 happy days next..
sudo mkdir -p /usr/local/repo
sudo chmod 777 /usr/local/repo
cd /usr/local/repo
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
#ls /usr/local/repo/depot_tools/ to confirm files made above

git config --global user.email fyde@openfyde.com
git config --global user.name openfyde

#80gbs of data?
#lets not call it pi -.- cros-os for all systems

mkdir -p /path/to/cros-os
cd cros-os

repo init -u https://chromium.googlesource.com/chromiumos/manifest -b main
repo sync -j4 #-j8 is a thing too
#this process might look stucked but its working and might take over 5 mins hold my beer son

Remember the google api keys? yeah quite simple if you managed to get into the api - Next!

#place your googleapikeys.txt into the linux folder.
mv googleapikeys.txt .googleapikeys
scp .googleapikeys fyde@openfyde.com:-
#ls -alh to check for .googleapikeys
#confirm if .googleapikeys is there next.. Overlays
cd ..
mkdir overlays
cd overlays

Now here @alpha guru-sama… tell me… what can we do if we want to make a port to a generic chromiumsOS instead of only rasp pi? should we use a different file?

git clone https://github.com/fydeos/chromium_os-raspberry_pi.git .
#ls -alh to check files from .git

cd ..
cd cros-os/src/overlays
ln -s /home/$user/overlays/* .
#ls -alh to check overlays

Finally the ChromiumOS

mkdir chromium-os
cd chromium-os
mkdir src
cd src
git clone git@github.com:FydeOS/chromium-raspberry_pi.git .

#or git clone https://chromium.googlesource.com/chromium/src.git . 
#hold my bear.. 30 mins.. next....

cd ..
touch .gclient

Inside .Gclient make sure the url link matches your system version

# Don't forget to update the url!
vim .gclient

solutions = [{'custom_deps': {},
  'custom_vars': {},
  'deps_file': '.DEPS.git',
  'managed': False,
  'name': 'src',
  'url': 'git@github.com:FydeOS/chromium-raspberry_pi.git@refs/remotes/origin/chromium-m102'}]
target_os = ['chromeos']

#:wq enter to save and exit

gclient sync
#takes sometime
cd ..
cd cros-os

echo "/home/$user/overlays" > /home/$user/cros-os/src/scripts/.local_mounts
cros_sdk --chrome-root /home/$user/chromium-os
#ls -alh verify .local_mounts file

Again here??? if on an generic board what should we name this? rpi4?

setup_board --board=rpi4
./build_packages --board=rpi4 --nowithautotest
#if you have 64Gbs of Ram takes aboud 60 minutes to complete
#if not then enjoy a day or so of a compilation.. obfuscation.. -.-'

./build_image --board=rpi4 --noenable_rootfs_verification

#Grab your image rpi flash your device et voilá.

Google source here: https://chromium.googlesource.com/chromiumos/docs/+/main/developer_guide.md

Video Guide:

Original Guide to follow: https://github.com/FydeOS/chromium_os-raspberry_pi

Questions from a noob linux user (me, myself and I):

1) Idk why this has to be done externally neither if it can internally I have a few questions myself… the way it written seems like he need to do it via ssh externally which makes me give up right away…

2) idk if this can be corrected more to be made easier or quicker… all I know is that most of ‘us’ would prefer it to be generic to adapt to new boards and to test our own kernel ideas…

3) I wonder… if alternatively could we use linux to install Google Ozone Aura theme or something converting it into ChromiumOS?

Like this guy just did where he converted armbian to chromiumOS but how: https://forum.odroid.com/viewtopic.php?t=43170

4) In all this guide… I haven’t learned exactly how to make changes to the kernel to enable what I wanted the most which is the android binders and ashmem

5) googleapikeys cant we just ignore that step? Like leaving it without so it wont fetch for our google chromeos bookmarks etc? like in any other linux leaving chromium browser just clean?