What's new?
- cros_mark_all_as_stable is now in Python and has unit tests.
- We now detect and report coding errors that can cause incorrect behavior.
E.g., if 9999 ebuild or stable ebuild can't be found, we report a hard
failure so that developers will know about the problem.
- We now check that git hashes we report actually match up with the
right repository.
- Unified diff of changes are now printed to stdout, so that developers
can see a list of the changes and debug any problems.
- cros_mark_all_as_stable now takes 2.5 seconds to run.
BUG=chromium-os:7795
TEST=Manually examined diff output from run of cros_mark_all_as_stable
on full repository.
Change-Id: I762597c9b94e5f8e8171b83c966ad54e21a65c1b
Review URL: http://codereview.chromium.org/3798003
We need to set these options in order to link the TPM driver in the kernel before we fix the PNP table in the firmware. This is the least disruptive change that makes the TPM available earlier in the boot sequence.
Change-Id: I729cd7c153507200e177895bae01951e97b70968
BUG=none
TEST=rebuilt kernel, reinstalled, booted, verified that tcsd still runs
Review URL: http://codereview.chromium.org/3969001
With new changes to the rootfs, if it is verified, it won't be
mountable rw. Since this script just copies out a file, making it
ro (instead of calling enable_rw_mount) seems to make sense.
TEST=?
BUG=chromium-os:7468
Change-Id: I0941e981826005cea1c70653c45c5ae2c5f5a9e0
Review URL: http://codereview.chromium.org/4027001
Use new helper for accessing a verified rootfs.
TEST=ran image_to_vm and it worked
BUG=tree b0rked
Change-Id: I03c1c55d1e1056081078cbdd8797235636d4845d
Review URL: http://codereview.chromium.org/4023001
echo -ne isn't portable but printf with octals is so this
makes the switch.
In addition, the current offset is off by 3 and is updating the UUID space.
This was from style cleanup and all functional test passed - of course.
This change fixes that too.
TEST=built and installed and checked ro enforcement works
BUG=chromium-os:7972
Change-Id: Ifb3cb2c6f3219af819baff5750453439e1ba6edf
Review URL: http://codereview.chromium.org/3997001
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 ensures that the Packages database doesn't contain private packages.
This is necessary so that the database matches up with the actual files
we upload.
BUG=chromium-os:4843
TEST=Ran unit test
Change-Id: I0355b4ab867a0d08396e45b04523a487951475f4
Review URL: http://codereview.chromium.org/3930001
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
dm_verity will wait for a device to be ready. This is needed in the factory installer so that
dmsetup doesn't fail early before the usb device is visible.
TEST=built images and booted them (x86-generic & factory installer)
Prior to commit, need to ensure dev_wait doesn't break unverified boot behavior
BUG=chromium-os:7451
Change-Id: I5b838b94e6a17dd0778331121311cdfe180991ce
Review URL: http://codereview.chromium.org/3936001
Change-Id: Idda6c7287cdb1863eb4abe8c56da2e763e9fe777
BUG=7926
TEST=Ran with --debug and verified I didn't push a change.
Review URL: http://codereview.chromium.org/3880002
This function is now called by enter_chroot.sh. A separate change
will call the function from make_chroot
Change-Id: I4fc07c413e56db3e5e7617428f20f2ffc02790d7
BUG=chromium-os:7072
TEST=Took root out of sudoers and ran enter_chroot.sh script; saw that it was re-added.
Review URL: http://codereview.chromium.org/3909001
Change-Id: I42741280656e9ee300dbc264ef7bf3345efa5223
BUG=
TEST=Ran it with test builder on own machine.
Review URL: http://codereview.chromium.org/3826015
This changes the format that I was updating from 'key value' to 'key=value'.
I modified my unittests to test this.
BUG=NA
TEST=Branch runs without commit.
Review URL: http://codereview.chromium.org/3858003
Change-Id: If83bf22fde6259b64fdd007066b5c46c7925d120
BUG=
TEST=Run a few tests inside and outside chroot
Review URL: http://codereview.chromium.org/3790005
Change-Id: I9dc535a7d1ee5feeb364456ca8ff367285cdad2b
BUG=
TEST=Ran with with a test suite with both passing / failing tests
Review URL: http://codereview.chromium.org/3814009
src.chromium.org is no longer supported for git operations.
BUG=chromium-os:7830
TEST=none
Change-Id: Ia7cd9ff76625441f16d20d2f9a8e0f752dca0586
Review URL: http://codereview.chromium.org/3782010
This reverts commit 365d4b0cc8.
Fix preflight breakage, this seems like the most possible cause. Will recommit if not.
BUG=
TEST=
Review URL: http://codereview.chromium.org/3767012
Change-Id: I93fe463fec77c445e7ff0ec86db25d5ef2997ad7
We always want to re-build packages we are revving, however, if the last
build succeeds in building but fails tests, we have a bad local cache that
has revved packages. This avoids this issue by working on all packages we
are revving.
Change-Id: I3bd7463a4090b1f007d09be81bdf65657bd9c3f3
BUG=7589
TEST=Ran it with cbuildbot.
Review URL: http://codereview.chromium.org/3745006
add -net nic,model=e1000 in start_kvm and in the suggested command as
output by image_to_vm.sh
Signed-off-by: Olof Johansson <olofj@chromium.org>
BUG=none
TEST=Boot an image, run lspci in a terminal, see intel nic
Review URL: http://codereview.chromium.org/3779007
Change-Id: Id7f614adec0ae69b8f4de152832538a13ea4cbad
BUG=7705
TEST=tried generating updates with and without the option
Change-Id: I45fccece0aa37c92e63427ea8f86e208f24253eb
Review URL: http://codereview.chromium.org/3782005
Autotest will not split comma separated arguments. The correct calling method for multiple arguments is to separate them by spaces and quote the whole thing. E.g., instead of:
./run_remote_tests --args arg1,arg2
It should be:
./run_remote_tests --args "arg1 arg2"
See line 140 in src/third_party/autotest/files/server/autoserv_parser.py for
confirmation.
Change-Id: I88d65c0bd144942a856c2f95371d5a55b0a3a172
BUG=
TEST=No code changes. Ran --help and --args to verify nothing dumb happened and the correctness of comment.
Review URL: http://codereview.chromium.org/3772002
This changes the behavior of ctest to try to grab the latest zip from the zip web pages if it can't use the latest link (due to IOError or none provided). It assumes they have an Apache server and they reference images using version->ChromeOS-version-.*.zip) for each board/channel.
Change-Id: I4ee075db7afd58c8d08f59aca2e69b5bab5ff5e9
BUG=7675
TEST=Ran it with -l "http://Doesnotexist" and also without a -l option. Added new unittests to test and ran them as well.
Review URL: http://codereview.chromium.org/3659002
The "emerge" process sometimes copies files to /var/tmp
and then run it. Recent changes to images set the
"noexec" flag on /var, thus preventing such activities.
Temporarily clear this flag from within cros_package_to_live.
BUG=none
TEST=Manually set noexec on /var and run cros_package_to_live
Review URL: http://codereview.chromium.org/3739001
Mark all ebuilds in chromiumos-overlay and chromeos-overlay as stable and
point them at the current version we have checked out.
This is useful in case we want to verify that all ebuilds are pointing at the
right commit hash when we are doing a build on a branch. It is intended to be
used prior to tagging and can be used instead of a preflight queue. It is an
alternative to cros_mark_all_as_stable that does not require a chroot and
does not increase the revision number on ebuilds.
Unlike cros_mark_all_as_stable, which only updates the latest stable ebuild
for a given board, this script updates all stable ebuilds for all boards,
including unused stable ebuilds. We do this for the sake of simplicity
because it's hard to know in advance which ebuilds are truly unused, and it
shouldn't hurt to update unused ebuilds.
This script does not support cros_mark_as_stable_blacklist. If there are any
packages in the blacklist, this script exits with an error message.
TEST=Ran this script to point power_manager at branch and tested that we
built power_manager from the branch.
BUG=chromium-os:7218, chromium-os:6429
Change-Id: Ib2308806c5a4db979b1245a90407fd5b6353e4fd
Review URL: http://codereview.chromium.org/3607014
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
cros_mark_as_stable.py was updated on Sep 8, but the unit test was not updated
to match. This patch fixes the unit test.
BUG=chromium-os:7586
TEST=Ran unit test.
Change-Id: I283ef33e172a95efc41b4090dc4f67c9d84dd9a3
Review URL: http://codereview.chromium.org/3682003
1) image_to_vm aborts because e2fschk requires a terminal to
be connected in order to check whether or not you want to repair the fs. Since
we always want this to be true, set -p
2) Clean up test harness to only verify the number of tests that passed on the
base image are the same on the update back to. This is because older images
have many tests that fail. I leave 10% as a reasonable number to pass.
3) Redirect output from autotest in run_remote_tests to stderr so it gets
logged in a calling script that captures stdout.
Change-Id: If412274353683add20d136747113eb9c2bd41330
BUG=4690, 5533, 7287
TEST=Ran with internal tools for builders.
Review URL: http://codereview.chromium.org/3536018