Commit Graph

630 Commits

Author SHA1 Message Date
Michael Marineau
707c6c6f12 vm_image_util: add a small openstack image for wedging into tiny places
Most vm images have an expanded root partiton to make them practical to
use as-is. Some deployments may not want such a large root, putting most
storage on other volumes.
2016-02-16 11:22:59 -08:00
Michael Marineau
06d5ac79b1 set_lsb_release: a little cleanup, a new name
❤️
2016-02-15 14:17:37 -08:00
Michael Marineau
5ba4c7181d *: drop usage of COREOS_VERSION_STRING
This variable was semi-deprecated ages ago so `version.txt` could follow
a similar variable naming pattern to `os-release`. Finally drop usage of
it here in favor of `$COREOS_VERSION`.
2016-02-15 13:55:55 -08:00
Michael Marineau
9332cb697e release_util: use BOTO_PATH instead of searching for .boto
This simplifies the code a little and allows BOTO_PATH or BOTO_CONFIG to
be set in the environment. Now configs may be in arbitrary locations.
2016-01-28 13:10:01 -08:00
Matthew Garrett
5fa4196501 Verify netboot config fragments if there's an available gpg key
If there's a gpg public key available in a system firmware variable, trust
it and use it to verify netboot configuration fragments.
2016-01-11 11:54:04 -08:00
Matthew Garrett
b6792a5609 Fix platform testing for suffix configuration
Grub doesn't seem happy with && tests in if statements, so replace it with
a two stage check.
2016-01-08 14:45:50 -08:00
Matthew Garrett
1f7c749b2d Add UEFI netboot support
If grub's been netbooted, pull the uuid and serial number out of smbios and
hit the API server to get the appropriate configuration.
2016-01-08 14:45:45 -08:00
Vito Caputo
0b9c8e5855 grub: disable console blanking
The console often contains very useful information in the event of a
hard crash, in such situations there's no ability to unblank the console
via keypress because the kernel won't handle the interrupt.

Since CoreOS is a server/cluster operating system, there won't generally
be monitors connected benefitting from a blanked console.  Disabling the
blanking altogether allows the frame buffer contents to always be
visible, even when the kernel can't handle keypresses.
2015-11-11 15:22:12 -08:00
Michael Marineau
b0c14f99b1 kernel_menuconfig: new script to simplify kernel config changes 2015-11-10 18:06:49 -08:00
Vito Caputo
f67fa9ce6c grub: supply disk guid to randomize in coreos.randomize_disk_guid 2015-11-06 14:58:00 -08:00
Vito Caputo
68f1b407c6 grub: add and set coreos.randomize_disk_guid kernel param
coreos.first_boot=1 will no longer trigger disk-guid randomization, so
manual ignition triggers in diskless/pxe scenarios may succeed.  Instead
we explicitly request the randomization when first_boot=1 was added by
grub finding the 00000000-0000-0000-0000-000000000001 disk-guid.
2015-11-05 21:04:31 -08:00
Alex Crawford
f7bcd4f547 grub: add oem_id variable to kernel parameters 2015-10-21 16:47:58 -07:00
Michael Marineau
01ae17dcc9 grub: move standard kernel options to grub
In order to boot properly we need `rootflags=rw mount.usrflags=ro` on
the command line. These have been build into the kernel directly but for
arm64 builds the built in options seem to be ignored.
2015-09-21 15:31:41 -07:00
Andrej Rosano
8ba400eca7 Add arm64 qemu image support
Allows image_to_vm.sh to build also arm64 qemu images.

Signed-off-by: Andrej Rosano <andrej@inversepath.com>
2015-09-17 14:16:18 +02:00
Andrej Rosano
16feac5ef6 Add arm64 grub installation support
Add the necessary variables in grub.cfg and populate the EFI
partition with arm64 efi executable and modules.

Signed-off-by: Andrej Rosano <andrej@inversepath.com>
2015-09-16 15:13:08 +02:00
Alex Crawford
32277dd006 build_library: fix comment 2015-09-08 16:15:50 -07:00
Michael Marineau
0ef030051c catalyst: re-enable ccache
Now that ccache is turned on by default in the profile portage complains
a lot if ccache isn't actually installed, sleeping 5 seconds for each
error message. Since pkgcache is in use ccache isn't going to make that
much of a difference but getting rid of those 5 second sleeps will. :)
2015-09-06 21:26:15 +00:00
Dong Xie
c04e2cb227 init commit of interoute oem build 2015-09-05 00:32:50 +01:00
Alex Crawford
9fb9442576 grub: add coreos.first_boot kernel param 2015-09-01 14:35:43 -07:00
Alex Crawford
b475cb2ea3 grub: run Ignition on first boot 2015-08-31 23:02:25 -07:00
Matthew Garrett
673f166013 Ensure that selinux policy is installed in correct location
Failing to explicitly set the selinux policy store to operate on may
result in semodule installing the policy in an incorrect location. Pass
it on the command line in order to avoid this.
2015-08-24 16:27:18 -07:00
Geoff Levand
3f3b2f2e8c build_image: Run ldconfig in qemu
ldconfig does not work for non-native arches.  Create a new
build_image routine run_ldconfig that uses qemu user emulation
to run the board ldconfig on the board rootfs when the board and
SDK arches are different.

See: http://code.google.com/p/chromium/issues/detail?id=378377

Prior to calling run_ldconfig the board rootfs must have ldconfig
installed.  To arrange this move the call of run_ldconfig to after
the base package install.

Fixes build_image errors like these when building for arm64:

  /sbin/ldconfig: /lib64/libXXX is for unknown machine 183.

