OverviewFor developers of Chromium OS there are many helpful packages included as part of developer and test images that are not included as part of Chrome OS. Bootstrapping and getting these back into the system can be very difficult without re-imaging the entire device. Ideally, you'd be able to get these packages back but still auto-update the rest of the system. Dev-install solves this use case. In essence it restores /usr/local back to that of a developer image.The requirements are:
The installation of software is done through Gentoo's emerge. In order to get emerge configured, follow the following steps:
If you ever want to revert to having a pristine base image you can just run (which is the same as deleting everything under /usr/local): # dev_install --uninstall
What can you doIn general, anything that works in /usr/local from chromeos-dev / chromeos-test should work. Consider the following examples:
To see what is installable, check /etc/portage/make.profile/package.installable.
General Troubleshootingdev_install will assume that /usr/local is empty if the directory for portage (/usr/local/etc/portage) is not there. If that's not the case and that leads to problems during the bootstrapping process you can ask dev_install to wipe /usr/local first by using: # dev_install --reinstall
Another source of problems is dev_install trying to connect to an incorrect BINHOST. The symptom for this is dev_install exiting after trying to extract the first download package (the package file downloaded with curl in /usr/local/portage/packages/... will contain a html error message). The binhost is generated by the release builders, so it is possible that a developer builds a new image with a release number that it's the same as a failed builbot. For example, in /etc/lsb-release the version number reads 0.15.912 but the builder with that version number failed. The are two possible fixes:
Behind the scenesIf you want to know what's going on in dev_install, this is the overall view of the process:
bootstrap.packages is generated during the build image process. It is a text file that contains a list of packages with version numbers that portage needs (portage included) and that are not already in the base image. All the packages in the base image (except the virtual ones) are listed /etc/portage/make.profile/package.provided so emerge will no try to install them and assume they are installed while resolving dependencies Known bugsWho to contact for more info (@chromium)Please use the main list: chromium-os-dev@chromium.org |
Chromium OS > How Tos and Troubleshooting >