wic: Add option to not change fstab

Create an option to wic doesn't change fstab file, the final
fstab file will be same that in rootfs and wic doesn't update
file, e.g adding a new mount point.

Users can control the fstab file content in base-files recipe.
This is useful if you want to only create an partition but not
add fstab mount point or add new mount point using label e.g:

LABEL=recovery /recovery auto defaults 0  1

(From OE-Core rev: 00420ec42140c1b752132bda190dede85756d157)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Fabio Berton 2017-04-19 13:42:47 -03:00 committed by Richard Purdie
parent b7485a0880
commit 5c98f20f5c
3 changed files with 13 additions and 2 deletions

View File

@ -155,7 +155,7 @@ SYNOPSIS
[-e | --image-name] [-s, --skip-build-check] [-D, --debug]
[-r, --rootfs-dir] [-b, --bootimg-dir]
[-k, --kernel-dir] [-n, --native-sysroot] [-f, --build-rootfs]
[-c, --compress-with] [-m, --bmap]
[-c, --compress-with] [-m, --bmap] [--no-fstab-update]
DESCRIPTION
This command creates an OpenEmbedded image based on the 'OE
@ -227,6 +227,11 @@ DESCRIPTION
The -m option is used to produce .bmap file for the image. This file
can be used to flash image using bmaptool utility.
The --no-fstab-update option is used to doesn't change fstab file. When
using this option the final fstab file will be same that in rootfs and
wic doesn't update file, e.g adding a new mount point. User can control
the fstab file content in base-files recipe.
"""
wic_list_usage = """

View File

@ -71,6 +71,7 @@ class DirectPlugin(ImagerPlugin):
self.outdir = options.outdir
self.compressor = options.compressor
self.bmap = options.bmap
self.no_fstab_update = options.no_fstab_update
self.name = "%s-%s" % (os.path.splitext(os.path.basename(wks_file))[0],
strftime("%Y%m%d%H%M"))
@ -165,7 +166,10 @@ class DirectPlugin(ImagerPlugin):
filesystems from the artifacts directly and combine them into
a partitioned image.
"""
new_rootfs = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR"))
if self.no_fstab_update:
new_rootfs = None
else:
new_rootfs = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR"))
if new_rootfs:
# rootfs was copied to update fstab
self.rootfs_dir['ROOTFS_DIR'] = new_rootfs

View File

@ -342,6 +342,8 @@ def wic_init_parser_create(subparser):
dest='compressor',
help="compress image with specified compressor")
subparser.add_argument("-m", "--bmap", action="store_true", help="generate .bmap")
subparser.add_argument("--no-fstab-update" ,action="store_true",
help="Do not change fstab file.")
subparser.add_argument("-v", "--vars", dest='vars_dir',
help="directory with <image>.env files that store "
"bitbake variables")