print "userdata.img already exists in %s, no need to rebuild..." % (prefix,)
return
+ # Skip userdata.img if no size.
image_props = build_image.ImagePropFromGlobalDict(OPTIONS.info_dict, "data")
- # We only allow yaffs to have a 0/missing partition_size.
- # Extfs, f2fs must have a size. Skip userdata.img if no size.
- if (not image_props.get("fs_type", "").startswith("yaffs") and
- not image_props.get("partition_size")):
+ if not image_props.get("partition_size"):
return
print "creating userdata.img..."
build_command = ["mkf2fsuserimg.sh"]
build_command.extend([out_file, prop_dict["partition_size"]])
else:
- build_command = ["mkyaffs2image", "-f"]
- if prop_dict.get("mkyaffs2_extra_flags", None):
- build_command.extend(prop_dict["mkyaffs2_extra_flags"].split())
- build_command.append(in_dir)
- build_command.append(out_file)
- if "selinux_fc" in prop_dict:
- build_command.append(prop_dict["selinux_fc"])
- build_command.append(prop_dict["mount_point"])
+ print("Error: unknown filesystem type '%s'" % (fs_type))
+ return False
if in_dir != origin_in:
# Construct a staging directory of the root file system.
common_props = (
"extfs_sparse_flag",
"squashfs_sparse_flag",
- "mkyaffs2_extra_flags",
"selinux_fc",
"skip_fsck",
"verity",
# files. Look for them, in case we're processing an old
# target_files zip.
- if "mkyaffs2_extra_flags" not in d:
- try:
- d["mkyaffs2_extra_flags"] = read_helper(
- "META/mkyaffs2-extra-flags.txt").strip()
- except KeyError:
- # ok if flags don't exist
- pass
-
if "recovery_api_version" not in d:
try:
d["recovery_api_version"] = read_helper(
if not fs_type or not limit:
return
- if fs_type == "yaffs2":
- # image size should be increased by 1/64th to account for the
- # spare area (64 bytes per 2k page)
- limit = limit / 2048 * (2048+64)
size = len(data)
pct = float(size) * 100.0 / limit
msg = "%s size (%d) is %.2f%% of limit (%d)" % (target, size, pct, limit)
# map recovery.fstab's fs_types to mount/format "partition types"
PARTITION_TYPES = {
- "yaffs2": "MTD",
- "mtd": "MTD",
"ext4": "EMMC",
"emmc": "EMMC",
"f2fs": "EMMC",
self.script.append("set_progress(%f);" % (frac,))
def PatchCheck(self, filename, *sha1):
- """Check that the given file (or MTD reference) has one of the
+ """Check that the given file has one of the
given *sha1 hashes, checking the version saved in cache if the
file does not match."""
self.script.append(
') || abort("\\"%s\\" has unexpected contents.");' % (filename,))
def Verify(self, filename):
- """Check that the given file (or MTD reference) has one of the
+ """Check that the given file has one of the
given hashes (encoded in the filename)."""
self.script.append(
'apply_patch_check("{filename}") && '
filename=filename))
def FileCheck(self, filename, *sha1):
- """Check that the given file (or MTD reference) has one of the
+ """Check that the given file has one of the
given *sha1 hashes."""
self.script.append('assert(sha1_check(read_file("%s")' % (filename,) +
"".join([', "%s"' % (i,) for i in sha1]) +
p = fstab[mount_point]
partition_type = common.PARTITION_TYPES[p.fs_type]
args = {'device': p.device, 'fn': fn}
- if partition_type == "MTD":
- self.script.append(
- 'write_raw_image(package_extract_file("%(fn)s"), "%(device)s");'
- % args)
- elif partition_type == "EMMC":
+ if partition_type == "EMMC":
if mapfn:
args["map"] = mapfn
self.script.append(