summaryrefslogtreecommitdiff
path: root/src/op_mode/image_installer.py
AgeCommit message (Collapse)Author
2026-06-16image: T8923: fix typo in variable definition "PARTITONING" -> "PARTITIONING"Christian Breunig
2026-06-16T8923: normalize "can not" to "cannot"Christian Breunig
Replace two-word "can not" / "Can not" with "cannot" across comments, ConfigError messages, CLI help text, and op-mode output. Standard SNMP MIB files under mibs/ are left unchanged.
2026-06-09T8976: explicitly remove 'kernel' device setting on choice of 'tty'John Estabrook
2026-04-15T8445: set activation hint during install imageJohn Estabrook
2026-04-09serial: T8375: add CLI option to explicitly set kernel consoleChristian Breunig
Previously, VyOS hardcoded the kernel boot log console to either ttyS0 or tty0, with no post-install CLI method to change it (manual GRUB edits were required). This commit adds a new CLI node: system console device <name> kernel When set, the selected serial console is used as the kernel boot console. When removed, the kernel boot console falls back to tty0.
2026-04-09serial: T8375: use boot activation script to define a serial console on the CLIChristian Breunig
Required during first-boot of a system. We have images form amd64 and arm64 CPUs which also tend to have different serial interfaces (ttyS vs. ttyAMA). The images which are installed have the correct serial setting for GRUB (ttyS0 or ttyAMA0) and the activation script will probe the Kernel command-line. If a serial interface is defined, we will include it in the VyOS CLI configuration.
2026-04-09T8375: general import cleanup on the way to serial activationChristian Breunig
For the sake of nice grep lines and refactoring we have an unspoken - unwritten rule considered as folklore to have imports one per line. This helped in the past with refactorings.
2026-03-24T8410: Fix typos and mistakes for operational and configuration commandsViacheslav Hletenko
Fix typos and mistakes in the commands and comments No functional changes
2026-03-20login: T8415: show Warning() if default password is used when adding userChristian Breunig
When performing an image installation and the user chooses vyos as the default password, a warning is emitted. The combination vyos/vyos is used in brute force lists and have been seen multiple times in the wild. When adding the user via: set system login user vyos authentication plaintext-password vyos a warning should be shown!
2026-02-19T8120: Use list for the consoles instead of tupleViacheslav Hletenko
Co-authored-by: Christian Breunig <christian@breunig.cc>
2026-02-18T8120: Add AMA support AMA console for ARM devicesViacheslav Hletenko
2026-02-12T8257: image install search previous needs to consider legacy bind mountJohn Estabrook
For those images created with the legacy bind mount, the resident config.boot at {mounted_image}/opt/vyatta/etc/config is the baseline, not the saved config (which is then restored at boot). Image install needs to search the legacy path at {mounted_image}/config as well as the normalized path.
2025-11-25T7319: check unsaved_commits before upgradeJohn Estabrook
2025-11-14T7994: fix regression in check for previous installations on installJohn Estabrook
After T7836: move bind mount of /config to vyos-1x, the bind mount is configured at boot, not within the initrd. On image install, one needs to check for previous installations in the resident directory /opt/vyatta/etc/config of the mounted disk.
2025-11-10T8003: Add early kernel panic reboot supportGrant Slater
2025-10-09Merge pull request #4678 from alexandr-san4ez/T5455-currentChristian Breunig
image: T5455: Add migration of SSH `known_hosts` files during upgrade
2025-10-06T7818: remove unneeded calls of get_cli_kernel_options causing regressionJohn Estabrook
The call of get_cli_kernel_options is made conditional to resolve T7818; remove later addition of unconditional calls causing regression.
2025-09-26image: T5455: Add migration of SSH `known_hosts` files during image upgradeOleksandr Kuchmystyi
During upgrade, the script now checks if any `known_hosts` files exist. If so, it prompts the user to save these SSH fingerprints, and upon confirmation, copies the files to the new image persistence directory.
2025-09-23tpm: T7726: Copy encrypted volume when adding system imagessarthurdev
2025-09-22image: T7818: avoid error when skipping config migrationChristian Breunig
Fix "No such file or directory" error triggered during image upgrade when user opts not to migrate config. GRUB cmdline migration incorrectly attempts to access non-existent config in new image path.
2025-09-22image: T7818: re-use global path definitions from vyos.defaultsChristian Breunig
Reduce amount of duplicate file/folder strings.
2025-07-31T7668: bail out early in get_cli_kernel_options() if nothing is to doChristian Breunig
If there is no Kernel option to pass, there is no need to run the code to completion. Bail out early.
2025-07-30T7668: Fix image update due to None kernel optionsViacheslav
If we do not have the system options kernel the update fails Change order for variables `k_cpu_opts` and `k_memory_opts` If we do not have kernel_options set empty dictionary as NoneType object has no attribue `get` ``` >>> kernel_options=None >>> kernel_options.get('cpu', {}) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'get' >>> >>> >>> kernel_options={} >>> kernel_options.get('cpu', {}) {} >>> ```
2025-07-25T7649: Fix use hyphens instead of underscores for kernel optionsViacheslav
The ConfigTree for operation mode uses hyphens instaed of underscores. Fix kernel options during image upgrade.
2025-07-24T7649: Add missed system kernel options for image installerViacheslav
Add missed system kernel options to the image_installer do not lose configured kernel options per an image upgrade.
2025-06-28T7591: remove copyright years from source filesChristian Breunig
The legal team says years are not necessary so we can go ahead with it, since it will simplify backporting. Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \ 's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors <maintainers@vyos.io>/g' In addition we will error-out during "make" if someone re-adds a legacy copyright notice
2025-06-20installer: T6144: require at least 2GB of free space for image upgradeDaniil Baturin
2025-05-17image: T1771: save previous image name to upgraded image persistent storageChristian Breunig
When performing an image upgrade we will create a file named /config/first_boot with JSON data inside the new images persistent storage. The content of the file will look like: {"previous_image": "1.5-stream-2025-Q3"} The previous image name can be easily queried using "jq -r '.previous_image'". This is the base work required for an adjusted version of the vyos-router init script to support an automatic rollback to a previous image if things go sideways.
2025-05-06Merge pull request #4387 from woodsb02/patch-1Daniil Baturin
installer: T7049: Fix GRUB boot with RAID1
2025-04-30installer: T7420: pass image download credentials in environment variablesDaniil Baturin
rather than in the command line
2025-04-29Merge pull request #4477 from c-po/kernel-option-quietDaniil Baturin
T7397: add "system kernel option quiet" to suppress boot messages
2025-04-26T7397: add "system kernel option quiet" to suppress boot messagesChristian Breunig
Add option to limit the number of messages that are displayed on the console during the boot process and to persist this setting with image upgrades. set system option kernel quiet
2025-04-25image_installer: T7394: add system image raise "Error: argument of type ↵canoziia
'NoneType' is not iterable"
2025-04-15grub: T7327: honor "system option kernel" settings during image upgradeChristian Breunig
When performing an image upgrade and Linux Kernel command-line option that should be passed via GRUB to the Linux Kernel are missing on the first boot. This is because when generating the GRUB command-line via the op-mode scripts the CLI nodes defining the options are not honored. This commit re-implements the code-path in op-mode which generates the strings passed via GRUB to the Linux Kernel command-line. NOTE: If (for a yet unknown reason) a Kernel command-line option string changes during a major - or minor - upgrade of the Linux Kernel, we will need to adapt that logic and possibly call a helper from within the NEW updated image rootfs. Thus we can ship future information back into the past like the "Grays Sports Almanac" from Back to the Future Part II.
2025-04-13T7359: confirm image name is available before acceptingJohn Estabrook
An attempt to reuse the name of an existing installed image should prompt the user to re-enter a name, rather than allowing the installation to fail.
2025-03-31installer: T7301: remove support for GnuPG signaturesDaniil Baturin
2025-03-28T7294: preserve /config symlinks on image upgradeJohn Estabrook
The service certbot expects symbolic links for /config/auth/letsencrypt/live/<cert_name>/*.pem however, the default behavior of copytree copies the linked files during image upgrade. Set copytree argument to preserve symlinks.
2025-03-25T7278: Remove cracklib hack from postinstall script templateoniko94
2025-03-18T6353: Add password strength check and user warningoniko94
2025-03-11installer: T7049: Fix GRUB boot with RAID1Ben Woods
Rename directory in EFI system partition from: From: \EFI\VyOS (RAID disk 1) To: \EFI\VyOS This prevents GRUB dropping to a grub prompt rather than showing the VyOS boot menu, after installing with the RAID1 option. Refer bug: https://vyos.dev/T7049
2025-02-03installer: T7102: download upgrade images to a random path in the root ↵Daniil Baturin
filesystem
2025-01-30installer: T7036: handle missing flavor and architecture data gracefullyDaniil Baturin
2025-01-28installer: T7034: fail the upgrade if image flavors do not match (#4297)Daniil Baturin
2024-12-11op_mode: T6767: Check latest image version in VRF context for "add system ↵Nataliia Solomko
image latest vrf <name>"
2024-05-28op mode: T6389: Check architecture and flavor compatibility on upgrade attemptsNataliia Solomko
2024-05-10image-tools: T6176: use console_hint as defaultJohn Estabrook
2024-05-10image-tools: T6176: add console hint during image installJohn Estabrook
2024-05-10image-tools: T6327: drop boot console type ttyUSBJohn Estabrook
2024-04-22image-tools: T6260: remove persistence image directory if no space errorJohn Estabrook
2024-04-16image-tools: T6154: installer prompts to confirm a non-default passwdJohn Estabrook