Basic Informations: Chromium OS Developer Guide
Advanced Informations: The Dev server
Informations for really advanced users: Kernel Configuration
Choices
I choose a 64 bits system as builder and as target, that is why you can notice some differences from the googles docs.
You need some basic ev tools like git and subversion.
I use the x86-generic, because the amd64-generic doesn t work for some package (chrome) yet.
As soon it work i will change the doc for using it, but the procedure is exactly the same with am64-genic.
Building once
mkdir /data/Chromiumoscd /data/Chromiumossvn co https://src.chromium.org/svn/trunk/tools/depot_toolsexport PATH="$PATH":`pwd`/depot_tools # add it to your bash profilerepo init -u https://git.chromium.org/git/chromiumos/manifest.git --repo-url https://git.chromium.org/git/external/repo.git -g minilayout If you want a few extra pounds and having to much time you can alse get the full layout system.
mkdir /data/Chromiumoscd /data/Chromiumossvn co https://src.chromium.org/svn/trunk/tools/depot_toolsexport PATH="$PATH":`pwd`/depot_tools # add it to your bash profilerepo init -u https://git.chromium.org/git/chromiumos/manifest.git --repo-url https://git.chromium.org/git/external/repo.gitBuilding for Dummies/Kiddies
You need around 30Go od disk space for full layout and arount 10Go for minilayout.
cd /data/Chromiumosexport PATH="$PATH":`pwd`/depot_toolsrepo sync./chromite/bin/cros_sdkexport BOARD=x86-generic./setup_board --board=${BOARD}./set_shared_user_password.sh./build_packages --board=${BOARD}./build_image --board=${BOARD} --noenable_rootfs_verification devThe --noenable_rootfs_verification is very important for what we want to do.
Write to an usb stick (size >2Go)
./image_to_usb.sh --board=${BOARD} --to=/dev/<device>or
dd if=../src/build/images/amd64-generic/latest/chromiumos_image.bin of=/dev/<device> bs=4M oflag=sync status=noxferFor the begening (or mobility)
If you like and want use it permantly on the same device (on heavy old laptop)
/usr/sbin/chromeos-install --yesrebootVery simple, you have to redo the process.
Build a new usb stick and if necessary install on hard drive.
You will erase all your data with this methode, not very interesting, but useful for begening.
It's possible, you have to start the DEV Server.
cd /data/Chromiumosexport PATH="$PATH":`pwd`/depot_toolscros_sdkstart_devserver --client_prefix ChromeOSUpdateEngineWhen you boot ChromiumOS, or try to update (gui - chromium or cli - update_engine_client)
Verify the source and sync update, and upgrade the repository.
cd /data/Chromiumosexport PATH="$PATH":`pwd`/depot_toolsrepo synccros_sdkexport BOARD=x86-generic./setup_board --board=${BOARD} --force./build_packages --board=${BOARD}Now on the system you can update/upgrade your system (if DEV Server is started)
Start DEV Server.
Start ChromiumOS and login on the console 2.
gmerge kbdgmerge net-wireless/b43-fwcutter net-wireless/b43-firmwareloadkey frThis command contact the dev server and ask for a compilation of kbd package (look at gentoo if you want know more about emerge).
Locate and setup the kernel config
cd /data/Chromiumosexport PATH="$PATH":`pwd`/depot_toolsrepo synccros_sdkexport BOARD=x86-genericrepo sync chromiumos/third_party/kernel # if necessarycd ../third_party/kernel/fileschromeos/scripts/prepareconfig chromiumos-i386export ARCH=i386chromeos/scripts/kernelconfig editconfigchromeos/scripts/kernelconfig oldconfig(cd chromeos && git commit -a -m "My kernel config")cros_workon start --board=${BOARD} sys-kernel/chromeos-kernelrepo syncchromeos/scripts/prepareconfig chromiumos-i386FEATURES="noclean" cros_workon_make --board=${BOARD} --install chromeos-kernelcd ~/trunk/src/scripts./build_packages --board=${BOARD}on the chrome host start sshd server and enable iptables rules
start openssh-server
on the dev server
cd /data/Chromiumosexport PATH="$PATH":`pwd`/depot_toolsrepo synccros_sdkexport BOARD=amd64-genericssh-copy-id root@<ip of target> # Push the ssh public key ~/trunk/src/scripts/update_kernel.sh --remote <ip of target>