diff options
author | zsdc <taras@vyos.io> | 2021-12-30 19:15:50 +0200 |
---|---|---|
committer | zsdc <taras@vyos.io> | 2021-12-30 19:15:50 +0200 |
commit | cbc5a8ef2795326b561d599b76ee2052cbb31419 (patch) | |
tree | 3ee996464abf217036df230d03176a7cd64f62e9 | |
parent | 3b99caf65d3392c88600066a93fc0b29b767c84c (diff) | |
download | vyatta-op-cbc5a8ef2795326b561d599b76ee2052cbb31419.tar.gz vyatta-op-cbc5a8ef2795326b561d599b76ee2052cbb31419.zip |
images management: T4113: Improved GRUB config parsing
The commit fixes two problems with GRUB configuration items parser:
* items with only one `console=ttyS0` were wrongly detected as those that
have a `kvm` console type
* items where the `boot=live`option is the latest one cannot be removed
from a configuration during an image removal
-rwxr-xr-x | scripts/vyatta-boot-image.pl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/vyatta-boot-image.pl b/scripts/vyatta-boot-image.pl index 0ecb442..140b8e9 100755 --- a/scripts/vyatta-boot-image.pl +++ b/scripts/vyatta-boot-image.pl @@ -102,7 +102,7 @@ sub parseGrubCfg { # old install $ehash{'ver'} = $OLD_IMG_VER_STR; } - if (/console=tty0.*console=ttyS[0-9]/) { + if (/console=ttyS\d(?!.*console)/) { $ehash{'term'} = 'serial'; } else { $ehash{'term'} = 'kvm'; @@ -170,7 +170,7 @@ sub deleteGrubEntries { @entry = (); } else { if (/^\s+linux/) { - if (/^\s+linux \/boot\/([^\/ ]+)\/.* boot=live /) { + if (/^\s+linux \/boot\/([^\/ ]+)\/.* boot=live/) { # kernel line $ver = $1; } else { |