summaryrefslogtreecommitdiff
path: root/system-version-manager/system-version-manager
Commit message (Collapse)AuthorAgeFilesLines
* Add --json flag to list commandRichard Ipsum2015-09-231-3/+14
| | | | | | | | It's useful for morph (and potentially other programs) to be able to easily obtain the current list of systems without having to either duplicate the code in system-version-manager or parse its output. Change-Id: I2bf563920f6bd0372c82900257c4ba221caa7833
* Check multiple locations for extlinux.confbaserock/james/add_boot_deviceJames Thomas2014-11-201-2/+13
| | | | | U-boot wants the extlinux.conf to be in /extlinux/extlinux.conf, rather than /, so if we don't find it there, search in /extlinux
* Support booting from a different partition using BOOT_DEVICEJames Thomas2014-11-201-20/+38
| | | | | This allows bootloaders without btrfs support (e.g u-boot) to boot from an ext partition
* Make system-version-manager show running and default systemsPaul Sherwood2014-09-251-1/+7
|
* Add support for device treesbaserock/james/jetson_updateJames Thomas2014-07-241-0/+19
|
* Don't treat the lack of a menu.c32 file as a serious errorJames Thomas2014-07-241-4/+11
| | | | We can add a menu entry for this in the extlinux.conf file directly
* Generate extlinux.conf using deployment options from /baserock/deployment.metaRichard Maw2014-06-161-5/+52
| | | | | | | | | | | | | | | | | This will add the initramfs to the config and tell it to mount the disk by UUID if INITRAMFS_PATH was provided in the initial deployment. It will also include the extra KERNEL_ARGS provided. This is required to be able to upgrade a system that uses an initramfs and have it continue to use the initramfs. The system will continue to work without this patch if the initramfs' only responsibility was translating a UUID into a disk path, since system-version-manager would generate an extlinux.conf that boots with the same disk as it is currently using, but that would break if the device enumeration order changed e.g. if another disk was inserted before the rootfs, or the disk is transplanted into another machine.
* Actually use atomic_symlink_update for somethingRichard Maw2014-06-161-3/+1
| | | | | | | | | | | This function was added to ensure safe, automatic updates of the default system symlink, but for some reason, was never used. Instead it open-coded a vulnerable way of doing this, which could fail if an upgrade was aborted at the wrong time. So now we use atomic_symlink_update, which won't fail, and the worst that can happen is a temporary directory gets left around.
* Use fd from mkstemp to create file object, rather than pathRichard Maw2014-06-161-2/+1
| | | | | It's a shame to throw away the fd that ensures we aren't hit by a symlink attack.
* Fix spaces between function name and parametersRichard Maw2014-06-161-2/+2
|
* system-version-manager: Allow specifying custom path for ↵baserock/pedroalvarez/trove-upgrades-rebase2Sam Thursfield2014-03-061-1/+5
| | | | | | | baserock-system-config-sync This is helpful when deploying an upgrade to a system that doesn't already have baserock-system-config-sync installed.
* Add script to modify the bootloader and manage different parallel OS.Pedro Alvarez2014-03-061-0/+314
This is part of the upgrades work. With this tool you can now switch between versions of the OS, remove a version, list all the versions present in the system, get the default version and the running version, and deploy a new system. All of the above is possible with the following subcommands: - list - deploy - get-default - get-running - remove - set-default It also activates a bootloader menu to choose a version to boot. The menu is important to make sure the user can boot the old OS if the new kernel doesn't work.