505 Commits

Author SHA1 Message Date
Michael Marineau
fd8618336d disk_util: do not zero MBR and GPT when resizing disk
Calling cgpt create when resizing zeros the MBR boot code. This worked
with the syslinux setup because the boot code was re-written. When not
using syslinux it is easier to just preserve the existing MBR instead.
2014-08-30 16:00:07 -07:00
Michael Marineau
cb97931478 disk_layout: replace unused "BOOT-B" with Grub's BIOS Boot Partition
Unlike SYSLINUX, GRUB2 does not recommend embedding itself in a FAT
filesystem. Instead GRUB2 prefers embedding in the space between the MBR
and first partition or using a dedicated partition that is safe from
tampering by fs utilities. In our case the space after the MBR is where
the GPT lives so we need to use the extra partition scheme instead.

The 64MB "BOOT-B" partition has never been used so we can replace it
with a 2MB partition which is more than enough for GRUB.
2014-08-29 14:05:22 -07:00
Michael Marineau
4228c591a8 disk_layout: mount ESP to /boot instead of /boot/efi
We have long since stopped installing anything to the /boot directory of
the root filesystem. Mount the ESP partition to /boot for consistancy
with the discoverable partition spec.
2014-08-29 13:57:42 -07:00
Michael Marineau
5377e7870d prod_image_util: update /etc/ld.so.conf on every boot
Early images created this as a file instead of a symlink, these systems
will not be able to find the new GCC libraries using the older config.
2014-08-26 18:28:07 -07:00
Michael Marineau
1de8eb3b11 toolchain: always switch to latest GCC version
Normally Gentoo expects moving between major GCC releases to be a manual
step. In our case we want this to always be automatic, otherwise the GCC
version won't be switched at all.
2014-08-26 16:31:46 -07:00
Michael Marineau
d97f6e7332 Merge pull request #318 from marineam/gce
vm_image_util: use only ttyS0 for the console on GCE instances
2014-08-24 16:55:58 -07:00
Michael Marineau
f6bc2908d4 rename references to updatectl, it is now updateservicectl 2014-08-20 16:27:44 -07:00
Michael Marineau
5c590f2a6d vm_image_util: use only ttyS0 for the console on GCE instances 2014-08-18 16:09:24 -07:00
Michael Marineau
b3ecb2c550 toolchain_util: fix bash syntax when running as root
Apparently expanding an empty string before a variable assignment forces
that assignment to be interpreted as a command instead. Instead of an
empty string use env as our sudo alternative when running as root.
2014-08-18 14:41:53 -07:00
Michael Marineau
319879609e toolchain_util: build stable cross gdb, misc cleanups 2014-08-15 16:17:04 -07:00
Alex Crawford
5d13999fbb onmetal: Up the TOTALTIMEOUT setting
Bump TOTALTIMEOUT to 5 minutes
2014-08-06 19:22:15 -07:00
Alex Crawford
3740cc0504 onmetal: Up the TIMEOUT and TOTALTIMEOUT settings
Bump TIMEOUT to 15 seconds and TOTALTIMEOUT to 2 minutes
2014-08-06 18:45:05 -07:00
Petr Hosek
95e5912b14 feat(vm_image_util): CloudStack support
Provide initial support for CloudStack.
2014-07-24 17:47:57 -07:00
Michael Marineau
3ee48fac14 onmetal: Replace boot_kernel's args
The console should be on ttyS4 and just in case blacklist mei.
2014-07-24 11:57:57 -07:00
Michael Marineau
4ca4b65dba Merge pull request #303 from marineam/fixes
Toolchain build fixes
2014-07-22 12:44:41 -07:00
Alex Crawford
abf24663a2 Merge pull request #305 from crawford/fillings
Pull teeth. Replace with onmetal.
2014-07-21 20:44:36 -05:00
Alex Crawford
712c1a3d9b Pull teeth. Replace with onmetal. 2014-07-21 18:40:36 -07:00
Michael Marineau
2a004f0081 qemu: set DHCP hostname based on image name and version
Provides an easy way to test this setting hostname from DHCP, most other
systems rely on it.
2014-07-21 16:43:48 -07:00
Michael Marineau
859cea0306 build_library: fix compatibility with latest crossdev version 2014-07-20 21:32:53 -07:00
Michael Marineau
f9e03a8e6f build_image: add repos.conf and binpkgs url to dev images
Needed for portage 2.2. Sync URIs are included but not very useful yet
because portage only can do `git pull` but not `git clone`. An extra
helper script will be required to do the initial clone it seems.

Binary packages may be useful for re-installing a package with a
different INSTALL_MASK. Can be used to install debug symbols.
2014-07-19 19:20:51 -07:00
Michael Marineau
07cb281d6a build_image: install the complete system package set in dev images
dev images, now with fancy tools like `make`!
2014-07-19 17:29:05 -07:00
Michael Marineau
a28a8966e4 build_image: use dev and prod profile variants
Instead of gluing in a special PROD_INSTALL_MASK for all images use
profiles to configure the differences between the base build root,
production images, and developer images. This offers much more
flexibility and is needed for providing a full dev environment in
developer images.
2014-07-19 17:17:28 -07:00
Michael Marineau
4d3c198161 tools: remove support for parallel_emerge
Using parallel_emerge has been disabled by default for all commands
except build_image for quite a while now, build_image kept it just
because it was still a bit faster than normal emerge. Keeping
parallel_emerge complicates future changes to build_image so it needs to
drop it entirely. Since that means nothing uses it by default we might
as well just rip out support for it entirely.
2014-07-19 16:38:17 -07:00
Michael Marineau
1016bb323b bootstrap_sdk: setup /usr/lib correctly before calling set_lsb_release
os-release is now written to /usr/lib but that is likely a symlink to
/usr/lib64 so a little extra logic is required to avoid clobbering the
symlink.
2014-07-14 17:41:18 -07:00
Michael Marineau
19a4ae59d0 build_library: enable remount-usr later in the boot process. 2014-07-14 15:55:03 -07:00
Michael Marineau
0326b5f57f build_library: move os-release to new location for systemd 215 2014-07-14 15:55:00 -07:00
Michael Marineau
eeec7e1c65 vm_image: switch xen disk format back to raw
VHD was just for testing, raw is more useful for published images.
coreos-install will now be able to install working xen instances:

    coreos-install -d /dev/xvda -o xen -c cloud-config.yml
