30045 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
596a5da223 feat(coreos-base/bootengine) properly build the cpio image with out breaking /dev
This fixes the "create /dev/null" bug and builds the cpio image
successfully that the boot kernel needs to install.
2013-07-17 14:42:31 -07:00
Greg Kroah-Hartman
5c9f444955 feat(sys-kernel/dracut) update to 029 version
The --host-only option is needed, as well as the other fixes in this
release.
2013-07-17 14:37:49 -07:00
Greg Kroah-Hartman
c95781c71b Merge pull request #80 from gregkh/boot_kernel_update
feat(sys-kernel/coreos-bootkernel) bump version and add initrd to built ...
2013-07-17 14:30:45 -07:00
Brandon Philips
4bd3273f14 Merge pull request #35 from coreos/image-to-vm-ami
feat(image_to_vm): AMI support
2013-07-17 14:28:12 -07:00
Alex Polvi
268a1efd3f feat(image_to_vm): AMI support
add support for the hybrid MBR and OEM partition on Amazon.
2013-07-17 14:27:38 -07:00
Alex Polvi
3cd7f13223 feat(coreos-base/oem): add the initial oem partition support
this (great looking) code adds the oem partition and supporting scripts
and services. AMI is the first target use case.
2013-07-17 13:46:40 -07:00
Brandon Philips
8225c3673e bump(update_engine): use coreos-setnextroot 2013-07-17 13:05:07 -07:00
Brandon Philips
e0ca2d2e6c bump(coreos-installer): get the lastest version
this introduces the new coreos-setgoodroot code
2013-07-17 13:05:07 -07:00
Brandon Philips
8c45cb7fee chore(coreos-installer): use the symlink style versioning 2013-07-17 13:05:07 -07:00
Brandon Philips
587d4c1a99 fix(coreos-installer): fixup deps in -9999 ebuild
the verity package moved to coreos. Fix.
2013-07-17 13:05:07 -07:00
Brandon Philips
24e767d538 feat(coreos-installer): install coreos- prefixed commands 2013-07-17 13:05:07 -07:00
Brandon Philips
146f6f917a chore(coreos-installer): fixup the header details 2013-07-17 13:05:07 -07:00
Michael Marineau
02ce8152bc Merge pull request #20 from marineam/autotools
bump(sys-devel/auto*): sync with upstream
2013-07-17 12:16:16 -07:00
Brandon Philips
06831963ad Merge pull request #82 from marineam/wrappers
add(sys-devel/sysroot-wrappers): Add new sysroot-wrappers tool.
2013-07-17 12:15:33 -07:00
Michael Marineau
34a5dbaba3 add(sys-devel/sysroot-wrappers): Add new sysroot-wrappers tool.
This replaces the previous sysroot wrapper scripts that was bundled with
the Google toolchain. This one is implemented in a more generic manner
and based on ccache. Perhaps other custom wrapper scripts will
eventually move into this package as well.
2013-07-17 12:04:24 -07:00
Brandon Philips
3a0121360d Merge pull request #34 from philips/remove-kernel-image-references
Remove kernel image references
2013-07-17 12:01:45 -07:00
Brandon Philips
f2a0ed323e chore(cros_make_image_bootable): remove rootfs_hash references
this was part of the kernel vblock stuff. Just remove it for now.
2013-07-17 11:56:47 -07:00
Michael Marineau
e8a5d72170 bump(sys-devel/auto*): sync with upstream
Packages:
    sys-devel/autoconf-archive
    sys-devel/autoconf-wrapper
    sys-devel/autoconf
    sys-devel/autogen
    sys-devel/automake-wrapper
    sys-devel/automake
    sys-devel/m4
