906 Commits

Author SHA1 Message Date
Kai Lüke
554394ce52
build_library/template_vmware.ovf: Newer OS type and hardware version
The VM hardware and OS type versions were outdated and resulted in
features not being available by default.
Choose a newer ESXi host version (requires 6.5) and set the guest
OS type to Linux 3.x 64 bit.
2020-07-07 11:35:48 +02:00
Marga Manterola
2e66377bba bootstrap_sdk: build and upload SDK toolchain pkgs
Before, we were relying on the toolchains job to build and upload
packages that were part of the SDK. With this change, all packages that
should be part of the SDK are built and uploaded by the SDK job. The
toolchains job only builds toolchain packages specific for the release.

This change includes several adjustments done to both the SDK and the
toolchains jobs to make this work:
 * Make the SDK job build all cross toolchains, including Rust
 * Stop building Rust in the toolchains job and use the one in the SDK
   instead.
 * In toolchain_util.sh: detect when the symlink folder for crossdev
   packages is missing and run crossdev to create it during
   update_chroot setup.
 * Make it possible to build the SDK starting from stage 4 instead of
   stage 1, to make the SDK building faster for PR branches / nightlies
   (full build should still be done for releases / weeklies).
2020-06-26 13:23:07 +02:00
Kai Lüke
828ae6d540
Filter out unicode characters in package content list
For some unicode characters in ca-certificates file names "rev" complains
about an "invalid or incomplete multibyte or wide character"
and gives no output.
Filter out any unexpected characters for "rev" and replace them with "?"
so that "ls some?name" will still resolve the original name.
2020-06-11 11:27:58 +02:00
Kai Lüke
ef048d2cac
build_library: Enhance license info and store it on the image
The license JSON file did only include the package names but not
any other metadata. Also since the file was not on the image itself,
it had to be downloaded.
Add more metadata to the license JSON and store it on the image.
2020-06-09 20:37:21 +02:00
Kai Lüke
1460c96b6c
Merge pull request #69 from flatcar-linux/kai/whitelist-glsas
Port CoreOS upstream PRs
2020-05-22 15:25:27 +02:00
Kai Lüke
f4aa56a3c8
Support the /boot/coreos/first_boot flag file
If a user or old software creates the flag file on the old CoreOS location,
nothing would happen.
Check the old location, too, so that Ignition is rerun.
2020-05-22 15:19:57 +02:00
Benjamin Gilbert
d86e25ec8d
test_image_content: whitelist OpenSSL GLSA
We updated to 1.0.2u instead of 1.1.1g.
2020-05-22 12:48:37 +02:00
Benjamin Gilbert
832ab266d9
test_image_content: whitelist some GLSAs
Git was fixed by updating to 2.23.3, not 2.26.2.  Python and QEMU are
only in the SDK.
2020-05-22 12:48:28 +02:00
Benjamin Gilbert
3e21211b43
test_image_content: whitelist some GLSAs
systemd and sudo are already fixed.  Git was fixed by updating to 2.23.2,
not 2.24.1.  Samba is 2 years old and customized, thus difficult to update.
file, Python, and gdb are only in the SDK.
2020-05-22 12:48:21 +02:00
Kai Lüke
7e6d5063d9
set_lsb_release: update codename 2020-05-18 11:21:46 +02:00
Thilo Fromm
4d8a6cc14a qemu_template.sh: update naming CoreOS -> Flatcar 2020-05-15 13:56:04 +02:00
Kai Lüke
61161dd924
SDK: Take environment variable to specify SDK location
The dev build SDKs are not in $FLATCAR_DEV_BUILDS/sdk but published under
$FLATCAR_DEV_BUILDS/developer/sdk.
Add an environment variable to specify where the SDK is to be found
but default to $FLATCAR_DEV_BUILDS/sdk if it is not specified.
From Jenkins this variable is exported as DOWNLOAD_ROOT_SDK.
2020-05-14 15:42:29 +02:00
Kai Lüke
1216797010
Reuse correct binary packages for a Flatcar version
Two Flatcar versions were used in /etc/portage/make.conf both in the SDK
and in the boards.
Use only a single version by default to get the expected results and not
something else when using binary packages.

