From 3eca5d3f205f172e9da387b065981f0f400c8c1e Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Tue, 11 Aug 2026 17:44:22 +0200 Subject: [PATCH] docs: remove coreos-migration Signed-off-by: Mathieu Tortuyaux --- content/docs/latest/_index.md | 1 - .../docs/latest/coreos-migration/_index.md | 50 -------- .../update-from-container-linux.md | 113 ------------------ content/docs/latest/deploy/cloud/gcp.md | 4 - .../releases/update-strategies.md | 4 +- content/faq.md | 8 +- 6 files changed, 3 insertions(+), 177 deletions(-) delete mode 100644 content/docs/latest/coreos-migration/_index.md delete mode 100644 content/docs/latest/coreos-migration/update-from-container-linux.md diff --git a/content/docs/latest/_index.md b/content/docs/latest/_index.md index 58609fde6..b8a1932ba 100644 --- a/content/docs/latest/_index.md +++ b/content/docs/latest/_index.md @@ -22,7 +22,6 @@ Flatcar uses automated provisioning, read-only system images, and atomic updates | [Diagnostics and Fixing Issues](./diagnostics/) | Troubleshooting tools, logs, and rollback guidance. | | [Nebraska Update Manager & Releases](./updates-releases/) | Nebraska, release channels, and update management. | | [Security](./security/) | Hardening, authentication, encryption, and supply-chain topics. | -| [CoreOS Migration](./coreos-migration/) | Migration guidance for CoreOS Container Linux users. | | [Developer Guides](./devguide/) | SDK and image-building documentation for developers. | | [How to Contribute](./contribute/) | Community and contribution information. | diff --git a/content/docs/latest/coreos-migration/_index.md b/content/docs/latest/coreos-migration/_index.md deleted file mode 100644 index b94dd7db9..000000000 --- a/content/docs/latest/coreos-migration/_index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Migration from CoreOS Container Linux -linktitle: Migrating from CoreOS -weight: 100 -aliases: - - /docs/latest/migrating-from-coreos/ - - os/migrate-from-container-linux ---- - -While Flatcar is compatible with CoreOS Container Linux there are some naming differences you need to be aware of. - -**NOTE:** See [Updating from CoreOS Container Linux](update-from-container-linux) -for additional information on updating an existing cluster. - -## Installation - -_Optional:_ Instead of `coreos-installer` you should use `flatcar-installer`. - -## Kernel command line parameters - -_Optional:_ Instead of providing the `coreos.first_boot=1` argument via the boot loader you should provide `flatcar.first_boot=1`. -This forces provisioning via Ignition even if the machine (image) was booted already before. - -_Optional:_ Instead of providing the `coreos.config.url=SOMEURL` argument via the boot loader you should provide `ignition.config.url=SOMEURL` -to tell Ignition to download the configuration. -The change to a more generic name was done upstream by the Ignition project. Version 0.33 still supports both names and we -also do this via the analogous `flatcar.config.url` option but we encourage the generic name because future versions of Ignition -will only support `ignition.config.url`. - -_Optional:_ Instead of providing the `coreos.oem.id=NAME` argument via the boot loader you should provide `flatcar.oem.id=NAME`. -(A change to the more generic name `ignition.platform.id` was done upstream by the Afterburn project but is not part of Container Linux yet.) - -**Recover from or prevent errors with missing OEM settings (e.g., `coreos-metadata-sshkeys@core.service`):** While current releases handle both `coreos.oem` and `flatcar.oem` names, previous releases still required `flatcar.oem.…`. -In that case you need to change the variables in the file `/usr/share/oem/grub.cfg` when you update from CoreOS Container Linux: - -```text -# GRUB settings -set oem_id="myoemvalue" -set linux_append="$linux flatcar.oem.id=myoemvalue" -``` - -## Ignition configuration with QEMU - -_Optional:_ Instead of using `opt/com.coreos/config` in the `-fw_cfg` name-value argument pair for QEMU/KVM or libvirt you need to use `opt/org.flatcar-linux/config`. -The value in the argument pair specifies the Ignition file to use. - -## Ignition configuration with VMware - -_Optional:_ Instead of `coreos.config.data` and `coreos.config.data.encoding` for the VMware `guestinfo.VARIABLE` command line options you should use `ignition.config.data` and `ignition.config.data.encoding`. -Same as for the `ignition.config.url` kernel parameter this change was done upstream by the Ignition project. diff --git a/content/docs/latest/coreos-migration/update-from-container-linux.md b/content/docs/latest/coreos-migration/update-from-container-linux.md deleted file mode 100644 index 29570c705..000000000 --- a/content/docs/latest/coreos-migration/update-from-container-linux.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: Updating from CoreOS Container Linux -linktitle: Updating from CoreOS -weight: 10 -aliases: - - /docs/latest/migrating-from-coreos/update-from-container-linux/ - - ../os/update-from-container-linux ---- - -If you already have CoreOS Container Linux clusters and can't or don't want to freshly install Flatcar Container Linux, you can update to Flatcar Container Linux directly from CoreOS Container Linux by performing the following steps. - -**NOTE:** General differences when [migrating from CoreOS Container Linux][migrate-from-container-linux] also apply. - - -## The migration script - -The [update-to-flatcar.sh](https://raw.githubusercontent.com/flatcar/flatcar-docs/main/update-to-flatcar.sh) script does all required steps for you: - -```bash -# To be run on the node via SSH -core@host ~ $ wget https://raw.githubusercontent.com/flatcar/flatcar-docs/main/update-to-flatcar.sh -core@host ~ $ less update-to-flatcar.sh # Double check the content of the script -core@host ~ $ chmod +x update-to-flatcar.sh -core@host ~ $ ./update-to-flatcar.sh -[…] -Done, please reboot now -core@host ~ $ sudo systemctl reboot -``` - -If it fails due to SSL connection issues from outdated certificates, you can also download the update payload of the latest Stable release through plain HTTP and use the `flatcar-update` script instead: - -```bash -$ VER=$(curl -fsSL --insecure --ssl-no-revoke http://stable.release.flatcar-linux.net/amd64-usr/current/version.txt | grep FLATCAR_VERSION= | cut -d = -f 2) -$ wget --no-check-certificate "http://update.release.flatcar-linux.net/amd64-usr/$VER/flatcar_production_update.gz" -$ wget --no-check-certificate http://raw.githubusercontent.com/flatcar/init/flatcar-master/bin/flatcar-update -$ less flatcar-update # Double check the content of the script -$ chmod +x flatcar-update -$ sudo ./flatcar-update --to-version "$VER" --to-payload flatcar_production_update.gz --force-flatcar-key -``` - -**Before you reboot, check that you migrated the variable names as written in [Migrating from CoreOS Container Linux][migrate-from-container-linux].** - -## Going back to CoreOS Container Linux - -You can also go the other way. - -### Manual rollback - -If you just updated to Flatcar (and haven't done any additional updates), CoreOS Container Linux will still be on your disk, you just need to roll back to the other partition. - -To do that, just use this command composition: - -```bash -sudo cgpt prioritize "$(sudo cgpt find -t flatcar-usr | grep --invert-match "$(rootdev -s /usr)")" -``` - -Now you can reboot and you'll be back to CoreOS Container Linux. -Remember to undo your changes in your `/etc/coreos/update.conf` after rolling back if you want to keep getting CoreOS Container Linux updates. - -For more information about manual rollbacks, check [Performing a manual rollback][manual-rollback]. - -### Force an update to CoreOS Container Linux - -This procedure is similar to updating from CoreOS Container Linux to Flatcar Container Linux. -You need to get CoreOS Container Linux's public key, point update_engine to CoreOS Container Linux's update server, and force an update. - -Get CoreOS Container Linux's public key: - -```bash -curl -L -o /tmp/key https://raw.githubusercontent.com/coreos/coreos-overlay/master/coreos-base/coreos-au-key/files/official-v2.pub.pem -``` - -Bind-mount it: - -```bash -sudo mount --bind /tmp/key /usr/share/update_engine/update-payload-key.pub.pem -``` - -Create an `/etc/flatcar` directory and copy the current update configuration: - -```bash -sudo mkdir -p /etc/flatcar -sudo cp /etc/coreos/update.conf /etc/flatcar/ -``` - -Change the `SERVER` field in `/etc/flatcar/update.conf`: - -```bash -SERVER=https://public.update.core-os.net/v1/update/ -``` - -Bind-mount the release file: - -```bash -cp /usr/share/flatcar/release /tmp -sudo mount --bind /tmp/release /usr/share/flatcar/release -``` - -Edit `FLATCAR_RELEASE_VERSION` to force an update: - -```bash -FLATCAR_RELEASE_VERSION=0.0.0 -``` - -After that, restart the update service so it rescans the edited configuration and initiates an update. -The system will reboot into CoreOS Container Linux: - -```bash -sudo update_engine_client -update -``` - -[migrate-from-container-linux]: _index.md -[manual-rollback]: ../diagnostics/manual-rollbacks#performing-a-manual-rollback diff --git a/content/docs/latest/deploy/cloud/gcp.md b/content/docs/latest/deploy/cloud/gcp.md index 1c3d46915..df2b9ad22 100644 --- a/content/docs/latest/deploy/cloud/gcp.md +++ b/content/docs/latest/deploy/cloud/gcp.md @@ -121,10 +121,6 @@ The Dockerfile for the `ghcr.io/flatcar/google-cloud-flatcar-image-upload` image [bucket]: https://cloud.google.com/storage/docs/key-terms#bucket-names [google-cloud-flatcar-image-upload]: https://github.com/flatcar/flatcar-cloud-image-uploader/blob/master/google-cloud-flatcar-image-upload -## Upgrade from CoreOS Container Linux - -You can also [upgrade from an existing CoreOS Container Linux system](../../coreos-migration/update-from-container-linux). - ## Butane Config Flatcar Container Linux allows you to configure machine parameters, configure networking, launch systemd units on startup, and more via Butane Configs. These configs are then transpiled into Ignition configs and given to booting machines. Head over to the [docs to learn about the supported features][cl-configs]. diff --git a/content/docs/latest/updates-releases/releases/update-strategies.md b/content/docs/latest/updates-releases/releases/update-strategies.md index 8e403cad6..d1bdf5b2d 100644 --- a/content/docs/latest/updates-releases/releases/update-strategies.md +++ b/content/docs/latest/updates-releases/releases/update-strategies.md @@ -297,7 +297,8 @@ update_engine_client -check_for_update ### Updating outdated versions -Even if Flatcar tries to stay compatible with old versions, there are still some cases where it's not possible to update from an old release. The first common problem is that the SSL certificates might be so outdated that contacting the update server and downloading the update payload fails. The section on [updating from CoreOS Container Linux][update-from-container-linux] shows how to use HTTP together with `flatcar-update` to jump to a new Flatcar release. This resembles airgapped updates, which are also covered above. +Even if Flatcar tries to stay compatible with old versions, there are still some cases where it's not possible to update from an old release. The first common problem is that the SSL certificates might be so outdated that contacting the update server and downloading the update payload fails. In that case, download the update payload over plain HTTP (instead of HTTPS) and apply it with `flatcar-update` as described in the airgapped update steps above. + The second common problem is that old versions can't handle the new compressed btrfs `/usr` partition. A solution is to **first update to the LTS 2023** which are the releases with major version 3510. Afterwards one can switch to the Stable channel again. We hope to improve this in the future by letting the update server detect these situations. ### Management of config files @@ -354,4 +355,3 @@ storage: [reboot-windows]: https://github.com/flatcar/locksmith#reboot-windows [systemd-env-vars]: ../../os-config/host-config/environment-variables/#system-wide-environment-variables [transpiler]: ../../fb-provision/butane/ -[update-from-container-linux]: ../../coreos-migration/update-from-container-linux diff --git a/content/faq.md b/content/faq.md index 972abc6fd..a97ab25db 100644 --- a/content/faq.md +++ b/content/faq.md @@ -41,13 +41,7 @@ Check out our [release page](https://flatcar-linux.org/releases/) to see the lat ### How does Flatcar Container Linux differ from CoreOS Container Linux? -The main difference is that Flatcar Container Linux is still maintained, while CoreOS Container Linux has been discontinued. Flatcar Container Linux is a drop-in replacement for CoreOS Container Linux. Any minor changes you may need to consider are documented in the [migration documentation](https://flatcar-linux.org/docs/latest/migrating-from-coreos/). - -### What are the plans for Flatcar Container Linux now that CoreOS has reached EOL? - -CoreOS Container Linux was [discontinued in 2020](https://coreos.com/os/eol/#timeline). Flatcar Container Linux understands itself as the successor in spirit and will continue following the philosophy pioneered by CoreOS, delivering a fully open source, minimal-footprint, secure by default and always up-to-date Linux distribution for running containers at scale. - -We will continue to actively develop and support Flatcar Container Linux; updating key components such as the Linux kernel, systemd and Docker. We will also maintain support for Flatcar Container Linux as a drop-in replacement for CoreOS Container Linux for an extended migration period. +The main difference is that Flatcar Container Linux is still maintained, while CoreOS Container Linux has been discontinued. Flatcar Container Linux is a drop-in replacement for CoreOS Container Linux. ### What is the significance of the Flatcar Container Linux name?