[Chromebooks] nabil2000:
After building Chromium OS kernel 4.14.96 & my inability to figure out how to properly deploy it as an update to an existing Chromium OS installation like Arnoldthebat v72 (with Chrome OS Kernel 4.14.83)

efforts here -

https://xdaforums.com/showpost.php?p=78830818&postcount=3

I will post here my efforts at building the full Chromium OS with the latest available Kernel - I will try & start with same version as arnoldthebat i.e. v72 which has now reached stable...

There will be a lot of editing here, as it's a learning curve to me...

First is to clone the Google Chrome OS repo -

I was given this link to learn how to do this -

https://chromium.googlesource.com/chromiumos/docs/+/master/developer_guide.md

As for building Kernel for ATB v72 - I will be keeping a log of instructions here...

I do the work from within a Ubuntu xenial 16.04.xx box as suggested by the documentation,

Preparation instructions:

Create a folder where the code will be stored (they suggest chromeos) I used code

from an ext4 partition/disk with plenty of space (mine 150 GB+)

$ mkdir code

input instructions to get to clone the repo later to reach here:

$ sudo apt-get install repo

$ sudo apt-get install git-core gitk git-gui curl lvm2 thin-provisioning-tools \

python-pkg-resources python-virtualenv python-oauth2client

Install depot_tools

$ git config --global user.name "John Doe"

$ git config --global user.email "jdoe@email.com"

$ git config --global core.autocrlf false

$ git config --global core.filemode false

$ # and for fun!

$ git config --global color.ui true

Tweak your sudoers configuration

cd /tmp

cat > ./sudo_editor <<EOF

#!/bin/sh

echo Defaults \!tty_tickets > \$1 # Entering your password in one shell affects all shells

echo Defaults timestamp_timeout=180 >> \$1 # Time between re-requesting your password, in minutes

EOF

chmod +x ./sudo_editor

sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements

Configure git

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

Verify that your default file permissions (umask) setting is correct

put the following line into your ~/.bashrc

umask 022

preparation for enough disk space

in folder code/

sudo dd if=/dev/zero of=swapfile bs=1024 count=$((1024*3000))

mkswap swapfile

sudo swapon swapfile

git config --global http.sslVerify false

git config --global http.postBuffer 1048576000

initialise the repo

$ repo init

$ repo init -u https://chromium.googlesource.com/chromiumos/manifest.git --repo-url https://chromium.googlesource.com/external/repo.git [-g minilayout]

get the source code

$ repo sync -j4

getting/syncing the source code took a long time as it kept failing...

I am now in this position with the source code in code/

I will fill in gaps of instructions I missed later...

Create a chroot

make sure depot_tools/ is inside the folder code/: code/depot_tools

temporary put depot_tools in the path

export PATH=$PATH:depot_tools

$ cros_sdk

... this will take some time...

NOTICE: Mounted .../code/chroot.img on chroot

NOTICE: Downloading SDK tarball..

All done

INFO cros_sdk:make_chroot: Elapsed time (make_chroot.sh): 74m37s

cros_sdk:make_chroot: All set up. To enter the chroot, run:

$ cros_sdk --enter

CAUTION: Do *NOT* rm -rf the chroot directory; if there are stale bind

mounts you may end up deleting your source tree too. To unmount and

delete the chroot cleanly, use:

$ cros_sdk --delete

(cr) ((c62d307...)) bgrau@bgrau-MN9 ~/trunk/src/scripts $

now comes the real stuff...

Notes -

some extra commands might be needed to get this working:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install linux-generic

$ sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge

$ sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

...