Commit Graph

3233 Commits

Author SHA1 Message Date
Michael Marineau
359505490d fix(disk_util): Install syslinux as part of filesystem formatting.
This means scripts later don't need to deal with the ESP block device
directly, they can just copy the config files into place.
2013-12-30 16:12:43 -08:00
Michael Marineau
d1fee3653e fix(cros_make_image_bootable): Remove dead command line flags.
Lots of things are either unused or meaningless. A particularly creative
one is the fact that there are command line flags for mount point
locations that are then overwritten.
2013-12-30 16:12:43 -08:00
Michael Marineau
52e1dba3ec fix(build_image): Migrate to new disk_util commands 2013-12-30 16:12:43 -08:00
Michael Marineau
9bc36ee344 fix(base_image_util): Remove dead code, leave rootfs writable.
The verification flag was being passed through to the bootloader
template script but no longer had any effect.
Force the base image to always remain writable, its only purpose is to
be modified in a later build step anyway.
2013-12-30 16:12:41 -08:00
Michael Marineau
8ca62121d9 feat(disk_util): Add mount and unmount commands.
This will replace the assorted mix of mount/umount scripts.
2013-12-30 16:12:04 -08:00
Michael Marineau
ba45152b4b feat(disk_util): Add 'format' command to create filesystems in an image.
This will replace the less flexible code in base_image_util.sh
2013-12-30 16:12:04 -08:00
Michael Marineau
ab23353448 fix(disk_util): Rework config parsing.
Merge GetPartitionTable and partition alignment from WritePartitionTable
into LoadPartitionConfig so that all this config manipulation code is in
one place and inheritance from the 'base' layout is more predictable.
2013-12-30 16:12:04 -08:00
Michael Marineau
0f4b52134a fix(disk_util): Convert partition list to an object.
Hey, 'num' is a primary key! Lets use it and avoid pointless looping.
2013-12-30 16:12:04 -08:00
Michael Marineau
576c8996f4 fix(disk_util): Remove support for --adjust_part
This isn't a feature we've been using as far as I know and if someone
needs a custom partition layout it's probably better to just add it to
the json file. Removing this avoids some complexity.
2013-12-30 16:12:02 -08:00
Michael Marineau
cc341f856b fix(disk_util): Merge write_mbr into write_gpt
No need for this to be a different command.
2013-12-30 16:10:46 -08:00
Michael Marineau
de9ff4fc8e fix(disk_util): Rework how argument parsing/passing works.
Move from optparse to argparse. Move layout file and layout type to
global options with reasonable default values so every command doesn't
need to them. Adjust calling scripts to match.