Signed-off-by: Geoff Levand <geoff@infradead.org>
2015-08-05 14:47:58 -07:00
Michael Marineau
cf26510ea7 check_root: update ignore list for arm64, make error non-fatal 2015-07-29 19:22:55 -07:00
Michael Marineau
0fbb1891e0 Merge pull request #435 from marineam/check
Improved/faster package checks
2015-07-22 20:46:50 -07:00
Michael Marineau
806d9ca313 grub_install: stash an exact copy of the MBR boot code.
Useful for repairing the MBR without needing GRUB's tools.
2015-07-16 18:06:35 -07:00
Michael Marineau
d27bc5aeb3 Revert "build_library: set osType to otherlinux-64"
This reverts commit 39bb800f16.

This change disabled a number of features so it isn't suitable for the
generic VMware templates. We need to re-trace our steps to list exactly
what tools/systems weren't accepting the linux26 type.
2015-07-16 12:34:33 -07:00
Alex Crawford
0b0aa88be3 Merge pull request #427 from crawford/disk_util
disk_util: use the dummy disk UUID
2015-07-15 00:03:12 -07:00
Michael Marineau
5985b1e3d6 build_library: replace package checking script
The new python script check_root uses data that portage already
maintains on what shared libraries packages need or provide instead of
re-scanning whatever ELF files that can be found. This is much more
comprehensive but there is a bit of a transition issue for folks with
long-lived SDKs: packages built with portage older than 2.2.18 do not
include this data. As such for now the check is non-fatal and provides a
command you can use to refresh locally installed packages.

The code checking for conflicts between top level directories and /usr
has also been rewritten. Both tests now are considerably faster.
2015-07-12 15:50:58 -07:00
Alex Crawford
93e5faebd1 Merge pull request #423 from stresler/patch-1
Adding packet to the list of img and oem types.
2015-07-10 08:39:45 -07:00
Michael Marineau
fcd55e0171 generate_au_zip: improve error reporting of missing files 2015-07-02 13:51:39 -07:00
Michael Marineau
9db6ac5ef7 build_image: make building selinux policy optional 2015-07-01 23:11:09 -07:00
George Tankersley
283452e883 verity: add verity plumbing and hash injection to build scripts 2015-07-01 17:34:11 -07:00
George Tankersley
aa879ddcce grub_install: add support for verity and non-verity grub.cfg 2015-07-01 17:32:37 -07:00
mjg59
28da405b75 Merge pull request #425 from mjg59/master
Build selinux policy
2015-07-01 11:37:11 -07:00
Alex Crawford
7232e74bcc disk_util: use the dummy disk UUID
This dummy UUID (00000000-0000-0000-0000-000000000001) is used to
signify to Ignition that the disk is uninitialized.
2015-06-30 20:04:41 -07:00
Alex Crawford
cf4b282482 disk_util: convert some tabs to spaces 2015-06-30 19:58:10 -07:00
Matthew Garrett
14163c3c0a Build selinux policy
Create an selinux policy at image build time - despite the -i flag, this
won't attempt to install it into the running kernel.
2015-06-30 14:46:51 -07:00
Sam Tresler
01176c2d96 adding packet to the available OEMs 2015-06-29 16:52:36 -04:00
Michael Marineau
5789c6bbbf bootstrap_sdk: add support for directly GPG signing SDK tarballs
SDK tarballs have a .DIGESTS file but it is created by catalyst instead
of the upload_image function. In order to support plain GPG signing but
not avoid re-generating .DIGESTS we need to move that code out of
upload_image to a new function. upload_files shouldn't do it itself
because it is also used for portage binary packages which shouldn't be
signed (there is no point, nothing would verify the signatures).
2015-06-28 17:02:23 -07:00
George Tankersley
abb99b560d Merge pull request #412 from gtank/verity
disk_util: dm-verity hash output
2015-06-12 16:14:39 -07:00
George Tankersley
93f033c59e verity: add support for root hash output to disk_util 2015-06-11 18:37:51 -07:00
Alex Crawford
8cd6d7f8da image_to_vm: fix OVF filename 2015-06-09 18:56:49 -07:00
Alex Crawford
ebb1ad586f build_library: add support for VMware OVF
This moves the functionality of mkova.sh (within the SDK) directly into
the build library.
2015-06-01 16:45:42 -07:00
Alex Crawford
39bb800f16 build_library: set osType to otherlinux-64 2015-05-26 18:35:27 -07:00
Matthew Garrett
9fe7952578 Don't read OEM config data if Secure Boot is enabled
We don't want untrusted configuration to be read if we're in Secure Boot
mode, so skip the OEM config when Secure Boot is enabled and in User Mode.
2015-05-11 15:39:03 -07:00
Michael Marineau
fed42e2d12 Merge pull request #382 from Cygnus-Labs/adding-base-dev-pkg-flag
Enhanced dev_image_util with equivalent to --base_pkg
2015-04-30 17:00:16 -07:00
mjg59
0ce635c1d1 Merge pull request #397 from mjg59/master
Add support for signed kernels
2015-04-23 16:10:25 -07:00
Matthew Garrett
9579f4d68a Update grub configuration to handle ESP kernels, build it into grub
The grub configuration needs some updates to handle dealing with booting
the kernel from the ESP rather than from inside the image. We also want to
be able to avoid dealing with signing the config file, so build it into the
binary. Finally, rather than having to cope with signing grub modules, build
the ones we need to boot into the grub image.
2015-04-22 11:37:15 -07:00
Michael Marineau
12c53080a4 vm_image_util: add support for VMDK images for EC2 AMIs
Lets us avoid larger data transfers when importing images.
2015-04-21 16:27:37 -07:00
Matthew Garrett
07e5220f60 Add the kernels to the ESP
Once we're signing the root filesystem, we're not going to be able to boot
the kernel from there. Copy the kernel out to the EFI System Partition and
sign it.
2015-04-16 15:55:02 -07:00