From 491ee6b1c15da6ed0330cd47a7c20443294d99a7 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Wed, 28 Mar 2018 18:00:18 +0000 Subject: [PATCH] Disable metadata_csum when generating ext4 rootfs (#1367) Some downstream kernels don't support this, and this recently became the default in e2fsprogs. --- .../main/postmarketos-android-recovery-installer/APKBUILD | 4 ++-- .../postmarketos-android-recovery-installer/pmos_install | 6 +++--- pmb/install/format.py | 6 +++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/aports/main/postmarketos-android-recovery-installer/APKBUILD b/aports/main/postmarketos-android-recovery-installer/APKBUILD index 1e1d84b9..a8df456b 100644 --- a/aports/main/postmarketos-android-recovery-installer/APKBUILD +++ b/aports/main/postmarketos-android-recovery-installer/APKBUILD @@ -1,5 +1,5 @@ pkgname=postmarketos-android-recovery-installer -pkgver=0.1.6 +pkgver=0.1.7 pkgrel=0 pkgdesc="TWRP compatible postmarketOS installer script" url="https://github.com/postmarketOS" @@ -29,6 +29,6 @@ package() { sha512sums="924f961e1a488134d265f43724d2b06a908ac1522706dc3f7118f0dec16453aa0a928fef6d9a31a6a747910df665e64f25c94c47a9e3f1d57db19abb0fd8210d build_zip.sh 6390fc1b1c7dc8e917bb675d2e59e479782ac7754e97c4781866360ff704afe2d04f173a0ac74e3129db45328fab4b6b77a8717ee2e17c6ff79febadaa8ea034 update-binary f19c15fd99cc806d088ddf9c954111e48635f971ca500beeaa4893eb25d19fe0601210a57e9ab1a1dc7a6d79a3154765e696ee3329bbb1875b6d6df36a7b3fb3 pmos_chroot -b932668aea823a98b7f7f3811413b1116e6444166a57f664f9b28687288e3cd39c31f5b272a632f30165b06974721a1bc880cbf7024ba091e8739ef30fcc2c6c pmos_install +d65b72ffb1140425bf96b1e3ef75a517bebbfa70e6bdc584dbd91c2cbefce63377c744b3b33f1967bad37cb368aa746e25d25b10eebf464399b262f62378b0f4 pmos_install 514881d7812197830869c73428acc88f8a94dd02184634406ffe47884cd21d7b02ecc7806dae39308f026b1dbfca9ceee714fdfdc2bebc3ebcdeed71865de2b2 pmos_install_functions c6355b6d823dac883e1a352f59a9a2199e2934d78a73df72dc3c4fc14ef93765a15179203d4a8a2ca0d841b63cd4c25c4689b63c8cf4d4da2bcec1f8ff76bff5 pmos_setpw" diff --git a/aports/main/postmarketos-android-recovery-installer/pmos_install b/aports/main/postmarketos-android-recovery-installer/pmos_install index c2a1eeb3..5e794872 100755 --- a/aports/main/postmarketos-android-recovery-installer/pmos_install +++ b/aports/main/postmarketos-android-recovery-installer/pmos_install @@ -84,13 +84,13 @@ then cryptsetup luksOpen -d /lukskey "$ROOT_PARTITION" pm_crypt ui_print "Formatting LUKS partition..." - mkfs.ext4 -L 'pmOS_root' /dev/mapper/pm_crypt + mkfs.ext4 -O "^metadata_csum" -L 'pmOS_root' /dev/mapper/pm_crypt ui_print "Mounting LUKS partition..." mount -t ext4 -rw /dev/mapper/pm_crypt /mnt/pmOS else ui_print "Formatting root partition..." - mkfs.ext4 -L 'pmOS_root' "$ROOT_PARTITION" + mkfs.ext4 -O "^metadata_csum" -L 'pmOS_root' "$ROOT_PARTITION" ui_print "Mounting root partition..." mount -t ext4 -rw "$ROOT_PARTITION" /mnt/pmOS @@ -104,7 +104,7 @@ mkdir /mnt/pmOS/boot mount -t ext2 -rw "$PMOS_BOOT" /mnt/pmOS/boot || { ui_print "Failed to format/mount ext2 partition." ui_print "Trying ext4..." - mkfs.ext4 -L 'pmOS_boot' "$PMOS_BOOT" + mkfs.ext4 -O "^metadata_csum" -L 'pmOS_boot' "$PMOS_BOOT" mount -t ext4 -rw "$PMOS_BOOT" /mnt/pmOS/boot } diff --git a/pmb/install/format.py b/pmb/install/format.py index 1e51795e..95467e85 100644 --- a/pmb/install/format.py +++ b/pmb/install/format.py @@ -58,7 +58,11 @@ def format_and_mount_pm_crypt(args): # Format if not args.rsync: logging.info("(native) format " + device) - pmb.chroot.root(args, ["mkfs.ext4", "-F", "-q", "-L", "pmOS_root", device]) + # Some downstream kernels don't support metadata_csum (#1364). + # When changing the options of mkfs.ext4, also change them in the + # recovery zip code (see 'grep -r mkfs\.ext4')! + pmb.chroot.root(args, ["mkfs.ext4", "-O", "^metadata_csum", "-F", + "-q", "-L", "pmOS_root", device]) # Mount mountpoint = "/mnt/install"