Commit Graph

2074 Commits

Author SHA1 Message Date
Liam McLoughlin
c9f1dab46e Added sudo to VBoxManage call, to fix permission denied error when building a VirtualBox image
BUG=None
TEST=Run image_to_vm.sh to build a VirtualBox image for the x86-generic board, confirm image builds successfully

Change-Id: I3ce9aac1eef6dfa695747e92e7d7e75ddd524027
Reviewed-on: https://gerrit.chromium.org/gerrit/12449
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Liam McLoughlin <hexxeh@hexxeh.net>
Commit-Ready: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Jon Kliegman <kliegs@chromium.org>
2012-01-09 16:25:34 -08:00
Yunlian Jiang
aa52807720 Reduce the number of glibc patches
Changed the glibc version

BUG=none
TEST="cbuild bot x86-alex-release, lumpy-release,amd64-generic-full,arm-tegra2_kaen-release, all passed"

CQ-DEPEND=I26f8b017fd4c0277685f88496a413fc295b7d58e

Change-Id: I1bc4eded6526b980f532f7b32d453ca7c7ada11a
Reviewed-on: https://gerrit.chromium.org/gerrit/13383
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
2012-01-09 15:05:09 -08:00
Doug Anderson
2dd2e8ea91 Moved setting of kern_guid kernel arg from platform-specific to common.
There was no reason for it to be platform-specific.  Original CL
that added it to ARM (it was already there for x86) is:
<http://gerrit.chromium.org/gerrit/1467>

This change is in preparation for moving platform-specific bits
into ebuilds.

BUG=chromium-os:24808
TEST=Validated that kern_guid gets set properly.

Change-Id: I5544ad3730e05128c0a9b0a4a3a8aee80ef31df5
Reviewed-on: https://gerrit.chromium.org/gerrit/13821
Tested-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
2012-01-09 11:59:21 -08:00
David James
710a7d15e2 Remove hacks for supporting old versions of emerge from build_packages.
Now that emerge supports the flags needed to build packages, we don't
need to special-case it anymore.

BUG=chromium-os:24497
TEST=Trybot run.

Change-Id: I4ca1cd22c309f97fc14f1d7b9eede9128b7f0be1
Reviewed-on: https://gerrit.chromium.org/gerrit/13389
Reviewed-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
2012-01-06 15:25:30 -08:00
Mike Frysinger
db0f538d44 update hooks: smooth out the dev-vcs migration
Not everyone got a smooth migration for git/subversion from dev-util
to dev-vcs, so add a hook to manually unmerge the old versions.  The
newer packages should recover gracefully after that.

BUG=chromium-os:24360
TEST=build_packages ran ver 23 upgrade and continued on

Change-Id: I0b56f0f0a8b8a7ebd64a4a664e5524f0b7828791
Reviewed-on: https://gerrit.chromium.org/gerrit/13663
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
2012-01-05 11:55:44 -08:00
Chris Sosa
93e7b78eea Fix bug with building on the base image with build_image base.
This comes from not correctly negating all FLAGS and also the weird
way we set PRISTINE_IMAGE_NAME.  Addressed in both cases and
simplified FLAGS_* logic in build_image_util.sh

BUG=chromium-os:24627
TEST=build_image base so far.

Change-Id: I92e8550db3ea713cda1f997b702777035145d8d5
Reviewed-on: https://gerrit.chromium.org/gerrit/13636
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
2012-01-05 11:55:43 -08:00
Han Shen
0628fadf9d (Part 4 of 4) (re)Roll out "-fstack-protector-strong" which replaces
"-fstack-protector-all".

Rollout gcc-4.6.0 ebuild r12 that support a new stack protection
option "-fstack-protector-strong".

BUG=None
TEST=manually - build amd64-generic and x86-zgb from scratch.

Change-Id: I35dc315ef376467256266a62cf9e584b8bb3c8e5
Reviewed-on: https://gerrit.chromium.org/gerrit/13546
Tested-by: Han Shen <shenhan@google.com>
Reviewed-by: Han Shen <shenhan@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Han Shen <shenhan@chromium.org>
2011-12-30 10:20:37 -08:00
Sonny Rao
f1c1087618 Revert "(Part 4 of 4) Roll out "-fstack-protector-strong" which replaces "-fstack-protector-all"."
This reverts commit 776802c3580260288c78201e444f05ef856db856

needs fix to 3/4 before landing
Change-Id: Id17c3096893ca1e4d5cd57ed8fa9fda029519466
2011-12-29 12:37:57 -08:00
Han Shen
b2237726e5 (Part 4 of 4) Roll out "-fstack-protector-strong" which replaces
"-fstack-protector-all".

Rollout gcc-4.6.0 ebuild r11.

