~curtin-dev/curtin/xenial

« back to all changes in this revision

Viewing changes to curtin/commands/curthooks.py

  • Committer: Scott Moser
  • Date: 2017-01-18 16:01:35 UTC
  • mto: This revision was merged to the branch mainline in revision 58.
  • Revision ID: smoser@ubuntu.com-20170118160135-08jqgjm1rbp6zb1x
* debian/new-upstream-snapshot: change to not use bzr merge-upstream.
* New upstream snapshot.
  - revert: Test Workaround: skip XenialTestNvme for a short time.
  - Test Workaround: skip XenialTestNvme for a short time.
  - pep8: fix pep8 errors found with 'make pep8' on zesty.
  - Workaround failures caused by gpg2 daemons left running in chroot.
    (LP: #1645680)
  - Install u-boot-tools when running on a system with u-boot. (LP: #1640519)
  - block: fix partition kname for raid devices  (LP: #1641661)
  - Fix up tox errors that slipped in and new pycodestyle 2.1.0 complaints.
  - vmtests: adjust vmtest image sync metadata filenames
  - vmtests: Add centos support
  - Disable WilyTestRaid5Bcache vmtest
  - tools/xkvm: fix --netdev=<bridge>
  - bytes2human: fix for values larger than 32 bit int on 32 bit python2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
159
159
        in_chroot.subp(['zipl'])
160
160
 
161
161
 
 
162
def get_flash_kernel_pkgs(arch=None, uefi=None):
 
163
    if arch is None:
 
164
        arch = util.get_architecture()
 
165
    if uefi is None:
 
166
        uefi = util.is_uefi_bootable()
 
167
    if uefi:
 
168
        return None
 
169
    if not arch.startswith('arm'):
 
170
        return None
 
171
 
 
172
    try:
 
173
        fk_packages, _ = util.subp(
 
174
            ['list-flash-kernel-packages'], capture=True)
 
175
        return fk_packages
 
176
    except util.ProcessExecutionError:
 
177
        # Ignore errors
 
178
        return None
 
179
 
 
180
 
162
181
def install_kernel(cfg, target):
163
182
    kernel_cfg = cfg.get('kernel', {'package': None,
164
183
                                    'fallback-package': "linux-generic",
173
192
    mapping = copy.deepcopy(KERNEL_MAPPING)
174
193
    config.merge_config(mapping, kernel_cfg.get('mapping', {}))
175
194
 
 
195
    # Machines using flash-kernel may need additional dependencies installed
 
196
    # before running. Run those checks in the ephemeral environment so the
 
197
    # target only has required packages installed.  See LP:1640519
 
198
    fk_packages = get_flash_kernel_pkgs()
 
199
    if fk_packages:
 
200
        util.install_packages(fk_packages.split(), target=target)
 
201
 
176
202
    if kernel_package:
177
203
        util.install_packages([kernel_package], target=target)
178
204
        return
344
370
    cmd = ['update-initramfs', '-u']
345
371
    if all_kernels:
346
372
        cmd.extend(['-k', 'all'])
347
 
    util.subp(cmd, target=target)
 
373
    with util.ChrootableTarget(target) as in_chroot:
 
374
        in_chroot.subp(cmd)
348
375
 
349
376
 
350
377
def copy_fstab(fstab, target):