2013-07-17 11:55:03 -07:00
Brandon Philips
fc6717b653 chore(*): remove kernel_image references
we don't use a kernel_image and don't use vblocks so remove the logic
related to these things.
2013-07-17 11:50:50 -07:00
Brandon Philips
6168ebb2e5 fix(vboot_reference): mask vboot-9999
bad mistake unmasking this. Reset the mask.
2013-07-17 11:35:35 -07:00
Greg Kroah-Hartman
4ca22786fb Merge pull request #81 from coreos/bump-vboot-ref-for-cgpt-next
Bump vboot ref for cgpt next
2013-07-17 11:08:17 -07:00
Brandon Philips
fc19d7bd39 feat(coreos-base/vboot_reference): bump to get cgpt next
bump to get the cgpt next utility
2013-07-17 10:58:03 -07:00
Brandon Philips
2bc148c26e chore(vboot_reference): strip out a lot of unneeded logic
we essentially only use vboot_reference for cgpt right now. Strip
everything else out.
2013-07-17 10:57:26 -07:00
Greg Kroah-Hartman
6f26999e06 feat(sys-kernel/coreos-bootkernel) fix up the cpio file location
This lets us rely on the kernel configuration, and not have to edit it
"by hand" with the location of the cpio file, as the cpio initrd is now
placed within the kernel output directory, where the build system picks
it up automatically.
2013-07-16 22:19:34 -07:00
Greg Kroah-Hartman
5b7a8be5e4 feat(sys-kernel/coreos-bootkernel) bump version and add initrd to built kernel image 2013-07-16 21:06:20 -07:00
Brandon Philips
739c5959ac Merge pull request #79 from philips/remove-root-hack
fix(coreos-base/bootengine): don't hardcode ${ROOT}
2013-07-16 15:53:24 -07:00
Brandon Philips
3659846705 fix(coreos-base/bootengine): don't hardcode ${ROOT}
use the ${ROOT} variable instead of hard coding our own right here.
2013-07-16 13:36:02 -07:00
Brandon Philips
b39da9c574 Merge pull request #78 from philips/cleanup-bootengine
fix(coreos-base/bootengine): change to build single image
2013-07-16 12:35:06 -07:00
Brandon Philips
5365827939 fix(coreos-base/bootengine): change to build single image
don't build an image for every boot kernel, just build a single
uncompressed image and put it in /usr/share/bootengine/bootengine.cpio.
2013-07-16 12:28:44 -07:00
Brandon Philips
50959ce3c9 Merge pull request #77 from philips/add-bootengine
Add bootengine
2013-07-16 11:20:23 -07:00
Brandon Philips
b634753f4c hack(coreos-base/bootengine): use chroot
dracut doesn't seem to have the ability to use a different root. Force
for now.
2013-07-16 11:15:51 -07:00
Brandon Philips
c33c7a422d feat(coreos-base/bootengine): build the initrds 2013-07-16 10:47:00 -07:00
Brandon Philips
915515ff14 feat(coreos-base/bootengine): initial commit 2013-07-16 10:28:16 -07:00
Greg Kroah-Hartman
be4a7115b2 Merge pull request #74 from gregkh/kernel_bump
feat(sys-kernel/coreos-kernel) bump to 3.10.1
2013-07-16 09:01:46 -07:00
Greg Kroah-Hartman
2bab514df8 feat(sys-kernel/coreos-kernel) delete 3.10.0 ebuild 2013-07-15 17:17:32 -07:00
Greg Kroah-Hartman
f105575ec3 feat(sys-kernel/coreos-kernel) bump to 3.10.1 2013-07-15 16:30:45 -07:00
Michael Marineau
898ab93461 Merge pull request #33 from marineam/sdk-mounts
SDK script updates
2013-07-14 14:01:57 -07:00
Mike Frysinger
4bdab9f7fe enter_chroot: speed up entering by backgrounding locale generation
Half of the current time is spent on calling locale-gen even when there is
nothing to be done (all locales already generated).  Throw it into the bg
to unblock the main thread.

BUG=None
TEST=`cros_sdk` still works
TEST=`LANG=et_EE.UTF-8 cros_sdk` generates the new locale in the background

