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
This change adds make_image_bootable which combines the
prior changes to make ARM, x86-legacy, x86-efi, and x86-fw
share kernel commandlines (where possible) and not rely on
keeping data stored on the rootfs to do so.
It does not enable a cut over to syslinux yet, though.
TEST=manually built image and tested boot and install (in progress)
BUG=chromium-os:327
Review URL: http://codereview.chromium.org/2834038
This change unifies the creation of extlinux.conf,
syslinux cfgs, and grub efi files. It shouldn't change the
existing behavior but does add support for further arguments
and future use of syslinux (once it is properly rewritten by
an installer or other script).
TEST=in progress; manual run
BUG=chromium-os:327
Review URL: http://codereview.chromium.org/2829038
Include checked in parallel emerge,
with an optional (default false) argument
in build_image to turn it on.
Review URL: http://codereview.chromium.org/2827037
Other changes:
- Added update_base_packages() method.
- Fix a get_latest_image.sh problem when the image does not already exist.
- Cleanup method invocations, and remove OUTPUT_IMG global variable.
- Add kernel testing logic back (it was accidentally deleted in an earlier patch.)
TEST=Built regular image. Updated old image to contain new packages.
BUG=none
Patch by: Don Garrett <dgarrett@chromium.org>
(Tweaked by me to address review feedback.)
Review URL: http://codereview.chromium.org/2857020
We want build_image to honour the configuration in PORTDIR and only use
the latest stable version as known by portage and the overlays.
We get these semantics with --usepkg. We do not get them with --usepkgonly.
The one downside is that instead of failing when you forget to run
build_packages before build_image, build_image will try to build
packages from source.
From "man emerge":
--usepkg[=n] (-k)
Tells emerge to use binary packages (from $PKGDIR) if they
are available, thus possibly avoiding some time-consuming
compiles. This option is useful for CD installs; you can
export PKGDIR=/mnt/cdrom/packages and then use this option
to have emerge "pull" binary packages from the CD in order
to satisfy dependencies.
--usepkgonly[=n] (-K)
Tells emerge to only use binary packages (from $PKGDIR).
All the binary packages must be available at the time of
dependency calculation or emerge will simply abort.
Portage does not use $PORTDIR when calculating dependency
information so all masking information is ignored.
Change-Id: I267dad8992ac683d0ff4db0d0c72baba61ecbccf
Review URL: http://codereview.chromium.org/2874013
Makes kernel partition creation standalone. This is motivated
both by the ability to build test kernel partitions easily as well
the need to create all kernel command line configuration after the
rootfs has been completely created.
Instead of a massive overhaul, I'll do this refactor in pieces.
TEST=manually rebuilt the image
BUG=chromium-os:327
Review URL: http://codereview.chromium.org/2825021
update_dev_packages, and update_recovery_packages created.
Moved assorted global variables up to the top section, since they are global.
TEST=Ran build_image.
BUG=none
Review URL: http://codereview.chromium.org/2823010
This does nothing, except provide a way to determine which of the three
possible boot methods was used to boot the running image. Handy for
debugging BIOS issues on experimental and dogfood machines.
Review URL: http://codereview.chromium.org/2868010
aterm will be going back into every build for now, so we can revert these dev-mode only changes
BUG=chromium-os:3884
TEST=none yet
Review URL: http://codereview.chromium.org/2669004
The signing work is being tested and developed on x86, and ARM isn't ready
to use it. Signing the ARM kernel is disruptive. We'll enable it for ARM
later.
Review URL: http://codereview.chromium.org/2599001
- add recovery installer config file (which invokes chromeos-install with
--recovery flag)
- update build_image to install recovery_installer pkg and changed base image
name to recovery_image.bin
Review URL: http://codereview.chromium.org/2081018
Modify build_image to use the create_blob utility and the inline bootloader
to generate a bootable (but still unsigned) kernel partition.
Review URL: http://codereview.chromium.org/2112013