Work In Progress.. (None of this is officially supported so CLs appreciated)
Option 1: With ./build_packages
With this option you can do your regular cros_workon + emerge commands (and any optimizations like cros_workon_make etc). But you have to run the mod_image_for_test scripts on the /build/<board> dir or hand edit they etc/shadow files etc to login
Option 2: With ./quickly
(DONT USE YET - if you want incremental compiles etc. This is useful to create a rootfs different from /build/<board> if you want to mod for test etc)
Quickly is a simple script (integrated ./build_packages/image) to enable creating a rootfs ready for NFS boot. You can cherry-pick https://gerrit.chromium.org/gerrit/21579 into src/scripts . This is not a supported script. It contains pieces of other scripts to speed up building a test image for developers. If you are not comfortable with editing the script, use option 1 above.
The advantage of using this script is
1) It creates a new rootfs dir that you can hackon/delete unlike option 1 which reuses /build/<board> which is polluted with factory install hacks etc
2) It runs mod_image_for_test for you so you should be running closer to a test image
3) If you have to do any hacks to the rootfs generated feel free to update the ./quickly script and update the CL
The output is a ChromiumOS test image in ../build/images/<board>/quickly/. Use this as your rootfs in the NFS server setup if you go down this path. You will have to run your regular emerge commands and then run ./quickly to regenerate your rootfs again.
TODO(yournamehere):./quickly will need to incrementally update the rootfs and emerge only packages that have been updated.
Step 2:The server needs to know which directories you want to 'export' for clients. This is specified in the
Step 3:Restart the NFS kernel server:
Step 4:If it is working you will see something like:
Step 5:Test your nfs server setup. This example just mounts the nfsroot on the same machine, but it is useful to do this from another machine is possible (if you can, use your server host name instead of localhost).
Step 0: Make sure you have https://gerrit.chromium.org/gerrit/#change,21213 in your uboot. It enables netboot/nfs.
First, make sure that you have flashed the developer U-Boot onto your board/SD card (aka legacy_image.bin). For more information see the U-Boot page (outdated and refers only to seaboard). Email chromium-os-dev@ if you dont have uboot on your device. When you start the developer U-Boot for the first time it will likely complain that the environment is not present, and give you a default environment. Type
TODO(anush): Save it in a nice to run command. Keep in mind running dhcp will overwrite any serverip configuration with what is provided so we need to set serverip after getting a dhcp IP address.
Make sure you connect to the onboard ethernet jack on Daisy NOT with a USB Dongle
* If you delete and recreate your NFS root directory make sure you restart the NFS server
* If you dont have network connectivity, try restarting shill from the console (I will send out a CL to fix this)
TODO(yournamehere): Add notes on using debugging chrome with an NFS root