The '500populateQualDbs' script is now deprecated by the new chromeos-hwid
ebuild package.
HWQual database are merged into images automatically, no more need for
post-processing.
QUALDB and --qualdb are also removed, with typo in comments fixed.
BUG=chrome-os-partner:4276
TEST=./build_image --factory
Change-Id: I76d9a72943567444e26200fccc6fe5dff95b2687
Reviewed-on: http://gerrit.chromium.org/gerrit/3431
Reviewed-by: Vince Laviano <vlaviano@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Every developer image (and test images based on the developer image) should
include "cros_debug" in the kernel commandline. This flag is used by the
crossystem application to determine if the image being run is a developer
image. cros_make_image_bootable receives a new flag, --force_developer_mode
that appends "cros_debug" to the boot args.
BUG=chromium-os:16951
TEST=build images. Flash a base image and confirm the absence of "cros_debug"
in /proc/cmdline. Flash the developer image and confirm the existence of the
string.
Change-Id: I9f748638b5dac384be991908239e8b447ddf3b5e
Reviewed-on: http://gerrit.chromium.org/gerrit/3169
Tested-by: Arkaitz Ruiz Alvarez <arkaitzr@chromium.org>
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
libc debug symbols (libpthread in particular) are needed to debug threaded software with gdb. This CL copies
debug symbols for glibc when building a dev image.
This CL also removes an old hack related to selecting the correct path to the glibc tarball.
BUG=chromium-os:16847
TEST=Build dev image (--withdev is the default). Checked that debug info is copied. Booted image and checked
the debugging threaded programs works with gdb. Build non-dev image (--nowithdev) checked that debug info is
not copied.
Change-Id: Id908e8260b1431ed1256a13dfb86b05ac242f263
Reviewed-on: http://gerrit.chromium.org/gerrit/3091
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Raymes Khoury <raymes@chromium.org>
Incorporate mod_image_for_test.sh into build_image to simplify the user
interface to the build system and to remove the redundant setup that
occurs in both scripts.
We're not porting the --force_copy, --inplace, or --yes flags, because
the user is no longer passing in an existing image as input.
BUG=chromium-os:12899
TEST=Run build_image w/ various flag combos, inspect output dir, and
boot resulting images. Flags tested include: none, --test, --factory,
--factory_install, --factory_install --test.
Change-Id: Ie3b504b3c58fbe19f1ce351985e5f1043353766a
Reviewed-on: http://gerrit.chromium.org/gerrit/2421
Tested-by: Vince Laviano <vlaviano@chromium.org>
Reviewed-by: Anush Elangovan <anush@chromium.org>
Default netroot factory install kernel mounts rootfs in ram. The
USE flag "blkdevram" was implemented in
http://gerrit.chromium.org/gerrit/#change,1802
BUG=None
TEST=Build factory install kernel and rootfs uimg. Kernel should
be able to mount the in-ram initrd downloaded from tftp.
Change-Id: Idb83375e0587432c5dec87357a8aa8e229f40af2
Reviewed-on: http://gerrit.chromium.org/gerrit/1803
Reviewed-by: Rong Chang <rongchang@chromium.org>
Tested-by: Rong Chang <rongchang@chromium.org>
This commit is a part of transition to enable ARM kernel signing. It is
at first an option that is enabled manually, and then (in this commit)
enabled by default. After more tests, the scripts that generate unsigned
ARM kernel partition will probably be removed.
BUG=chromium-os:12352
TEST=./build_image && load_kernel_test -b 2 /path/to/chromiumos_image.bin /usr/share/vboot/devkeys/recovery_key.vbpubk
Change-Id: I7d4ecc566f9c5cc0106a7af59255fc63fdfe017a
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Rong Chang <rongchang@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/1319
Tested-by: Nick Sanders <nsanders@chromium.org>
BUG=chromium-os:13977
TEST=Build an image with new compiler, boot image and verify new ldd is used.
Build image with old compiler and verify old ldd is used.
Change-Id: I8cbc5b87342245106f0a8fd0fa80ae42329eff60
Reviewed-on: http://gerrit.chromium.org/gerrit/1367
Tested-by: David James <davidjames@chromium.org>
Reviewed-by: Raymes Khoury <raymes@chromium.org>
As reported in Bug 15561, build_image sometimes reports incorrect blacklist
packages if it reports an error about a package that is not actually installed.
For example, if you install =dev-libs/glib-2.28.6, and then replace it with
=dev-libs/glib-2.26.1-r1, build_image will report a blacklist failure because
glib depends on Python. But that's wrong -- it's looking at the wrong package.
BUG=chromium-os:15561
TEST=Test that build_image does not report an error when the package it's
complaining about is not installed anymore.
Change-Id: I86b25684d0e211fd144231c7a34276ecf5607ad7
Reviewed-on: http://gerrit.chromium.org/gerrit/1227
Reviewed-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
This is needed for eliminating the dependency between chromeos-chrome and libcros.
This also has the benefit that builds will fail if you take a binary version of
chromeos-chrome with an incompatible version of libcros.
BUG=chromium-os:15145, chromium-os:15148
TEST=build_packages --nousepkg && build_image.
Test that test_image fails when libcros version is wrong.
Change-Id: I46cbc4494d36b13ba1bdda699eccb6dc7fea162c
Reviewed-on: http://gerrit.chromium.org/gerrit/633
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
This commit is a part of transition to enable ARM kernel signing. It is
at first an option that is enabled manually, and then (in this commit)
enabled by default. After more tests, the scripts that generate unsigned
ARM kernel partition will probably be removed.
BUG=chromium-os:12352
TEST=./build_image && load_kernel_test -b 2 /path/to/chromiumos_image.bin /usr/share/vboot/devkeys/recovery_key.vbpubk
Change-Id: I6d48d1603cd7c96514892bcbbf8994b2d4cc2a08
Reviewed-on: http://gerrit.chromium.org/gerrit/512
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
There were two bugs:
1) The test [ ${ARCH} -eq "arm" ] was wrong because -eq is a
numeric comparison operator, not legal on strings.
2) Variable ${ARCH} was used before set.
The code change includes comment changes to clarify the reasons for
the code, and a future-proofing logic change.
Change-Id: I63f502cc33cf8a9a441b4b305fc49ed57d0a55b1
BUG=None
TEST=build_image --factory_install, and boot the resulting image
Review URL: http://codereview.chromium.org/6905119
On x86, booting factory install shim on SD card needs to have the kernel
initrmafs enabled. But on ARM, booting factory install image on network does
not needs initramfs.
TEST=build_image --factory_install
BUG=chromium-os:13211
Change-Id: Id008a3bfaf4f17772e04f02d18844dd09b33fbe1
R=rongchang@chromium.org
Review URL: http://codereview.chromium.org/6901047
This CL depends on http://codereview.chromium.org/6765018 which adds fbconsole
USE flag.
Change-Id: I159680e2cd53b6493545f6c0b1caaa8a7e833cb3
BUG=chromium-os:13607
TEST=run mod_image_for_recovery.sh and boot to recovery image to see messages
showed on framebuffer console.
Review URL: http://codereview.chromium.org/6814041
Also includes a style nit fix: don't quote arguments to numeric
comparison test operators.
BUG=chromium-os:13582
TEST=setup_board --force && build_packages && build_image; boot the result
Review URL: http://codereview.chromium.org/6801027
Change-Id: I689ca9697a05cf93a789fde1242fb2fa50f21612
Plan is to eventually deprecate depth as a configurable parameter.
depth=0 means compute the depth based on a regular trie with a
single block of hashes at the root node.
BUG=chromium-os:9752
TEST=platform_DMVerity
Change-Id: I5c5f1b1f2c2079d7e1ef6c7a55c859b463a59aee
R=wad@chromium.org,taysom@chromium.org,ups@chromium.org,gauravsh@chromium.org,jimherbert@chromium.org
Review URL: http://codereview.chromium.org/6810006
This fixes an issue where passing USE= to build_packages would always
cause build_image to fail.
BUG=none
TEST=create a USE-inconsistent package, run build_image, observe it working
Change-Id: Id9eb3891d9c292423c837a0d097a33155f03b794
R=davidjames@chromium.org,kliegs@chromium.org
Review URL: http://codereview.chromium.org/6677163
BUG=chromium-os:13221
TEST=Run build_images without ext2 loaded
Specifying a filesystem type explicitly for ext* filesystems will avoid
weird fallbacks like mounting ext2 filesystem as ext3 or even ext4.
Instead it attempts to autoload the given filesystem as a module if
available or fail right away.
Change-Id: I6be7f3f994babd8efc8eda97ea9c802e04d98be6
R=dgarret@chromium.org,sosa@chromium.org
Review URL: http://codereview.chromium.org/6696092
The dev install shim is deprecated. This CL removes --dev_install
support from build_image.
This is part of a larger rewrite of build_image to allow it to be the
single script from which all image types are generated.
BUG=chromium-os:12899
TEST=manual
Change-Id: Ic3a49f0d476d198f81001a05c75f24f16bc640c0
Review URL: http://codereview.chromium.org/6694042
BUG=none
TEST=Ran build_image with and without the crossdev upgrade. Made sure it was picking up the correct tarball.
Review URL: http://codereview.chromium.org/6592013
Change-Id: I83e1c35b0d971aa9a5d69fb404a69f2a712bbe38
BUG=chromium-os:6840
TEST=Build and install Chrome OS image, no issues observed
Change-Id: I24ea3a96490a81c8926852eff6d2451e57e196f7
Review URL: http://codereview.chromium.org/6546045
For now arm kernel partitions are not signed. This CL is a transitionsl.
That is, the added flag should be removed after arm verified boot is stable.
To properly create an arm kernel partition, we also need another CL for
vbutil_kernel utility that turns off x86-only modifications on kernel
image. See CL:6538015.
BUG=chromium-os:3790,chromium-os:12352
TEST=see below
Build images for x86 and arm successfully, and notice that load_kernel_test
passes for x86 and signed arm image.
$ build_image --board=tegra2_seaboard --crosbug12352_arm_kernel_signing
$ build_image --board=tegra2_seaboard --nocrosbug12352_arm_kernel_signing
$ build_image --board=x86-generic
Review URL: http://codereview.chromium.org/6538014
Change-Id: I1be381bae2fc367a0603ac2ec67ee70fc9a257e4
The xorg-server ebuild creates /usr/share/portage on the rootfs partition. This
breaks build_image which wants to point the same directory at the stateful
partition.
To work around this we just link to make.globals directly. This workaround fixes
gmerge but doesn't address the problem that there might be more files inside
/usr/share/portage. A better fix should be addressed as part of
crosbug.com/11502
BUG=chromium-os:12441
TEST=Run build_image and verify /usr/share/portage/config/make.globals points to
/usr/local/share/portage/config/make.globals and that the latter also
exists.
Review URL: http://codereview.chromium.org/6583001
Change-Id: I52fd9d34bf29573fbf6ca013ba49d1c8608e066d
This temporary hack is intended to provide to developers a smooth transition to
the new crypted password file location.
BUG=chromium-os:11664
TEST=build_image
Change-Id: I34383f6e08ee8db53e407b30df604c403c72b5eb
Review URL: http://codereview.chromium.org/6539019
BUG=chromium-os:4230
TEST=grep for references to old parallel_emerge location
Change-Id: I3238e719e01df57648d3d91c0dfd7c37f7a934ee
Review URL: http://codereview.chromium.org/6246058
BUG=n0ne
TEST=./build_image and see it fail and ask me a question, instead of death
Change-Id: I27f7ac71ce74ff711e8b152ee202121d518045cd
Review URL: http://codereview.chromium.org/6417001
This hack is necessary for old chroots to ensure that we source a good
common.sh when the one inside the chroot is out of date. We'll be able
to get rid of this after everybody has updated their chroot to have a working
version of common.sh and/or we have deprecated running scripts from the
source directory.
Also fix logic for when common.sh is missing to exit properly.
BUG=chromium-os:11598
TEST=Verify that build_image still works when the old common.sh is present in
the chroot.
Change-Id: I2e8c2fd5ad06446e669ad665ee2e70f4364958fe
Review URL: http://codereview.chromium.org/6286084
from within the chroot.
It also fixes a number of style issues.
It changes the meaning of cros_workon "list-all" to list all available
packages, and adds "list-live" to list all live packages.
It changes things that load chromeos-common.sh from the installer to
load it from /usr/lib/installer.
BUG=chromium-os:4230
TEST=synced, rebuilt chroot, made packages, made images, built chrome
from source, and wrote an image to a USB stick.
Review URL: http://codereview.chromium.org/6240018
Change-Id: I90c34420af1a64020402bafef8e9e77f56837c02
Change-Id: I9a4fc8ea0ed51a11a912f3d1c896579369fd8880
BUG=Tac0
TEST=Ran with USER=chrome-bot ./build_image and hit Ctrl+C
Review URL: http://codereview.chromium.org/6288012
ARM (kernel-next) should now be in sync with kernel.git so that we get similar
error handling behavior on all targeted platforms (with our partition layout).
This change makes that the default.
BUG=chromium-os:9697
TEST=manual build_image with kernel-next profile; booted and validated failover error behavior
Change-Id: I281302adb3cbc96aa5770630898f103b0d3639ca
Review URL: http://codereview.chromium.org/6220002
Change-Id: Ib9fcc078d8e0223cd1b1376db91d8e71ae8359a6
BUG=cp file to itself fails in case of nostatefuldev
TEST=ran build_image with and without statefuldev
Review URL: http://codereview.chromium.org/4959001
Patch from Trevor Bourget <tbourget@codeaurora.org>.
Change-Id: Id4ed6af96e0b621f4ad36966fad45c887b991373
BUG=None
TEST=Ran a fresh build_packages and build_image for x86-generic.
Review URL: http://codereview.chromium.org/5689004
BUG=n0ne
TEST=Ran the following command to test:
USE="-compat_wireless" ./build_image
Change-Id: I4b3fd12c1f62e1b2551045a5831a63d848fe2a3f
Review URL: http://codereview.chromium.org/5139003
kernel-next lacks error mode 3. Rolling back until merged.
TEST=none: rolling back to old value
BUG=chromium-os:8442
Change-Id: I0c1a89dc3e00fe5f315b3c15c5070209b0fd79d0
Review URL: http://codereview.chromium.org/4512004
A new error mode for dm-verity exists which can be called as
"cros" or "3". This change enables that mode in builds by default.
TEST=build_image had the correct argument; functionality was there [in progress]
BUG=chromium-os:8442
Change-Id: I3eb3f4a662c5d36011542af4e50718db50ab63bd
Review URL: http://codereview.chromium.org/4530003
BUG=not sure, but this is CL 2/2 to fix broken L13 build
TEST=tested usb intall/auto update
Change-Id: I14cdd1ec941a0653ac25ec7ef72f69f2ec8f64c9
Review URL: http://codereview.chromium.org/4270002
Change-Id: Iecdea822e9600249a9596c059e4db980b409c0a0
BUG=8082
TEST=Built a vm image and ran sudo gmerge metrics
Review URL: http://codereview.chromium.org/4118001
Change-Id: I05370137dbe9f9adc7b18f2ff77d1b7680275c37
BUG=7973
TEST=Ran with/without current blacklist file. Also, added chromeos-base/chromeos-chrome
to test it actually dies correctly.
Review URL: http://codereview.chromium.org/4005002
This change makes more of the root filesyste metadata static across builds, but
more can be done there. It also changes the root filesystem to use ext2 as
we don't need journaling in normal mode. Optionally we could use ext3 for
non-verified if desired (it's an easy change).
In particular, this change cleans up the following:
- clears the rootfs uuid
- labels it C-ROOT (instead of C-KEYFOB)
- removes reserved inodes and blocks
The major feature of this change, however, is that it adds two simple
helpers to common.sh: disable_rw_mount and enable_rw_mount. They will
set high order byte (le) in the ro compat field to be 0xff. This will
tell the kernel that the filesystem uses features R24-R31 which are safe
for use on the running kernel iff the filesystem is mounted read-only.
These functions are called in cros_make_image_bootable and
mount_gpt_image, respectively. mount_gpt_image will always
enable_rw_mount and cros_make_image_bootable will disable_rw_mount if
--enable_rootfs_verification is true.
The approach is ugly but reasonably well contained. If ext2 ever gets a
new revision and new features in the same range are introduced, then we
would be getting inconsistent behavior. That said, it is unlikely that
that churmn will happen and if the impact is negative, it will ideally
show up during testing.
N.B., this will likely result in changes needing to be made to the
signing scripts in vboot_reference to ensure that rw mounting is
enabled/disabled in the same way (E.g., during stamping).
BUG=chromium-os:7468
TEST=- built x86-generic, imaged to usb stick, attempted to mount rw /dev/sdc3 on the host and was properly bounced.
- booted to the image just fine on a dogfood device.
- mod'd for recovery, then installed and booted.
- mod_image_for_test runs with no errors; booted the resulting image as well
- booted a factory_install with the pending dm changes
- BVT passed with build_image x86-generic (vboot enabled)
- [in progress] autotest that checks if the rootdev = /dev/dm-0 and
then does a dumpe2fs | grep -q FEATURE_R31
Review URL: http://codereview.chromium.org/3916002
Change-Id: If4dcba7568a110f4e32627c916d9e5741e5e5414
Change-Id: Ifbfbd3b55ae97ea94ea5bba40a001c6a1ddbf7a0
BUG=720
TEST=Ran suite_Smoke in a VM and ran python from command line and checked
to see if I could import packages from /usr/local/site-packages.
Review URL: http://codereview.chromium.org/3972001
In order to more easily test kernel commandline tweaks, ensure that
--boot_args is propagated to all kernel cmdline sinks.
This is useful for changing default schedulers and any other kernel argument
tweaks we may want to quickly test out.
TEST=build and tested x86-generic
BUG=none
Change-Id: I5138755aa8c5e32e7f117f18291d2ae197e95bef
Review URL: http://codereview.chromium.org/3644004
This changes defaults failure to a panic/recovery reboot and
disables the debugging max_bios argument to ensure that we don't
trigger race conditions in the kernel during un-protected
pending_bio count decrements. (Can lead to a hung-system.)
TEST=built x86-generic; ensured -1 and the panic changes worked
BUG=chromium-os:6956
Review URL: http://codereview.chromium.org/3595015
Change-Id: I81c9e1a7f406e551cd528d5226902c89165b30f9
image_to_usb has been made to work inside chroot for quite some time
(maybe since http://codereview.chromium.org/1991006), and some special
modes may even require it to be executed inside chroot.
However the output messages were not fixed, so we should remove the
"OUTSIDE CHROOT" alerts.
BUG=none
TEST=manually:
1. executed build_image and verified that output messages is correct, and the image is really built successfully.
2. executed image_to_usb.sh --from=... --to=/dev/sde and verified output messages is correct, and the USB device is really imaged by the given target
Change-Id: I8f4274c5f59a0aa585471469ac285e91c0cead13
Review URL: http://codereview.chromium.org/3519003
- I looked at all of the x86 and ARM paths through out build image scripts,
these changes clean up stale comments, stale code, and unforks some small
things.
BUG=none
TEST=Built images for x86-generic, arm-generic and tegra2-seaboard, booted tegra2-seaboard image.
Review URL: http://codereview.chromium.org/3448022
Change-Id: Ibad2774ff2cbf5f15528454506542b87e43e24a2
- Build a "kernel image" which contains a uboot script and a uboot kernel
image.
- Fix some sd* assumptions.
- Remove cruft that has never done anything usefull from update_bootloaders
BUG=none
TEST=Built, booted, and updated on tegra2_dev-board
Review URL: http://codereview.chromium.org/3396011
Change-Id: I00ecf57faa5fe64c8e33dd4c042f1dbed806c10a
Some mod_for_test images don't have the files necessary to run
emerge. Install them.
BUG=none
TEST=Rerun package install
Review URL: http://codereview.chromium.org/3351016
Change-Id: Ib19986121a8988c6cae23527148a7b5d4a58663e
BUG=chromium-os:6577
TEST=(inside chroot) run 4 test cases from src/scripts/, using Ctrl+C to force abort (hence triggering "delete_prompt")
a.) (stdin tty) "./build_image --board=x86-generic < /dev/null", expected = no prompt and delete output dir; actual == expected
b.) (stdout tty) "./build_image --board=x86-generic > foo.txt", expected = no prompt and delete output dir; actual == expected
c.) (normal user case) "./build_image --board=x86-generic",
expected = prompt to delete output dir, if y, output dir is removed; actual == expected
d.) (normal user case) "./build_image --board=x86-generic", expected = prompt to delete output dir, if N, output dir is NOT removed; actual == expected
Review URL: http://codereview.chromium.org/3373003
Historically, we used --usepkgonly in build_image to ensure that packages
were not accidentally built during this step. Recently, build_image was
updated to use --usepkg. The benefit of using --usepkg was that it would not
install obsolete binary packages to your image. It was counter-intuitive that
--usepkgonly would install packages to your image that are not actually
installed to your board root. The disadvantage, however, of --usepkg, was that
it sometimes tried to build packages afresh using the image as your build root,
and this failed with strange errors because you're not supposed to do that.
This change fixes build_image to give useful errors by switching back to
--usepkgonly. To fix the problem where --usepkgonly installs packages that are
not installed, we first run eclean-<board> to clean all unused packages from
the board root.
This change is a big improvement because a number of people have run into
strange issues with build_image due to this problem and have had trouble
debugging them.
This change was actually written by Sean Paul, and I am shepherding his change
through for him because he doesn't have a Chromium account yet.
BUG=chromium-os:6437
TEST=
1) build_packages && build_image should still work
2) build_packages && ./cros_workon start power_manager && build_image should
fail with an error that all versions of the power manager are masked. This
happens because you started working on the power manager, but did not build
the version of the power manager you were working on before installing it.
3) Assuming you are working on the power manager, build_packages && build_image
should succeed because your cros_workon'd version of the package is built.
4) ( ./cros_workon start power_manager && build_packages &&
./cros_workon stop power_manager && build_image ) should fail with the
same error message as case 2 for similar reasons.
5) ( ./cros_workon start power_manager && build_packages &&
./cros_workon stop power_manager && build_packages && build_image )
should work because you've built your new version of the stable package.
Change-Id: Ia3858c70997bc6f0ec0b6d1bfaede8d3272a0976
Review URL: http://codereview.chromium.org/3305010
USB/SDCard boot devices typicaly don't run software updater,
and won't have success ever set. We never want to try to
fall back to the empty B partition either. The workaround
for this is to set the successful bit regardless of actual
boot success.
bug=6395
Change-Id: I67c625804203b13be9a0c626c404fa38bafb5445
Review URL: http://codereview.chromium.org/3344008
* Add dev-rec key to factory installer
* rename factory_install_shim output to be consistent with dev install shim
Change-Id: Ibf8f027edda67626af5c319b4daa164cb53ccfe7
BUG=4382
TEST=Build factory install, build dev install, build normal
Review URL: http://codereview.chromium.org/3286002
BUG=none
TEST=build_image + cut and paste image_to_vm in the output
Change-Id: I9def13a56d796c1f034c834a8429e909b45afa02
Review URL: http://codereview.chromium.org/3181038
Change-Id: I7722848872b1712b26c38ac8f163d450c5a08f6d
BUG=chromium-os:5183
TEST=manually built a dev install shim and verified it's bootable on agz device
Review URL: http://codereview.chromium.org/3158021
This change enables root filesystem integrity checking for all x86
builds by default. All mod_image_for_* work with this and the
factory_install. In addition, the BVT tests all pass running on
a dm-verity root.
[I will send a mail to the chromium-os-dev once this lands with instructions on how to build with it and how to turn it off (chromeos-setimage) on an installed machine.]
Once this is functioning, I will start migrating the build/install process over to use the UUID-based boot.
TEST=built x86-generic, mod'd for test, installed, ran suite_BuildVerify
BUG=chromium-os:5100
Review URL: http://codereview.chromium.org/3143025
Change-Id: Ib23962b7a5e034ef6aea31b4361944ba894700c6
Verified rootfs-based factory installers fail because the ROOT_SIZE_BYTES is
updated, but the information is not propagated to the boot.desc which
cros_make_image_bootable uses. The result is that mod_image_for_test
incorrectly appends the rootfs hash even though it is correctly computed.
Random note:
build_kernel_image uses dumpe2fs to compute the size, but
cros_make_image_bootable uses the supplied size. These shouldn't
diverge though the partition size should accomodate the addition of the
hashes.
TODO(wad) Add checking of sizes in cros_make_image_bootable
TEST=x86-generic build image with --enable_rootfs_verification and --factory_install; then put in a machine and it no longer spewed dm-verity hash errors and the root hash checked successfully!
BUG=chromium-os:5100
Review URL: http://codereview.chromium.org/3155025
Change-Id: I174e3661b80d83b25f3af95ff1eb77f634a7e797
Change-Id: I14cd9dc365093c0450210d7853ad5f67ffa0ddd0
BUG=chromium-os:5183
TEST=1) manually built a dev install shim and verified it's only bootable when dev switch is ON
Review URL: http://codereview.chromium.org/3153001
Adds arm_extra_bootargs to boot.desc and to cros_make_image_bootable.
TEST=tegra2 dev-board build_packages, build_image --fast worked
BUG=broken tree
Change-Id: Ifdfeda66f1eb5e5b1e618706eeba269f31fa9913
Review URL: http://codereview.chromium.org/3069031
Breaks make_image_bootable out of build_image into a separate
script. In addition, it make a helper .sh in the OUTPUT_DIR
to let make_image_bootable be re-run on an image with the same
arguments that were passed in via build_image.
This change also removes the use of the boot/ directory in
OUTPUT_DIR.
TEST=build_image verified; image_to_usb --test_image; booted l13
build_image; image_to_vm; qemu booted
build_image verified; image_to_usb; booted l13
BUG=chromium-os:5081
Review URL: http://codereview.chromium.org/3066037
Change-Id: I627d678089aa71c353347f387ad5b14063fd4e7b
build_image creates it after a successful build, and get_latest_image
can use it if it exists. Fall back to old behavior for now when there
are directories without a link.
BUG=none
TEST=Try building an image, check link. Rebuild, check new link.
Review URL: http://codereview.chromium.org/3014051
The fast build is stable enough now that we can enable it for everybody.
I ran the build constantly all weekend on two machines and I only ran into
one (rare) error, which I've fixed in a separate patch.
See <http://codereview.chromium.org/2856048/show>
TEST=Ran lots and lots of fast builds
BUG=none
Review URL: http://codereview.chromium.org/3059001
BUG=chromium-os:1888
TEST=Manual. build_image should run fine when oem_customization flag is not specified.
Review URL: http://codereview.chromium.org/3076009
The last changes to the installer broke image_to_vm. Since image_to_vm
doesn't need to run postinst, but just change the active image, it
now just calls chromeos-setimage and passes in its needed flags (already
supported by the last installer change). It will also detect whether
the image was built with verification of the rootfs enabled or not
by looking at the default.cfg file.
Also updates the location of where you should run the command in
build_image.
TEST=built a new image with --enable_rootfs_verification and started with qemu -curses -hda [output]; did the same without verification
BUG=chromium-os:2963
Review URL: http://codereview.chromium.org/3034030
Change-Id: I265d6ad8971f9427b78cc07d784fced9cceb5974
Instead of resizing the loop device after adding padding for the
hash tree data. Just ensure that the mkfs.ext3 call doesn't exceed
the rootfs size.
TEST=reran build_image on my lucid machine and checked the rootfs size; asked someone with hardy machine to test.
BUG=none
Change-Id: I59f95e1d17e35aca265bd44bb863da6069c05bd2
Review URL: http://codereview.chromium.org/3048009
This change adds
- --rootfs_hash_pad to specify the MBs reserved for the pad
- the implementation of the above flag
- check if total fs size + pad size exceeds the partition size
- hash appending in make_image_bootable()
Fixes:
- a style for ROOT_FS_HASH usage
- bad mount|grep
- bad bash subst for root devices in all boot paths
- fixed a typo in the update_bootloaders table creation
- disables verified usb for now
Adding the padding argument ensures that the generated hash tree for the root filesystem is appended to the image. Assuming the rootfs is _never_ mounted read-write
again, that hash tree will be valid and vboot will be able to proceed.
BUG=chromium-os:2693
TEST=manual build_image
Review URL: http://codereview.chromium.org/3043011
Change-Id: I67d9b0f91cacdefa309c0cc2dd7fed1d2eddd7a7
Instead of playing mount and loop device games, this change adds support for
update_bootloaders.sh to directly update the EFI system partition living in the
image if a file, offset, and size is supplied.
TEST=build_image for x86-generic; booted resulting image
BUG=broken build
Change-Id: I3d891fd965df6fb4abfc63d660e314c497a4184d
Review URL: http://codereview.chromium.org/3006006
Will Drewry is working on the proper fix, but this unblocks people who
build images that boot w/ syslinux.
Review URL: http://codereview.chromium.org/3009003
Added populating OEM partner partition with content.
Added creating flag file .consider_oobe for OEM partition to get mounted on OOBE.
BUG=http://crosbug.com/3828
TEST=Install Chrome OS on the device from USB stick. /mnt/partner_partition contains etc/... directory with customization manifests on first boot.
Review URL: http://codereview.chromium.org/2938003
An earlier CL modifies the vboot_reference ebuild to install the
keys into /usr/share/vboot.
TEST=verified that build_image fails without this change and no
vboot_reference checkout but succeeds with this change and no
vboot_reference checkout
Change-Id: Ie2bc1091b52c36fd56cd5f763ee275afc91765c3
Review URL: http://codereview.chromium.org/2896008
Adds the --install_syslinux to the update_bootloaders call for x86.
BUG=chromium-os:2693
TEST=build_image with both tegra2 and x86-generic in progress. Doesn't affect actual booting until we change the active gpt boot partition.
Review URL: http://codereview.chromium.org/2911003
The use_vboot and vboot_ flags were confusing from a functionality perspective
since verified boot as a feature encompasses firmware and kernel functionality.
The firmware bits are always enabled, but use_vboot enabled the image-integrity
portion of vboot. It is not called
--enable_rootfs_verification
and all options for the kernel functionality is under --verity_* given that
verity/dm-verity is the current working name for the module and userspace tool.
TEST=ran x86-generic build_image & tegra2-dev-board build_image and checked the resulting boot.config files (with and without --enable_rootfs_verification).
BUG=chromium-os:2693
Review URL: http://codereview.chromium.org/2917008
parallel_emerge prints a message every 30 seconds now so that buildbot doesn't
kill us early. Per discussion with cmasone, reverting the revert.
This reverts commit debaa3d8cf.
This reverts commit f0fb864e8d.
This change needs to be reverted because it suppresses logging output
from the build process. Thus, when something goes wrong...the
sherriff is left completely helpless in terms of debugging the issue.
TBR: davidjames@chromium.org
Also update eretry to not pass in $EMERGE_JOBS anymore, in coordination with my previous change, which passed it in directly instead of depending on eretry to do so: http://codereview.chromium.org/2944004/show
TEST=Ran build_image --jobs 2 and build_packages --jobs 2
BUG=none
Review URL: http://codereview.chromium.org/2914004
Right now, the created arm.mbr is the size of the ESP
partition. It should be truncated though to just the mbr size.
In addition, dm= doesnt do anything on arm yet so replacing use with a todo and adding a check if it isn't there.
TEST=manually ran
BUG=none
TBR=fes
This should fix the bad parsing and the failed archiving.
EMphasis on should. I'll keep monitoring.
TEST=in progress
BUG=none
Review URL: http://codereview.chromium.org/2812044