2014-07-10 17:23:20 -07:00
Michael Marineau
eebe8d5fe9 build_library: long overdue for a code name change 2014-06-30 15:42:16 -07:00
Michael Marineau
27e00285d5 updates: include updatectl in update tools zip 2014-06-30 15:40:42 -07:00
Michael Marineau
048ee51e6f build_image: when generating update payload don't generate metadata
This feature was removed from delta_generator.
2014-06-25 12:37:36 -07:00
Michael Marineau
51c78a4685 build_image: generate update tools zip by default
Missed this in 7231b95a, the update zip should still be built when the
usr partition is extracted for generating updates but build_image itself
is not generating and signing the update.
2014-06-24 14:01:09 -07:00
Michael Marineau
82e2461ddf build_image: refresh scripts bundled into the update zip. 2014-06-24 13:34:54 -07:00
Michael Marineau
7231b95af1 updates: extract usr partition when building images
The current generate_update function is now less useful, the important
part that we need is just the partition image now. Also by defaulting to
extracting the partition the old cors_generate_update which is still in
use by devserver can be removed entirely, devserver will just expect the
extracted partition image instead.
2014-06-23 12:26:17 -07:00
Michael Marineau
eb605751cd build_image: check that set_official wasn't forgotten in official builds 2014-06-20 18:45:20 -07:00
Alex Crawford
ef14f6449e configure_bootloaders: only add a single serial console boot arg
Only one console of each type (virtual, serial, etc.) is supported
in the boot args. Only add ttyS0 if no other serial consoles have
been provided.
2014-06-19 13:56:24 -07:00
Michael Marineau
919ba5a3b9 fix(disk_util): Install syslinux with extlinux
Attempting to work around an apparent race in mtools, the command
'extlinux' these days is just the install tool for mounted partitions
while 'syslinux' is for unmounted devices.
2014-06-18 14:20:29 -07:00
Michael Marineau
0b052bc756 Merge pull request #276 from marineam/conf
make.conf cleanup
2014-06-16 13:57:50 -07:00
Michael Marineau
9d2774af3b fix(build_image): Use developer_data as a system config.
Evaluating this as a user config causes it to block on
coreos-environment-setup.service which will wait on networking. This
makes it hard to add extra tricks for testing/debugging situations where
networking is failing. For example, to trigger dhcpcd if networkd dies:

    #cloud-config

    write_files:
      - path: /etc/systemd/system/systemd-networkd.service.d/dhcpcd.conf
        content: |
          [Unit]
          OnFailure=dhcpcd.service

          [Service]
          Restart=no
2014-06-15 15:41:53 -07:00
Michael Marineau
99ed29d218 fix(board_setup): Remove old make.conf symlinks
Just use the single auto-generated make.conf, it covers everything now.
2014-06-12 16:53:27 -07:00
Michael Marineau
0d29e73534 fix(*): Use binary package for baselayout
It is no longer necessary to use the build USE flag or avoid binary
packages when installing baselayout for the first time.
2014-06-10 14:45:56 -04:00
Michael Marineau
93b0ec304a fix(build_library): Remove reference to old SDK profile
The SDK's profile changed to coreos:coreos/amd64/sdk quite a long time
ago. Remove this last reference to it so the alias can be forgotten.
2014-06-10 14:45:56 -04:00
Michael Marineau
9a4ec472ce fix(build_library): Update amd64-usr's portage profile
The usr profile is just an alias to generic now so drop the old name.
2014-06-10 14:45:56 -04:00
Michael Marineau
5b476734a1 Merge pull request #267 from marineam/containers
fix(disk_util): don't run blkid on empty partitions
2014-06-09 11:38:06 -07:00
Michael Marineau
bb3d751e6f feat(build_image): Generate lists of image contents
Index contents by file and package.
2014-06-08 16:38:54 -04:00
Michael Marineau
388220cfad fix(build_image): move upload calls to build_library
This will let the image building code upload extra data without the
wrapper script having to know about it.
2014-06-08 16:37:48 -04:00
Michael Marineau
02bd7351dd fix(disk_util): don't run blkid on empty partitions 2014-06-06 16:12:37 -07:00
Michael Marineau
57ebeef297 fix(release_util): Generate correct download path for official releases
This fixes the vagrant metadata json files that we create.
2014-06-02 12:38:01 -07:00
Alex Crawford
17835eeb79 Merge pull request #263 from crawford/teeth
feat(teeth): Add new OEM and disk layout for teeth
2014-05-29 17:06:37 -07:00
Alex Crawford
d9afc85b0e feat(teeth): Add new OEM and disk layout for teeth 2014-05-29 16:46:27 -07:00
Alex Crawford
ed50f5fe0b feat(disk_util): Replace Resize() with Update()
The new Update() performs the same tasks as the old Resize()
in addition to formatting previously-unformatted partitions. This
allows children disk-layouts to repartition the base layout in
addition to resizing.
2014-05-29 16:46:27 -07:00