The Rust crossdev package was never uploaded to /sdk/ and always
had to be compiled again.
Upload it in a separate toolchain-arm64 directory because /Packages in /crossdev/
doesn't refer to the Rust package and its use flags.
2020-05-11 10:48:11 +02:00
Kai Lüke
add1801bd1
build_library/dev_container_util.sh: Use correct BINHOST URLs
The BINHOST was still configured to be the CoreOS CL upstream location
which does not work for independent Flatcar CL releases. This broke
binary package installation in the development container.
Use the correct BINHOST to fix installation of binary packages in the
development container.
2020-05-04 12:19:54 +02:00
Kai Lüke
2988c67288
build_library/template_vmware.ovf: Document and add cloud-init OVF vars
The configuration variables for the Ignition configuration also serve as
data source for coreos-cloudinit config data (which includes plain scripts).
Document them properly and also call out that the networking variables only
work if coreos-cloudinit data is used.
For some use cases, too few networking variables were available. Add secondary
routing variables for the main network interface and add a second interface.
2020-04-27 12:12:31 +02:00
Kai Lüke
3080ee80fc
build_library/template_vmware.ovf: Remove old CoreOS OVF variables
There was a logical mistake in Ignition that caused ignition.config.*
only to work when it was part of the ovfenv. Thus they were added but
the old CoreOS variables marked deprecated and kept. With both as OVF
variables each of them worked but directly specifying ignition.config.*
as guest variable still didn't because of the logical mistake.
Now there is a fix and both work well when specified directly as guest
variable (https://github.com/flatcar-linux/ignition/pull/11).
Delete the old CoreOS OVF variables because they just clutter the UI
and only the Ignition variables should be used in the UI.
2020-04-17 15:51:08 +02:00
Kai Lüke
8a2ef76a52
build_library/vm_image_util.sh: Generate iPXE script
Write out an iPXE script file for Packet.
The script uses relative URLs to refer to
the other PXE files and thus can be copied
along with the files to any server.
This is useful because it saves the creation
of an iPXE script for a release/channel on a
third-party service. For CI testing it is
also helpful because the script does not only
end up on the release server but also already
on the Google buckets, refering to unpublished
PXE payloads.
2020-03-18 16:01:03 +01:00
Kai Lüke
3bf247901c
build_library/template_vmware.ovf: Use Ignition OVF vars
For the Ignition variables to be usable they need to be
specified in the OVF.
Call out that the CoreOS variables are deprecated to
reduce confusion when both are displayed besides each other.
2020-03-09 16:58:05 +01:00
Kai Lüke
21edb365ff
build_image: Add prodtar command to build a tar ball
Create a tar ball with the contents of the / and /usr partitions
to be used as follows with systemd-nspawn (via machinectl):
  machinectl import-tar flatcar-container.tar.gz flatcar-container
  machinectl start flatcar-container
  machinectl shell flatcar-container
or with docker by converting it to an OCI image:
  docker import -c "CMD /bin/bash" flatcar-container.tar.gz flatcar-container

Since the new "prodtar" command relies on the results of the "prod" command,
it bundles it so that "prod prodtar" and "prodtar" is the same.
2020-02-07 16:54:54 +01:00
Dongsu Park
5dc473a36e
Merge pull request #50 from flatcar-linux/dongsu/dev-container-fix-url
build_library: fix sync URI under Gentoo env for developer containers
2020-01-23 16:15:44 +01:00
Dongsu Park
fc835de3aa build_library: fix sync URI under Gentoo env for developer containers
When running `emerge-gitclone` in a developer container, it still
tries to fetch from coreos repos. We should make it fetch from
flatcar-linux repos.
2020-01-22 16:31:00 +01:00
Kai Lüke
4f9514139c
Use same APPID for arm64 and amd64
Nebraska supports an additional arch
variable to distinguish both boards.
2020-01-22 10:42:12 +01:00
Kai Lüke
88adcbd27c
Merge pull request #43 from flatcar-linux/master
Merge upstream
2020-01-15 15:23:01 +01:00
Andrew Jeddeloh
c0ed59f902 disk_util: retry loopback mounts if they fail
This fails frequently but should succeed if retried. This should reduce
failed builds.
2019-12-17 17:17:21 +00:00
Andrew Jeddeloh
37da2494a2 build_library/disk_util: work around losetup bug
Retry losetup if it fails, up to 5 times with 5 seconds between retries.
2019-12-13 00:15:49 +00:00
Dongsu Park
2e3641fc75
Merge pull request #33 from flatcar-linux/kai/cross-toolchain-rust
build_library/toolchain_util.sh: Install Rust from cross-compilation toolchain
2019-12-04 16:21:21 +01:00
Dongsu Park
55f436b4f1
Merge pull request #29 from flatcar-linux/dongsu/gpt-type-flatcar
build_library: replace coreos with flatcar in disk layout
2019-12-03 12:38:50 +01:00
Kai Lüke
3e979ed7f1
build_library/toolchain_util.sh: Install Rust from cross-compilation toolchain 2019-12-03 11:49:20 +01:00
Dongsu Park
da050d7ed1 build_library: make toolchain build rust for cross-builds
To make packages-matrix build rust sources for arm64-usr,
we need to make toolchain include the rust target for arm.
Unfortunately, catalyst does not support the cross-build rust target
by default. We also cannot add `dev-lang/rust` to `$TOOLCHAIN_PKGS`,
because then catalyst would tries to build a `cross-*/rust` package,
which does not exist.

So we need to manually run emerge for rust, without `--newuse -u`
options. If the `--newuse -u` options are given, the rust will not
be installed at all.
2019-11-29 16:49:51 +01:00
Dongsu Park
682b04635d
Merge pull request #23 from flatcar-linux/dongsu/arm-port
Support for ARM architecture
2019-11-25 15:24:55 +01:00
Kai Lüke
b361b03cef
build_library: Document flatcar.autologin kernel cmdline option 2019-11-21 16:10:11 +01:00
Kai Lüke
6888b7fbc6
build_library: Document when Ignition needs flatcar.first_boot=1 2019-11-21 15:15:17 +01:00
Dongsu Park
c9b4df9f1f
build_library/check_root: add shared libs to the IGNORE_MISSING
To avoid warnings about missing libraries, we should add several shared
libraries to the list of IGNORE_MISSING.
2019-11-19 17:09:16 +01:00
Kai Lüke
e98d9e1e8f
build_library: Replace edk2 with own edk2-aarch64 2019-11-19 17:09:16 +01:00
Kai Lüke
cb4d3255fa
build_library: ignore GLSA 201904-13 to build on arm64
GLSA 201904-13 was fixed by dev-vcs/git >= 2.20.1, but it's unstable
for arm64. That has been already changed to stable for arm64 on Gentoo
upstream, but both Container Linux and Flatcar Linux still have older
ebuild with `~arm64`. So for now we should ignore the GLSA 201904-03.
2019-11-19 17:09:16 +01:00
Kai Lüke
f9a9b2e803
Revert "build_toolchains: Stop building arm64 toolchains"
This reverts commit ecc6d6bd3e38de4a7324ec5b2927bd6ed0de092d.
2019-11-19 17:09:15 +01:00
Kai Lüke
bfd05424ad
Revert "Remove arm64 from supported board operations"
This reverts commit 2467923d56134683a0fd4c58808cd361ea1f855c.
2019-11-19 17:09:15 +01:00
Dongsu Park
45bb2c039b build_library: replace coreos-usr with flatcar-usr in disk_util
The disk_util also needs an update for the GPT type string.
2019-11-18 13:46:12 +01:00
Dongsu Park
0ac4e27840 build_library: replace coreos with flatcar in disk layout
To make GPT partition type strings include flatcar- strings
instead of coreos-, we need to change the disk layout file.
2019-11-15 13:47:12 +01:00
Mauricio Vásquez
48f5f1e84e rename Flatcar Linux to Flatcar Container Linux 2019-11-14 13:57:58 -05:00
Benjamin Gilbert
19ae51910b test_image_content: whitelist OpenSSH GLSA
It only affects a default-disabled USE flag, and our overlay ebuild is too
old to even support it.
2019-11-08 17:59:56 -05:00
Dongsu Park
fa8163acf2 Merge remote-tracking branch 'origin/master' into dongsu/merge-upstream-2019-10-17 2019-10-18 10:00:17 +02:00
Benjamin Gilbert
bd79eaf9d1 test_image_content: whitelist Perl and dbus GLSAs
Backported the dbus GLSA.  Ignoring the Perl one.
2019-09-10 21:47:55 -04:00
Dongsu Park
ceb23ff197 Merge remote-tracking branch 'origin/master' into dongsu/merge-upstream-2019-08-30 2019-08-30 11:44:11 +02:00
Benjamin Gilbert
97e61a164b test_image_content: whitelist polkit GLSA
Both CVE fixes were backported.
2019-08-24 01:28:29 -04:00
Dongsu Park
3e6c45945b build_library: fix qemu key name to org/flatcar-linux
To fix a wrong key name when running a qemu VM with ignition, we need to
replace `opt/com.coreos` with `opt/org.flatcar-linux`.

See also https://github.com/flatcar-linux/ignition/issues/2
2019-08-13 13:36:47 +02:00
David Michael
9b863fa7ae Revert "build_library: Add temporary workaround for binutils update"
This reverts commit faf07f1b8f24c5ec82305579337e074af3a9b818.
2019-08-08 15:53:06 +00:00
David Michael
faf07f1b8f build_library: Add temporary workaround for binutils update
Revert this after the new binutils is built into the SDK.
2019-08-03 16:24:27 +00:00
Dongsu Park
ab637f03cf Revert "build_library: retry losetup up to 10 seconds"
This reverts commit ffeca193c0f2936e064b503e85449669ee6b89e2,
a8cafdb3, 518f1298, 5bc76098, 06027d67
2019-06-29 23:04:40 +02:00
Dongsu Park
06027d670f build_library: detach only if loop_dev exists 2019-06-29 16:23:09 +02:00