Chrome OS security team has reviewed the design and implementation,
which can be found here -
https://docs.google.com/document/d/1xXBH6rRZue4f296vGt9YQcuLVQHeE516stHwt8M9xyU/edit?hl=en_US&ndplr=1&pli=1

This introduces performance changes as listed below:
===============================================================
Benchmark Summary Table: desktopui_PageCyclerTests
1: /usr/local/google/chromeos-newest-clone/src/build/images/x86-zgb/R18-1471.0.2011_12_21_1822-a1/chromiumos_image.bin Page (5 runs)
2: /usr/local/google/chromeos-newest/src/build/images/x86-zgb/R18-1471.0.2011_12_21_2109-a1/chromiumos_image.bin Page (5 runs)
Summary Table   1       2
desktopui_PageCyclerTests/desktopui_PageCyclerTests     ALL_PASS (x)    ALL_PASS (x)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Alexa_usFile       231 (+0.0%)     214 (-7.0%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.BloatFile  23899 (+0.0%)   21567 (-9.8%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.DhtmlFile  649 (+0.0%)     621 (-4.3%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Intl1File  472 (+0.0%)     437 (-7.3%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Intl2File  712 (+0.0%)     657 (-7.7%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.MorejsFile 695 (+0.0%)     659 (-5.2%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Moz2File   195 (+0.0%)     179 (-7.8%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.MozFile    195 (+0.0%)     179 (-8.2%)

Benchmark Summary Table: platform_BootPerfServer
1: /usr/local/google/chromeos-newest-clone/src/build/images/x86-zgb/R18-1471.0.2011_12_21_1822-a1/chromiumos_image.bin BootPerfServer (10 runs)
2: /usr/local/google/chromeos-newest/src/build/images/x86-zgb/R18-1471.0.2011_12_21_2109-a1/chromiumos_image.bin BootPerfServer (10 runs)
Summary Table   1       2
platform_BootPerfServer ALL_PASS (x)    ALL_PASS (x)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf       ALL_PASS (x)    ALL_PASS (x)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   mhz_primary_cpu     1662 (+0.0%)    1662 (+0.0%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_chrome_exec       1.3e+08f (+0.0%)        1.3e+08f (+1.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_chrome_main       1.5e+08f (+0.0%)        1.4e+08f (-3.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_login     1.5e+08f (+0.0%)        1.4e+08f (-3.8%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_startup   3519829 (+0.0%) 3435861 (-2.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_startup_done      9014272 (+0.0%) 8776704 (-2.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_x_started 1.2e+08f (+0.0%)        1.2e+08f (+3.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   reboots_in_syslog   18.1 (+0.0%)    37.3 (+105.5%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_firmware_boot       36.7 (+0.0%)    36.5 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_chrome_exec       4.81 (+0.0%)    4.78 (-0.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_chrome_main       5.05 (+0.0%)    4.93 (-2.3%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_login     6.76 (+0.0%)    6.59 (-2.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_network   6.97 (+0.0%)    6.99 (+0.3%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_startup   2.08 (+0.0%)    2.03 (-2.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_startup_done      2.87 (+0.0%)    2.83 (-1.5%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_x_started 4.67 (+0.0%)    4.64 (-0.8%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_kernel  36.7 (+0.0%)    36.5 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lf_end  1.77 (+0.0%)    1.77 (-0.1%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lf_start        1.04 (+0.0%)    1.04 (+0.0%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lk_end  36.4 (+0.0%)    36.2 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lk_start        36.2 (+0.0%)    36.1 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_login   43.4 (+0.0%)    43.1 (-0.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_reboot_time 41.6 (+0.0%)    41.3 (-0.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_shutdown_time       41.6 (+0.0%)    41.3 (-0.7%)

Benchmark Summary Table: desktopui_V8Bench
1: /usr/local/google/chromeos-newest-clone/src/build/images/x86-zgb/R18-1471.0.2011_12_21_1822-a1/chromiumos_image.bin V8Bench (20 runs)
2: /usr/local/google/chromeos-newest/src/build/images/x86-zgb/R18-1471.0.2011_12_21_2109-a1/chromiumos_image.bin V8Bench (20 runs)
Summary Table   1       2
desktopui_V8Bench/desktopui_V8Bench     ALL_PASS (x)    ALL_PASS (x)
desktopui_V8Bench/desktopui_V8Bench   score_crypto      3125 (+0.0%)    3144 (+0.6%)
desktopui_V8Bench/desktopui_V8Bench   score_deltablue   3109 (+0.0%)    3050 (-1.9%)
desktopui_V8Bench/desktopui_V8Bench   score_earleyboyer 4366 (+0.0%)    4372 (+0.1%)
desktopui_V8Bench/desktopui_V8Bench   score_raytrace    2034 (+0.0%)    2059 (+1.2%)
desktopui_V8Bench/desktopui_V8Bench   score_regexp      568 (+0.0%)     578 (+1.7%)
desktopui_V8Bench/desktopui_V8Bench   score_richards    2556 (+0.0%)    2544 (-0.5%)
desktopui_V8Bench/desktopui_V8Bench   score_splay       750 (+0.0%)     941 (+25.5%)
desktopui_V8Bench/desktopui_V8Bench   score_total       1892 (+0.0%)    1954 (+3.3%)

bvt and suite_Smoke all pass.
=================================

BUG=None
TEST=manually - build amd64-generic and x86-zgb from scratch.
CQ-DEPEND=I088ee61487194ea4e4407307a1c33af40d292265

Change-Id: Id4c5af610f01a96fbdfe30e345f73b9e9a55e050
Reviewed-on: https://gerrit.chromium.org/gerrit/13503
Tested-by: Han Shen <shenhan@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Han Shen <shenhan@chromium.org>
2011-12-29 11:05:45 -08:00
Olof Johansson
296adf0720 Install kernels on partition 12 on arm
This is needed on some ARM boards where ext2 filesystem reading isn't an option,
and where verified boot isn't in use, i.e. with legacy firmware. x86 stores the
kernel here as well.

BUG=none
TEST=build_image on an arm board and check contents for vmlinuz.A and vmlinuz.uimg.A on
partition 12

Change-Id: I89b652cb6ea7ece1627b20be30492100f8db0770
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/13441
2011-12-23 08:49:04 -08:00
Brian Harring
301fae6062 this script is used to validate that third party autotest control files are well formed.
Nothing is using it in code and it seems to be under most folks radar- thus remove it
(possibly have it reapear in thirdparty/autotest if it's actually needed).

BUG=None
TEST=N/a

Change-Id: Ie3f43aa427c6cc35aa6f96d8c8631c4b8bff6347
Reviewed-on: https://gerrit.chromium.org/gerrit/4668
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
2011-12-22 18:43:57 -08:00
Olof Johansson
ffe3b85392 Revert "Install kernels on partition 12 on arm"
This reverts commit 1d20fe6813b991899900aaa4f92b965a8f0b511d

Change-Id: I2d07c4c16e56841e397ee62d0371c5edc85c8364
Reviewed-on: https://gerrit.chromium.org/gerrit/13439
Commit-Ready: Olof Johansson <olofj@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Ryan Cui <rcui@chromium.org>
Tested-by: Ryan Cui <rcui@chromium.org>
2011-12-22 15:00:14 -08:00
Olof Johansson
2c994ad1ca Install kernels on partition 12 on arm
This is needed on some ARM boards where ext2 filesystem reading isn't an option,
and where verified boot isn't in use, i.e. with legacy firmware. x86 stores the
kernel here as well.

BUG=none
TEST=build_image on an arm board and check contents for vmlinuz.A and vmlinuz.uimg.A on
partition 12
CQ-DEPEND=I81df8471fba34e264ada8fd6f12122d87fbf22d9

Change-Id: I39541644845dde4ff6ddc288afa0ed339ab0d05b
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/12996
2011-12-22 14:08:48 -08:00
Mike Frysinger
bc36d041f0 get_default_board: detect invalid user settings
If people have whitespace in their .default_board setting, then the cros
utils will act weirdly.  Some work the same as if there was no whitespace
(probably because the variable is used unquoted) while others error out
with weird messages (because the variable is used quoted).

Update the helper function to only allow certain characters in the name.

BUG=None
TEST=`printf 'x86-alex\n' > .default_board; cros_workon list --all` works
TEST=`printf 'x86-alex\t\n' > .default_board; cros_workon list --all` errors out

Change-Id: Id83794c13bfddb7fb56b7f8ed8a375eefe6096e0
Reviewed-on: https://gerrit.chromium.org/gerrit/13151
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-20 14:38:57 -08:00
Mike Frysinger
b623f321b9 setup_board: lock in new 3.1 kernel headers
BUG=chromium-os:14334
TEST=`emerge sys-kernel/linux-headers` now pulls in version 3.1 & works
TEST=`emerge cross-armv7a-cros-linux-gnueabi/linux-headers` now pulls in version 3.1 & works
TEST=`emerge cross-i686-pc-linux-gnu/linux-headers` now pulls in version 3.1 & works
TEST=`emerge cross-x86_64-cros-linux-gnu/linux-headers` now pulls in version 3.1 & works
TEST=`cbuildbot chromiumos-sdk` worked
TEST=`cbuildbot amd64-generic-full` passes
TEST=`cbuildbot arm-generic-full` passes
TEST=`cbuildbot x86-generic-full` passes
TEST=build_packages+build_image for x86-alex boots
CQ-DEPENDS=13082

Change-Id: I20460c174570ff004be14e82863aab316a1fb572
Reviewed-on: https://gerrit.chromium.org/gerrit/13083
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-19 09:39:43 -08:00
Brian Harring
78c4e2fe6e remove dead sysroot_wrapper
While we do use sysroot_wrapper bits in the chroot, we do not
use the target of this symlink (nor do we want it in our PATH).

BUG=chromium-os:24111
TEST=cbuildbot x86-alex

Change-Id: I7cf44ac32494dfaac683a4442d30f278bbcfb38c
Reviewed-on: https://gerrit.chromium.org/gerrit/13065
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
2011-12-16 12:20:06 -08:00
David James
49a9282db2 setup_board: Move PFQ prebuilt URLs from chromeos-overlay to chromeos-partner-overlay.
This change makes it possible for partners to access internal prebuilts.
Note that partners will only have access to the actual prebuilts referenced
here if they have access to the right Google Storage key, which are stored
in the overlays themselves.

BUG=chrome-os-partner:7186, chromium-os:17346
TEST=Verify that setup_board now pulls internal prebuilts from chromeos-partner-overlay
     instead of chromeos-overlay.
CQ-DEPEND=13071

Change-Id: Ia5220002a18593e614ee67ccad16bb295c8b6d0b
Reviewed-on: https://gerrit.chromium.org/gerrit/13072
Reviewed-by: Ryan Cui <rcui@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2011-12-15 20:39:57 -08:00
Mike Frysinger
ed77c70aed ignore cbuildbot_package.list file
My cbuildbot run is creating this file.  I don't care about it -> ignore!

BUG=None
TEST=`git status` no longer lists cbuildbot_package.list

Change-Id: I95ac49c84d628fbb52dda8f1df63ab6394e5df8f
Reviewed-on: https://gerrit.chromium.org/gerrit/12957
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-14 20:57:10 -08:00
Mike Frysinger
1a39550084 setup_board: do not check for gdb with arm-eabi toolchain
Looks like there was a desync between adding gdb support and arm-eabi
support.  We don't provide gdb for the arm-eabi toolchain, so don't
consider it when looking for updates.  Otherwise we end up constantly
re-installing the arm-eabi toolchain because there are "updates".

BUG=None
TEST=setup_board for x86-alex stops re-installing the arm-eabi toolchain everytime

Change-Id: I099bc6a411b6cacdd3d7cdd5e4eb872a937678bd
Reviewed-on: https://gerrit.chromium.org/gerrit/12905
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-14 09:45:59 -08:00
Brian Harring
cb782248d4 transfer setup_board and build_parents into crosutils
Due to historical reasons, these scripts have existed at
chromiumos-overlay/chrome/scripts, but have belonged
in src/scripts (previously accessed by symlinks here
pointing to their locations).

Transfer them in, rather than relying on symlinks; this
gets us atomic commits w/in crosutils in the process.

Scripts were imported as of 604e3722af59164bc97aa5dcd1407e36495c96d7

BUG=chromium-os:24111
TEST=cbuildbot x86-generic-full

Change-Id: I689f7e05a25d427e24372f206bdb0779bf857820
Reviewed-on: https://gerrit.chromium.org/gerrit/12893
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
2011-12-13 21:29:35 -08:00
Mike Frysinger
9de707f77e enter_chroot: skip ssh agent dir if it is invalid
On long running systems, the ssh-agent dir might go stale.  This should
not prevent entering the cros chroot though, so skip it if it's invalid.

BUG=None
TEST=`cros_sdk` enters with ssh-agent dir bind mounted
TEST=`rm -rf /tmp/ssh-*/; cros_sdk` enters with ssh-agent dir skipped

Change-Id: I923b031612c0d37a896437c7355cac6c448eef82
Reviewed-on: https://gerrit.chromium.org/gerrit/12758
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-12 15:40:58 -08:00
Jim Hebert
a63da3a776 Make mod-for-test enable full root usage of dbus-monitor
BUG=chromium-os:23903
TEST=full build of x86-zgb, mod_for_test, boot; run dbus-monitor
on tty2 as root, log in, switch back and observe all the dbus
traffic.

Change-Id: Iccdb47bec97260108c73cf346c91c2d9e8c2bc18
Reviewed-on: https://gerrit.chromium.org/gerrit/12593
Commit-Ready: Jim Hebert <jimhebert@chromium.org>
Reviewed-by: Jim Hebert <jimhebert@chromium.org>
Tested-by: Jim Hebert <jimhebert@chromium.org>
2011-12-09 16:35:27 -08:00
Zdenek Behan
49a8e9687f upgrade hook: move PS1 niceties from .bashrc to profile.d
This solves two problems (and half):
a) messing with user's preference file is a no-no, if we want a
hardcoded behaviour like this, profile.d is the way to go
b) .bashrc settings are overridden when doing env-update; source
/etc/profile
c) profile.d will also apply to root (although not with sudo su)

BUG=none
TEST=below
1) ./run_chroot_version_hooks --version 21
2) see all fixed, source /etc/profile, and still see my prompt unchanged

Change-Id: I25b4602f4951b17815bcd312a8249320784c67e1
Reviewed-on: https://gerrit.chromium.org/gerrit/12539
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
2011-12-09 12:00:59 -08:00
Gilad Arnold
1702be631c Do not pass dm-verity options to build_kernel_image.
* Since dm-verity arguments are now read from the install image upon
  recovery, we need not use them in build_kernel_image.

* Also, don't expect or remove /tmp/rootfs.hash, which will not be
  generated by build_kernel_image.

* Cleanup of dead code following the elimination of use of root_dev.

* Updated ASCII art for success/failure condition.

* See corresponding changes to initramfs script (extract verity args
  from install kernel) and chromeos-initramfs ebuild (pull
  dump_kernel_config).

BUG=chromium-os:22530
TEST=Built and successfully installed recovery image on CR-48

Change-Id: I3536c88537bbce277f79f17b676231b67337a0d1
Reviewed-on: https://gerrit.chromium.org/gerrit/12646
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
Commit-Ready: Gilad Arnold <garnold@chromium.org>
2011-12-08 14:21:06 -08:00
Gilad Arnold
0c563c6704 Revert "Do not pass dm-verity options to build_kernel_image."
This reverts commit 99182997f90041870db9038837c04be973999800

CL was committed unintentionally; it depends on two other CLs that were not committed yet.

Change-Id: Ica5820b31d7f6857c0553cedb642ee17f5109da9
Reviewed-on: https://gerrit.chromium.org/gerrit/12587
Commit-Ready: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
2011-12-07 15:45:16 -08:00
Gilad Arnold
826878c84c Do not pass dm-verity options to build_kernel_image.
* Since dm-verity arguments are now read from the install image upon
  recovery, we need not use them in build_kernel_image.

* Also, don't expect or remove /tmp/rootfs.hash, which will not be
  generated by build_kernel_image.

* Cleanup of dead code following the elimination of use of root_dev.

* Updated ASCII art for success/failure condition.

* See corresponding changes to initramfs script (extract verity args
  from install kernel) and chromeos-initramfs ebuild (pull
  dump_kernel_config).

BUG=chromium-os:22530
TEST=Built and successfully installed recovery image on CR-48

Change-Id: I146b6ad707d96c9fbc8731a73ae079e80902a565
Reviewed-on: https://gerrit.chromium.org/gerrit/12335
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
2011-12-07 14:39:03 -08:00
Mike Frysinger
a19cf6e2db build_image: handle diff mount output
Newer versions of util-linux's mount utility will not show:
	/dev/loop0 on /some/path type ext3 (mount,opts)
Instead, it finds out the file backing /dev/loop0 and outputs:
	/some/file on /some/path type ext3 (mount,opts)

This breaks the make_image_bootable helper that attempts to look up the
loop device that mount_gpt_image.sh happened to pick.

Let's scuttle the idea of parsing `mount` and move directly to what the
kernel has to say via /proc/mounts.  Hopefully the ABI there should be
quite a bit more stable.

BUG=None
TEST=build_image works with mount from util-linux-2.16
TEST=build_image (before change) fails with mount from util-linux-2.19
TEST=build_image works with mount from util-linux-2.19

Change-Id: I66908800e82ff2e106face9d57773721e400dc2a
Reviewed-on: https://gerrit.chromium.org/gerrit/11869
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-01 11:46:16 -08:00
Paul Taysom
7af7cb595b Use ext4 format for stateful partition
This is final step in ext4 conversion. We have been running with
the ext4 file system but ext3 format for several weeks. This changes
uses the ext4 format for the stateful partition.

Removed make_developer_script_runner.sh as per review.

BUG=chromium-os:20012
TEST=Ran ext4 on all platforms

Change-Id: I8e1564bfa576e9a0ad810879c18223a6c68b18e1
Reviewed-on: https://gerrit.chromium.org/gerrit/11220
Commit-Ready: Paul Taysom <taysom@google.com>
Reviewed-by: Paul Taysom <taysom@google.com>
Tested-by: Paul Taysom <taysom@google.com>
2011-12-01 11:21:57 -08:00
Darin Petkov
597a79dc85 Fail 'build_image test' if a mod-for-test script fails.
It seems better to catch issues earlier during the build phase rather than later
during the actual test run. Prompted to do this after debugging
crosbug.com/21837.

BUG=chromium-os:23422
TEST=build_image test for x86-alex, amd64-generic, tegra2_kaen with no failures;
build_image factory_test for x86-alex with no failures; also verified that
build_image exits early with a non-zero exit code for amd64-generic without the
fix for crosbug.com/21837.

Change-Id: Ibdcf770d1d854d5a6765734556cf6ee8fc4aae96
Reviewed-on: https://gerrit.chromium.org/gerrit/12102
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
2011-11-28 14:10:46 -08:00
Jonathan Kliegman
ae6baa2ea7 Add retry to update_bootloaders.sh cleanup function
Race conditions could prevent /tmp/esp.* from being properly unmounted
if it was quickly mounted then unmounted.  If the umount fails,
sleep briefly and then retry.

BUG=chromium-os:23442,chromium-os:23443
TEST=Ran build_image --test, saw umount failure but after script finished
  saw that directory was unmounted on second attempt so no leakage

Change-Id: I5b2260f5c99fcfa66027ebcfd69b6e3d5afe4b91
Reviewed-on: https://gerrit.chromium.org/gerrit/12115
Tested-by: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Jon Kliegman <kliegs@chromium.org>
2011-11-28 09:07:48 -08:00
Jonathan Kliegman
f02a0dae85 Remove mounts from /tmp/esp.* as well
/tmp/esp.* mountpoints are being leaked in update_bootloaders so clean
these up too.

BUG=chromium-os:23442
TEST=With stale mounts existing, run script. Observe mounts gone

Change-Id: I95729bd7330157d02f27f86da495642263fe8ff6
Reviewed-on: https://gerrit.chromium.org/gerrit/12114
Tested-by: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Jon Kliegman <kliegs@chromium.org>
2011-11-25 14:02:52 -08:00
Sean Paul
97df39f63a Uninstall GRUB 1.99 from chroot in favour of 1.97
See CL https://gerrit.chromium.org/gerrit/#change,11951 for the original CL.

BUG=chromium-os:23407
TEST=Tested on chroot synced on 23/11/11

Change-Id: I039d6b6ee06617dfa9263eab4fe83e128f0773b4
Reviewed-on: https://gerrit.chromium.org/gerrit/12106
Reviewed-by: Peter Mayo <petermayo@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Tested-by: Sean Paul <seanpaul@chromium.org>
Commit-Ready: Sean Paul <seanpaul@chromium.org>
2011-11-24 13:37:36 -08:00
Sonny Rao
de2b30af45 Fix mod_for_test scripts to recognize amd64 as a valid architecture
BUG=chromium-os:21837
TEST=suite_Smoke passes on amd64-generic

Change-Id: I748eeae24e431f11a9fdaaa51656c7e4fa0bca4e
Reviewed-on: https://gerrit.chromium.org/gerrit/12090
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
2011-11-23 16:17:54 -08:00
Matt Tennant
63c3cc56b3 Update the ssh/config filters in enter_chroot.sh
The current instructions for golo access include additions to the
~/.ssh/config file that are specific to Google distros of ssh.  The
filtering mechanism in enter_chroot needed an update to include
these new options to filter out.

BUG=chromium-os:23322
TEST=With a golo-configured .ssh/config, enter chroot and test ssh:
> cros_sdk
> git remote update
Fetching ...
...

Change-Id: Ida9fcdff37ff0eb24c811ad789f82136dca7252f
Reviewed-on: https://gerrit.chromium.org/gerrit/12037
Tested-by: Matt Tennant <mtennant@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Matt Tennant <mtennant@chromium.org>
2011-11-22 15:15:16 -08:00
Mike Frysinger
7cd3c285d2 run_chroot_version_hooks: sanity check for multiple upgrades hooks
If people land upgrade hooks of the same version levels independently and
no one notices, we get into an inconsistent state where only one of the
hooks actually runs.  Add a sanity check so we bail rather than upgrading
the chroot with an arbitrarily picked script.

BUG=None
TEST=run build_packages with multiple 17_xxx files in a ver 16 chroot and see script error out
TEST=run build_packages with single 17_xxx file in a ver 16 chroot and see successful run

Change-Id: If9a71f60badb7c9643c1a03ad49bb23ffb64f341
Reviewed-on: https://gerrit.chromium.org/gerrit/11972
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-11-20 15:22:24 -08:00
Mike Frysinger
f331598aa9 update hooks: delete board /etc/portage/bashrc
The bashrc that is in each board's /etc/portage/ dir is an old tool from
crossdev which we no longer use/need, so drop it.  Especially since it
conflicts with newer bashrc profile stacking.

BUG=chromium-os:21276
TEST=chroot updated to 18 and all /etc/portage/bashrc files in /board/*/ are gone

Change-Id: I51688ce6c04e91506113d920bf1a50a6a822d2f3
Reviewed-on: https://gerrit.chromium.org/gerrit/11908
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-11-20 14:21:48 -08:00
Anush Elangovan
7f15be2102 Mid air collision of upgrade script 17_*
Move grub upgrade to 18_
Move sudo upgrade to 19_
Empty out old 17_

BUG=chromium-os:21244
TEST=manual inspection

Change-Id: Iaffbe75022e3287f2071dae46d5010a1b10d27d3
Reviewed-on: https://gerrit.chromium.org/gerrit/11971
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Anush Elangovan <anush@chromium.org>
Tested-by: Anush Elangovan <anush@chromium.org>
2011-11-18 23:04:35 -08:00
Anush Elangovan
8d3ea4b7e8 Uninstall old grub in the chroot
BUG=chromium-os:21244
TEST=./build_packages unmerges old grub and installs new one (with related change)

Change-Id: Iadfbd219a989f71258786591c047ace3931f1e9c
Reviewed-on: https://gerrit.chromium.org/gerrit/11951
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Anush Elangovan <anush@chromium.org>
2011-11-18 21:23:13 -08:00
Mike Frysinger
48edc99a55 update hooks: migrate sudoers tweaks with older chroots
The make_chroot script was upgraded to add its customizations to a file
in /etc/sudoers.d/ instead of modifying /etc/sudoers.  Then the sudo
ebuild was updated to not modify /etc/sudoers anymore.  This meant for
older chroots, the customizations that make_chroot added were lost in
the process.

Add an upgrade hook that creates the split /etc/sudoers.d/ file for older
chroots that did not go through the newer make_chroot.

BUG=chromium-os:11991
TEST=set chroot to 16, deleted file, ran build_packages: chroot updated to 17 and created correct /etc/sudoers.d/90_cros file
TEST=set chroot to 17, create /etc/sudoers.d/90_cros, ran build_packages: chroot updated to 17 and left existing file alone

Change-Id: I279ac3e15380e02b50a752a62cecbd94171fd724
Reviewed-on: https://gerrit.chromium.org/gerrit/11774
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-11-18 16:21:38 -08:00
Anush Elangovan
2d7d6fd17b Enhance build_image to support new grub2 1.99+
BUG=chromium-os:21244
TEST=./build_image works with both old and new grub

Change-Id: Idca80f777b7da72da1690bc374a156f910d487b0
Reviewed-on: https://gerrit.chromium.org/gerrit/11876
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Anush Elangovan <anush@chromium.org>
Commit-Ready: Anush Elangovan <anush@chromium.org>
2011-11-18 16:21:35 -08:00
J. Richard Barnette
7f48fbd72c Remove the now obsolete make_chroot.
The script was here to provide transitional notice to developers;
it is no longer needed.

BUG=None
TEST=None

Change-Id: Idfaae066bfb929caa306e1adbf8055a5fe4e69f5
Reviewed-on: https://gerrit.chromium.org/gerrit/11882
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
2011-11-17 18:11:27 -08:00
David James
42f4c75ad7 Update KVM to simulate up to 4 CPUs.
This allows KVM stage to run significantly faster. On
my machine, with this change I was able to run the pre-flight
queue VM update tests in ~369 seconds, compared to the normal
time of >1000 seconds.

BUG=chromium-os:23112, chromium-os:22784
TEST=Verify speed increase, trybot runs.

Change-Id: Ic27dd1719573fb50a412a0cfe39adf5408493ea8
Reviewed-on: https://gerrit.chromium.org/gerrit/11835
Commit-Ready: David James <davidjames@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2011-11-16 20:02:45 -08:00
Anush Elangovan
d2ea8338fe Use 64bit dump_syms for generating minidump syms on amd64
This is very inefficent in calling dump_syms sequentially this can be parallelized easily and reduce the time it takes (~6mins)

BUG=chromium-os:21914
TEST=./cros_generate_breakpad_symbols --board=x86-alex, amd64-corei7

Change-Id: Ic9d3bbcd2dbccfaeb01e60d757549dcb5c45c03b
Reviewed-on: https://gerrit.chromium.org/gerrit/11747
Reviewed-by: Michael Krebs <mkrebs@chromium.org>
Tested-by: Anush Elangovan <anush@chromium.org>
2011-11-15 18:25:00 -08:00
Pawel Osciak
a2c2375c18 build_kernel_image: disable text cursor on ttys by default
This disables text cursor on ttys by default to get rid of a black
rectangle showing up during but on splash screen.

BUG=chromium-os:22879
TEST=manual boot on Alex

Change-Id: I06c50034c03488e49f88e01152cdceeee4f49a24
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11730
Reviewed-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
2011-11-15 18:02:52 -08:00
Anush Elangovan
d39f1de7e5 Increase factory shim rootfs to 320MB to accomodate larger 64bit binaries
I will attempt to shrink this rootfs size back to the original size.

BUG=chromium-os:22932
TEST=./build_image --board=amd64-corei7 --noenable_rootfs_verification --symlink=factory_shim factory_install

Change-Id: I3bf571c569330480293f35ec3390c9ab6b76f4e2
Reviewed-on: https://gerrit.chromium.org/gerrit/11637
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Tested-by: Anush Elangovan <anush@chromium.org>
Commit-Ready: Anush Elangovan <anush@chromium.org>
2011-11-14 15:02:53 -08:00
Mike Frysinger
286b5928c8 enter_chroot: merge multiple mount requests into a single sudo
Every invocation of `sudo` delays things, so merge all of the mounts
into a single `sudo` command when possible.  This saves over 1 second
on initial execution (out of ~4 seconds total).

BUG=None
TEST=`cros_sdk --enter true` still mounts & unmounts properly

Change-Id: Ibc66507dc21250a81207d2f940645eaebe93c79c
Reviewed-on: https://gerrit.chromium.org/gerrit/10901
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2011-11-14 13:42:21 -08:00
Jonathan Kliegman
23301afb5f Modify zero-free_space to sync the file and remove within it
There appear to be race conditions in some environments around mounting
and unmounting a file system quickly failing due to a device in use error.

This change removes the extra umount/mount/rm/umount sequence around
rootfs/filler which was done to ensure the file was being synced to disk.

Instead the dd command has added conv=fdatasync which causes it to sync
the file to disk on completion.

This also fixes a possible loopback device leak where the unmount would fail
and then build output directory deletion would fail because the rootfs was
still mounted, leaking both disk space and loopback devices.

BUG=chromium-os:22308
TEST=Ran filefrag on filler, validated that rootfs.image has blocks of 0 bytes
  in each position
  Compressed chromiumos_base_image.bin, compared size to previous build_image
  Booted image on tegra2 device, confirmed it still boots

Change-Id: I097440b7abefd4a0d25f743e968f33a1531a7a21
Reviewed-on: https://gerrit.chromium.org/gerrit/11487
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Paul Taysom <taysom@google.com>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Jon Kliegman <kliegs@chromium.org>
2011-11-11 07:57:44 -08:00
Ken Mixter
d8f9130863 scripts: fall back to linkage symbols when debug info not present
dump_syms bails if you give it a debug info path and the file there
does not have debug info, instead of falling back to dumping
public/linkage symbols (and more importantly, call frame info).
Give it the chance to redeem itself.

Also, instead of not ever uploading CFI for x86 modules, strip it
for any architecture but only when the file is above some
threshold.

BUG=chromium-os:22373 chromium-os:22741

Change-Id: Iad6981efec537868296a6713b1d9ca0cdb750d28
Reviewed-on: https://gerrit.chromium.org/gerrit/11443
Commit-Ready: Ken Mixter <kmixter@chromium.org>
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Ken Mixter <kmixter@chromium.org>
2011-11-09 18:27:05 -08:00
Zdenek Behan
99fb742e5a update_chroot: autodiscard all config updates
* This is now safe to do, since the only protected files are exactly
the ones that have been autogenerated during chroot creation and may
not be overwritten.

BUG=chromium-os:13987
TEST=update the chroot

Change-Id: Ica4d8328b21089b23e2b0e8a29530cedddabc299
Reviewed-on: https://gerrit.chromium.org/gerrit/10166
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2011-11-09 14:00:11 -08:00
Chris Wolfe
e87403d8f8 image_to_usb: Add flag to choose disk by product.
This adds a --to_product flag which chooses the destination
disk with a product value matching the specified pattern.
For the case where a developer is regularly writing to an
external USB drive, the product name may be more stable than
the raw device name.

Also added a help string for the --to flag. This was
accidentally deleted during some refactoring in 2010.

Tested with local cbuildbot internal pfq and manually:
  ./image_to_usb.sh
  ./image_to_usb.sh --to=/dev/sde
  ./image_to_usb.sh --to_product=\*Memory
  ./image_to_usb.sh --to_product=\*  # errors on multiple

BUG=chromium-os:22674
TEST=None

Change-Id: Ie7137e8c605217a3202c46d75896170fc6b7c4a5
Reviewed-on: https://gerrit.chromium.org/gerrit/11322
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Wolfe <cwolfe@chromium.org>
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
2011-11-09 06:53:02 -08:00