mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-12-26 01:37:04 +00:00
Merge branch 'master' of github.com:opencomputeproject/OpenNetworkLinux
This commit is contained in:
@@ -22,6 +22,10 @@ def _makedirs(d):
|
||||
if not os.path.exists(d):
|
||||
os.makedirs(d)
|
||||
|
||||
def onie_fwpkg_exists():
|
||||
with OnlOnieBootContext() as ob:
|
||||
return os.path.exists(os.path.join(ob.directory, "onie/tools/bin/onie-fwpkg"))
|
||||
|
||||
def onie_fwpkg(arguments):
|
||||
with OnlOnieBootContext() as ob:
|
||||
# This is necessary if we've upgraded ONIE but haven't booted into it yet...
|
||||
@@ -35,9 +39,3 @@ def boot_entry_set(index):
|
||||
|
||||
def boot_onie():
|
||||
return boot_entry_set(1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,11 @@ class FirmwareUpgrade(ubase.BaseOnieUpgrade):
|
||||
|
||||
def do_upgrade(self, forced=False):
|
||||
if self.manifest.get('fwpkg', False):
|
||||
if not self.onie_fwpkg_exists():
|
||||
# An ONIE upgrade is probably required.
|
||||
print "The firmware cannot be upgraded because the current ONIE version is not correct. Please perform an ONIE upgrade first."
|
||||
self.abort()
|
||||
|
||||
self.onie_fwpkg_add(os.path.join(sysconfig.upgrade.firmware.package.dir,
|
||||
self.manifest['updater']))
|
||||
else:
|
||||
@@ -56,4 +61,3 @@ class FirmwareUpgrade(ubase.BaseOnieUpgrade):
|
||||
|
||||
def do_no_upgrade(self):
|
||||
self.clean_onie_updater()
|
||||
|
||||
|
||||
@@ -391,6 +391,10 @@ class BaseOnieUpgrade(BaseUpgrade):
|
||||
dst = os.path.join(self.ONIE_UPDATER_PATH, f)
|
||||
self.copyfile(src, dst)
|
||||
|
||||
def onie_fwpkg_exists(self):
|
||||
import onl.grub
|
||||
return onl.grub.onie_fwpkg_exists()
|
||||
|
||||
def onie_fwpkg_add(self, pkg):
|
||||
import onl.grub
|
||||
onl.grub.onie_fwpkg("-f purge")
|
||||
|
||||
Submodule packages/platforms-closed updated: 0cebd1c98c...bc41b320e8
Reference in New Issue
Block a user