Change-Id: Ibe9a07bec60a59cab1cf4230358f7f8ff5b21c2e
Reviewed-on: https://gerrit.chromium.org/gerrit/58041
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2013-07-14 10:45:10 -07:00
Mike Frysinger
7f30c14bdc enter_chroot: bind mount /dev/pts
All devpts mounts are actually shared, even if you do:
	mount -t devpts none /dev/pts
	mount -t devpts none /mnt/foo
	mount -t devpts none /mnt/asdfasdf
These all provide the same data.

This is problematic because most distros mount their host devpts like so:
	mount -t devpts devpts /dev/pts -o mode=620,gid=5

But when cros_sdk runs, it uses:
	mount -t devpts none /dev/pts

We aren't specifying a mode/gid, so it ends up using the defaults, and
this resets the host devpts mount as well.

Since we've already assumed that the system has devpts available, it's
fine to also assume that the system has it mounted at /dev/pts and we
can simply bind mount it.

BUG=None
TEST=`cros_sdk` no longer messes up host perms on /dev/pts

Change-Id: Ib594fc5e47707f296d97ac1edce32659ed2b2273
Reviewed-on: https://gerrit.chromium.org/gerrit/48018
Reviewed-by: Steev Klimaszewski <threeway@gmail.com>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2013-07-14 10:45:10 -07:00
Michael Spang
a7627f70d9 Use rbind for ChromeOS source directory
I use a mount at src/build/images to stop image builds from repeatedly
filling up my SSD. The chroot needs to respect this.

TEST=cros_sdk
BUG=none

Change-Id: I5c7a26c3b4f263bd683d3a897e6edccb83187bda
Reviewed-on: https://gerrit.chromium.org/gerrit/47178
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Tested-by: Michael Spang <spang@chromium.org>
2013-07-14 10:45:10 -07:00
Mike Frysinger
0c0fea7b4d enter_chroot: handle /var/lock->/run/lock symlinks
Newer Gentoo builds have moved to /run which means /var/lock is a symlink
to /run/lock.  But since that is an absolute symlink, it points outside of
the chroot which doesn't work for us.  Use a stable path unrelated to the
chroot instead, but only with newer chroots.

We no longer have to worry about backwards compat because the code that
used to rely on this lock file (running sync processes) was punted a long
time ago.

BUG=chromium:218085
TEST=`cbuildbot chromiumos-sdk` passes

Change-Id: I38c6848dfb86386849050d7ccf3f90cbbe8e0e81
Reviewed-on: https://gerrit.chromium.org/gerrit/46231
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2013-07-14 10:45:10 -07:00
Paul Drews
b957c775ea Add capability to chroot to use proxies for git:// urls
This patch installs "socat" and a proxy gateway script into
the chroot so that git can use a proxy to access "git://"
protocol urls.  This is needed when performing builds from
behind a firewall that requires a proxy.  The script reads
the proxy environment variables all_proxy (SOCKS),
https_proxy (CONNECT), and http_proxy (CONNECT), in order of
preference, and supports no_proxy as a whitelist of target
hosts that must NOT go through the proxy.

This also updates enter_chroot.sh to automatically use this
script as GIT_PROXY_COMMAND when it sees the proxy
environment variables set.

The "socat" program is added to hard-host-depends as a
separate patch.  That handles socat installation in case of
building a chroot from scratch or upgrading.

The proxy-gw script is installed in the src/scripts/bin
directory which can be stably referenced within the chroot
as /mnt/host/source/src/scripts/bin/.  The
"/mnt/host/source" portion of this path is obtained from the
CHROOT_TRUNK_DIR environment variable which is set to a
suitable value by preexisting logic in common.sh.

This change became necessary to unbreak builds behind
proxies with the recent addition of two ebuilds using
egit.eclass with repositories using git:// URLs.

Original patch by Paul Drews <paul.drews@intel.com>;
modified version by Josh Triplett <josh@joshtriplett.org>.

