123456789101112131415161718192021222324 |
- # Extract UUID from ${ROOTFS}, which must have been built
- # by the time that this function gets called. Only works
- # on ext file systems and depends on tune2fs.
- def get_rootfs_uuid(d):
- import subprocess
- rootfs = d.getVar('ROOTFS')
- output = subprocess.check_output(['tune2fs', '-l', rootfs])
- for line in output.split('\n'):
- if line.startswith('Filesystem UUID:'):
- uuid = line.split()[-1]
- bb.note('UUID of %s: %s' % (rootfs, uuid))
- return uuid
- bb.fatal('Could not determine filesystem UUID of %s' % rootfs)
- # Replace the special <<uuid-of-rootfs>> inside a string (like the
- # root= APPEND string in a syslinux.cfg or systemd-boot entry) with the
- # actual UUID of the rootfs. Does nothing if the special string
- # is not used.
- def replace_rootfs_uuid(d, string):
- UUID_PLACEHOLDER = '<<uuid-of-rootfs>>'
- if UUID_PLACEHOLDER in string:
- uuid = get_rootfs_uuid(d)
- string = string.replace(UUID_PLACEHOLDER, uuid)
- return string
|