For now layout type is being passed via an environment variable
DISK_LAYOUT_TYPE but this is a temporary situation.
2013-12-30 16:10:46 -08:00
Michael Marineau
fdefbf704c add(disk_util): Rename cgpt.py to disk_util.
Use a more generic name so cgpt.py and disk_layout_util.sh can be merged
into one tool. Wrappers around wrappers around wrappers are tedious.
2013-12-30 16:10:46 -08:00
Michael Marineau
4c0e511348 Merge pull request #145 from marineam/symlink-usr
fix(test_image_content): Improve /usr symlink and conflict tests.
2013-12-30 15:43:18 -08:00
Michael Marineau
f75d04eaab Merge pull request #146 from marineam/fix-board-names
fix(toolchain_util.sh): Fix BOARD_NAMES list
2013-12-19 12:08:57 -08:00
Michael Marineau
3d7bed9aea fix(toolchain_util.sh): Fix BOARD_NAMES list
This has been broken since d91e8d21 :(
2013-12-11 19:38:45 -08:00
Michael Marineau
62ae4d60b1 fix(test_image_content): Improve /usr symlink and conflict tests.
Now uses the package database instead of filesystem so the check works
even if /bin and friends are symlinks to /usr. Also disable the
whitelist and check that the expected symlinks are correct if the
symlink-usr USE flag is enabled.
2013-12-09 19:32:54 -08:00
Michael Marineau
8071aca926 Merge pull request #144 from marineam/cleanup
fix(*): remove lingering broken support for board overlays.
2013-12-08 19:01:53 -08:00
Brandon Philips
01215e9c1e Merge pull request #143 from marineam/trap-exit
fix(build_image): Properly clear the EXIT trap
2013-12-08 18:36:59 -08:00
Michael Marineau
6d414d275e fix(*): remove lingering broken support for board overlays.
This is a feature from the chromeos sdk that we haven't used and doesn't
work any more. Clean it up...
2013-12-08 16:02:00 -08:00
Michael Marineau
68221b98e6 fix(build_image): Properly clear the EXIT trap
Now build_image will no longer claim that the build failed, prompting
you to delete the output directory, after a good build.
2013-12-08 15:42:34 -08:00
Michael Marineau
96093bdb55 Merge pull request #141 from marineam/tag-checks
fix(tag_release): Add a few sanity checks.
2013-12-08 13:07:13 -08:00
Michael Marineau
b841916b74 fix(tag_release): Add a few sanity checks.
- it shouldn't be possible to set the SDK version to the same as the new
  tag's version. The SDK must always be a previous build.
- don't fail if there isn't any old manifests to git rm.

There are ways to improve, it'd be sexy if it was truly safe and we
could throw around annoying terms like idempotent to make this kind of
sequence just work but doesn't yet: tag_release; tag_release --push
2013-12-07 23:17:41 -08:00
Michael Marineau
8454976f2d Merge pull request #140 from marineam/fixpkgmixups
Fix building w/ --nogetbinpkg
2013-12-06 16:25:11 -08:00
Michael Marineau
8330920290 fix(toolchain_util.sh): Never force binary packages with crossdev.
When calling update_chroot with --usepkg --nogetbinpkg the default
emerge command line will force binary packages for the toolchain but if
the packages are not available locally building via crossdev is
required. Since the crossdev bootstrap process rebuilds the toolchain a
couple times with different use flags if binary packages are forced the
second stages gets skipped resulting in a broken gcc and glibc install.
2013-12-06 15:19:41 -08:00
Michael Marineau
1e7ce95508 fix(setup_board): Depend on --usepkg and --getbinpkg as a pair.
Instead of gating only on --usepkg depend on both flags as a pair. This
keeps setup_board's behavior a little closer to build_packages. The
buildbot is using --nogetbinpkg to avoid pulling in existing packages
built by the SDK but setup_board is causing some to be pulled in anyway.
2013-12-06 14:41:46 -08:00
Michael Marineau
4ffb21da38 Merge pull request #139 from marineam/gce
GCE support
2013-12-02 22:14:54 -08:00
Michael Marineau
8077689e93 Merge pull request #138 from marineam/turtle-chain
Turtle chain
2013-12-01 21:55:29 -08:00
Michael Marineau
6452857e82 fix(*): Change default for --jobs to $NUM_JOBS
This makes parallelism behavior between parallel_emerge and emerge
consistent. NUM_JOBS is defined as the number of CPUs by common.sh
2013-12-01 16:04:10 -08:00
Michael Marineau
c9c1efd276 fix(build_image): Add --fast to control use of parallel_emerge
This makes it possible to toggle parallel_emerge just as other scripts
do. In other scripts update the help string to be more specific, the
--jobs option can be used to control parallelism.
2013-12-01 16:04:10 -08:00
Michael Marineau
d3a3a88768 fix(base_image_util.sh): Install glibc and gcc libs via emerge. 2013-12-01 16:04:10 -08:00
Michael Marineau
6dd768b810 feat(release_util.sh): Support changing default upload path with env var 2013-11-30 17:36:38 -08:00
Michael Marineau
95388caab1 fix(image_to_vm): Add GCE oem package 2013-11-30 17:33:33 -08:00
Michael Marineau
0cb0cbf71e feat(image_to_vm): Add minimal GCE support.
Simply rolls our disk image into a tarball that can be passed to gcutil.
To actually be useful we need an OEM package to handle SSH keys.
2013-11-30 16:39:31 -08:00
Michael Marineau
0a8152891e fix(common.sh): Remove some dead code. 2013-11-29 23:38:06 -08:00
Michael Marineau
175d88e6e4 fix(build_image_util.sh): Move image install mask to portage profile.
Reduce the spaghetti config a bit...
2013-11-29 23:38:06 -08:00
Michael Marineau
37267cfce4 fix(setup_board): Install board build root toolchains via emerge! 2013-11-29 18:19:15 -08:00
Michael Marineau
a70da914ba fix(toolchain_util.sh): Replace TOOLCHAIN_BINONLY with a function.
The new function supports generating arguments for cross toolchain
packages in addition to native ones.
2013-11-29 17:56:58 -08:00
Michael Marineau
d91e8d21c4 fix(toolchain_util.sh): Fix variable name conflicts.
Although it didn't seem to be causing any bugs the global variables in
toolchain_util conflicted with some names used elsewhere. Clean that up
by adding an S to the array names that didn't already have one.
2013-11-29 17:56:58 -08:00
Michael Marineau
0badc0a576 fix(toolchain_util.sh): Don't build via crossdev if pkgs are up to date.
When calling update_chroot with --nousepkg it is silly to always force a
rebuild of the cross toolchain. Change the test to work regardless of
whether binary packages are enabled by checking if anything needs to be
built from source.
2013-11-29 17:56:58 -08:00
Michael Marineau
9dfad070c9 fix(setup_board): Hide --getbinpkg, it isn't useful for setup_board.
A new board build root always starts with an empty package cache so if
binary packages are enabled downloading is required. The distinction can
be useful for passing to update_chroot since its cache isn't impacted so
the flag remains, just among the less used hidden ones.
2013-11-29 17:56:58 -08:00
Michael Marineau
21614c5942 fix(toolchain_util): Move toolchain build-dep code from catalyst.
Now this code can be shared with setup_board. Only required if
setup_board is called with --nousepkg which is rare to never but feels
like the correct thing to do. Alternatively setup_board could always
use binary packages (as it basically does now).
2013-11-29 17:56:58 -08:00
Michael Marineau
9179f985d0 Merge pull request #137 from marineam/check-pkgs
Improvements for image validation, add /usr conflict test
2013-11-27 14:58:17 -08:00
Michael Marineau
4e8bef60d7 fix(test_image_content): Clean out some stray tab chars 2013-11-27 14:55:04 -08:00
Michael Marineau
fd7976e7fd fix(test_image_content): Add test for /usr file conflicts. 2013-11-27 14:43:35 -08:00
Michael Marineau
ae2b8ead6d Merge pull request #136 from marineam/turtle-chain
Turtle chain
2013-11-27 14:26:20 -08:00
Michael Marineau
485044f23a Merge pull request #132 from marineam/code-name
fix(set_lsb_release): Time for a new code name
2013-11-27 14:20:07 -08:00
Michael Marineau
241d135126 fix(test_build_root): Switch to using test_image_content
Start using the more complete test_image_content test for the build root
and add the test to the end of build_packages.
2013-11-26 17:14:50 -08:00
Michael Marineau
b4b7a2e2f8 fix(install_toolchain): Exclude libc locale/info/etc from build root.
These excludes are used in images and I want to use the same checking
code as images do so the build root needs to behave the same way.

This is temporary as I'll switch to installing libc via emerge soon.
2013-11-26 16:53:52 -08:00
Michael Marineau
1e8f44e3fc fix(check_deps): Depend exclusively on ld.so.conf for lib list
The list in ld.so.conf needs to be complete so don't bother with
including other hard-coded paths or the path to ld-linux-x86-64.so.2.
2013-11-26 16:41:42 -08:00
Michael Marineau
1186334edf fix(update_chroot): Move to new toolchain_util.sh library
Switch from cros_setup_toolchains to the new simpler toolchain_util code
for installing toolchains in the SDK chroot.
2013-11-25 16:45:34 -08:00