CQ-DEPENDS=I1b01bce6f3e6a562b87f748e61508d142af576d9
BUG=none
TEST=git clone git://nv-tegra.nvidia.com/tools/cbootimage.git

Change-Id: Ic7fc917d1aa24f408bef6f102b6458114dded694
Reviewed-on: https://gerrit.chromium.org/gerrit/41659
Tested-by: paul drews <paul.drews@intel.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: paul drews <paul.drews@intel.com>
2013-07-14 10:45:10 -07:00
David James
e01374dc4b Fix 'too many levels of symbolic links' error.
In an Ubuntu Precise chroot on the Chromebook Pixel, /run/shm is a
symbolic link to /dev/shm, so bind-mounting /run/shm to /dev/shm
is really bind-mounting /dev/shm to itself, which causes a 'too many
levels of symbolic links' error. To fix this, we check for a symbolic
link prior to running this command.

BUG=none
TEST=cros_sdk no longer prints errors on Chromebook Pixel
Change-Id: Ib46cde2b4a0e00b69bd187488967e445b228ae80
Reviewed-on: https://gerrit.chromium.org/gerrit/45048
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2013-07-14 10:45:10 -07:00
Marc MERLIN
a1f5ee388d Remove a warning when $HOME is on NFS
If ~/.subversion doesn't exist, the code didn't run, but if it existed
there is no reason to re-create it, nor is it necessary to change its
permissions since they are inherited by the bind mount source.
However user_mkdir was trying to run chown as root which does not work
over NFS with root_squash or krb-nfs.
Therefore, the un-needed call to user_mkdir is removed.
(this is an issue because cros_sdk  --replace does call this code path
multiple times).

BUG=None
TEST=Built the chroot, and the permission denied on 'install' went away.
Change-Id: I01e9a7baf51a99a96d790c9613e26e652379e6df
Reviewed-on: https://gerrit.chromium.org/gerrit/44880
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Marc MERLIN <merlin@chromium.org>
Tested-by: Marc MERLIN <merlin@chromium.org>
2013-07-14 10:45:10 -07:00
Mike Frysinger
99d8dde1d6 make_chroot: clobber existing /etc/mtab
If our sdk has an /etc/mtab file already, then clobber it.  This fixes
build problems where chromeos-base now installs /etc/mtab for us, but
the sdk build isn't expecting it leading to the error:

INFO    cros_sdk:make_chroot: Running init_setup()...
ln: creating symbolic link `/b/cbuild/new-sdk-chroot/etc/mtab': File exists
Running ['/b/cbuild/src/scripts/sdk_lib/make_chroot.sh', '--stage3_path',
	'/b/cbuild/built-sdk.tar.xz', '--chroot', '/b/cbuild/new-sdk-chroot',
	'--cache_dir', '/b/cbuild/.cache', '--nousepkg'] failed!

BUG=None
TEST=`cros_sdk --chroot foo` still works

Change-Id: I539cf329e93e28534e6ff00577ce415d76918b85
Reviewed-on: https://gerrit.chromium.org/gerrit/43641
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2013-07-14 10:45:10 -07:00
Michael Marineau
1531cc5ea5 Merge pull request #73 from marineam/updates
fix(profiles): Add xz-utils to the system package set.
2013-07-14 10:24:30 -07:00
Michael Marineau
1acb28b696 Merge pull request #19 from marineam/updates
bump(sys-apps/flashrom): sync with upstream
2013-07-14 10:24:01 -07:00
Michael Marineau
13fa774728 bump(sys-apps/flashrom): sync with upstream 2013-07-14 13:17:35 -04:00
Michael Marineau
507aa7be69 Merge pull request #18 from marineam/updates
bump(dev-libs/libusb): Sync libusb packages from upstream.
2013-07-14 10:15:39 -07:00
Michael Marineau
2060c2e161 fix(profiles): Add xz-utils to the system package set.
It is included in system in upstream Gentoo so we should too, otherwise
there is a chance builds will fail if xz isn't installed early enough.
2013-07-14 13:13:06 -04:00