├── Android.mk ├── Makefile ├── README.md ├── assert-device ├── fixup-mountpoints ├── init-script ├── initramfs ├── bin │ ├── mdev │ └── sh ├── bootsplash.gz ├── etc │ ├── fstab │ └── udhcpd.conf ├── sbin └── usr │ ├── bin │ └── sbin ├── updater-script └── updater-unpack.sh /Android.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2014 Jolla Oy 3 | # Contact: 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | LOCAL_PATH:= $(call my-dir) 19 | HYBRIS_PATH:=$(LOCAL_PATH) 20 | 21 | # We use the commandline and kernel configuration varables from 22 | # build/core/Makefile to be consistent. Support for boot/recovery 23 | # image specific kernel COMMANDLINE vars is provided but whether it 24 | # works or not is down to your bootloader. 25 | 26 | HYBRIS_BOOTIMG_COMMANDLINE := 27 | HYBRIS_RECOVERYIMG_COMMANDLINE := bootmode=debug 28 | HYBRIS_BOOTLOGO := 29 | # BOOT 30 | HYBRIS_B_DEFAULT_OS := sailfishos 31 | HYBRIS_B_ALWAYSDEBUG := 32 | # RECOVERY 33 | HYBRIS_R_DEFAULT_OS := sailfishos 34 | HYBRIS_R_ALWAYSDEBUG := 1 35 | 36 | ## All manual "config" should be done above this line 37 | 38 | # Force deferred assignment 39 | 40 | HYBRIS_FIXUP_MOUNTS := $(shell ls -1 $(LOCAL_PATH)/../fixup-mountpoints $(LOCAL_PATH)/fixup-mountpoints 2> /dev/null | head -n1) 41 | 42 | # Filter fstabs with duplicate entries out 43 | FSTABS_FILTER := (goldfish|recovery) 44 | 45 | # Find any fstab files for required partition information. 46 | # in AOSP we could use TARGET_VENDOR 47 | # TARGET_VENDOR := $(shell echo $(PRODUCT_MANUFACTURER) | tr '[:upper:]' '[:lower:]') 48 | # but Cyanogenmod seems to use device/*/$(TARGET_DEVICE) in config.mk so we will too. 49 | HYBRIS_FSTABS := $(shell find device/*/$(TARGET_DEVICE) -name *fstab* | grep -v -E '$(FSTABS_FILTER)') 50 | # If fstab files were not found from primary device repo then they might be in 51 | # some other device repo so try to search for them first in device/PRODUCT_MANUFACTURER. 52 | # In many cases PRODUCT_MANUFACTURER is the short vendor name used in folder names. 53 | ifeq "$(HYBRIS_FSTABS)" "" 54 | TARGET_VENDOR := "$(shell echo $(PRODUCT_MANUFACTURER) | tr '[:upper:]' '[:lower:]')" 55 | HYBRIS_FSTABS := $(shell find device/$(TARGET_VENDOR) -name *fstab* | grep -v -E '$(FSTABS_FILTER)') 56 | endif 57 | # Some devices devices have the short vendor name in PRODUCT_BRAND so try to 58 | # search from device/PRODUCT_BRAND if fstab files are still not found. 59 | ifeq "$(HYBRIS_FSTABS)" "" 60 | TARGET_VENDOR := "$(shell echo $(PRODUCT_BRAND) | tr '[:upper:]' '[:lower:]')" 61 | HYBRIS_FSTABS := $(shell find device/$(TARGET_VENDOR) -name *fstab* | grep -v -E '$(FSTABS_FILTER)') 62 | endif 63 | 64 | # Get the unique /dev field(s) from the line(s) containing the fs mount point 65 | # Note the perl one-liner uses double-$ as per Makefile syntax 66 | HYBRIS_BOOT_PART := $(shell /usr/bin/perl -w -e '$$fs=shift; if ($$ARGV[0]) { while (<>) { next unless /^$$fs\s|\s$$fs\s/;for (split) {next unless m(^/dev); print "$$_\n"; }}} else { print "ERROR: *fstab* not found\n";}' /boot $(HYBRIS_FSTABS) | sort -u) 67 | HYBRIS_DATA_PART := $(shell /usr/bin/perl -w -e '$$fs=shift; if ($$ARGV[0]) { while (<>) { next unless /^$$fs\s|\s$$fs\s/;for (split) {next unless m(^/dev); print "$$_\n"; }}} else { print "ERROR: *fstab* not found\n";}' /data $(HYBRIS_FSTABS) | sort -u) 68 | 69 | $(warning ********************* /boot appears to live on $(HYBRIS_BOOT_PART)) 70 | $(warning ********************* /data appears to live on $(HYBRIS_DATA_PART)) 71 | 72 | ifneq ($(words $(HYBRIS_BOOT_PART))$(words $(HYBRIS_DATA_PART)),11) 73 | $(error There should be a one and only one device entry for HYBRIS_BOOT_PART and HYBRIS_DATA_PART) 74 | endif 75 | 76 | # Command used to make the image 77 | BB_STATIC := $(PRODUCT_OUT)/utilities/busybox 78 | 79 | ifneq ($(strip $(TARGET_NO_KERNEL)),true) 80 | INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel 81 | else 82 | INSTALLED_KERNEL_TARGET := 83 | endif 84 | 85 | HYBRIS_BOOTIMAGE_ARGS := \ 86 | $(addprefix --second ,$(INSTALLED_2NDBOOTLOADER_TARGET)) \ 87 | --kernel $(INSTALLED_KERNEL_TARGET) 88 | 89 | ifeq ($(BOARD_KERNEL_SEPARATED_DT),true) 90 | INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img 91 | HYBRIS_BOOTIMAGE_ARGS += --dt $(INSTALLED_DTIMAGE_TARGET) 92 | BOOTIMAGE_EXTRA_DEPS := $(INSTALLED_DTIMAGE_TARGET) 93 | endif 94 | 95 | ifdef BOARD_KERNEL_BASE 96 | HYBRIS_BOOTIMAGE_ARGS += --base $(BOARD_KERNEL_BASE) 97 | endif 98 | 99 | ifdef BOARD_KERNEL_PAGESIZE 100 | HYBRIS_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) 101 | endif 102 | 103 | # Specify the BOOT/RECOVERY vars here as they're not impacted by 104 | # CLEAR_VARS and it makes it easier to keep them consistent. 105 | 106 | HYBRIS_RECOVERYIMAGE_ARGS := $(HYBRIS_BOOTIMAGE_ARGS) 107 | 108 | # Strip lead/trail " from broken BOARD_KERNEL_CMDLINEs :( 109 | HYBRIS_BOARD_KERNEL_CMDLINE := $(shell echo '$(BOARD_KERNEL_CMDLINE)' | sed -e 's/^"//' -e 's/"$$//') 110 | 111 | ifneq "" "$(strip $(HYBRIS_BOARD_KERNEL_CMDLINE) $(HYBRIS_BOOTIMG_COMMANDLINE))" 112 | HYBRIS_BOOTIMAGE_ARGS += --cmdline "$(strip $(HYBRIS_BOARD_KERNEL_CMDLINE) $(HYBRIS_BOOTIMG_COMMANDLINE))" 113 | endif 114 | 115 | ifneq "" "$(strip $(HYBRIS_BOARD_KERNEL_CMDLINE) $(HYBRIS_RECOVERYIMG_COMMANDLINE))" 116 | HYBRIS_RECOVERYIMAGE_ARGS += --cmdline "$(strip $(HYBRIS_BOARD_KERNEL_CMDLINE) $(HYBRIS_RECOVERYIMG_COMMANDLINE))" 117 | endif 118 | 119 | 120 | include $(CLEAR_VARS) 121 | LOCAL_MODULE:= hybris-boot 122 | # Here we'd normally include $(BUILD_SHARED_LIBRARY) or something 123 | # but nothing seems suitable for making an img like this 124 | LOCAL_MODULE_CLASS := ROOT 125 | LOCAL_MODULE_SUFFIX := .img 126 | LOCAL_MODULE_PATH := $(PRODUCT_OUT) 127 | 128 | include $(BUILD_SYSTEM)/base_rules.mk 129 | BOOT_INTERMEDIATE := $(call intermediates-dir-for,ROOT,$(LOCAL_MODULE),) 130 | 131 | BOOT_RAMDISK := $(BOOT_INTERMEDIATE)/boot-initramfs.gz 132 | BOOT_RAMDISK_SRC := $(LOCAL_PATH)/initramfs 133 | BOOT_RAMDISK_INIT_SRC := $(LOCAL_PATH)/init-script 134 | BOOT_RAMDISK_INIT := $(BOOT_INTERMEDIATE)/init 135 | BOOT_RAMDISK_FILES := $(shell find $(BOOT_RAMDISK_SRC) -type f) $(BOOT_RAMDISK_INIT) 136 | 137 | $(LOCAL_BUILT_MODULE): $(INSTALLED_KERNEL_TARGET) $(BOOT_RAMDISK) $(BOOTIMAGE_EXTRA_DEPS) 138 | @echo "Making hybris-boot.img in $(dir $@) using $(INSTALLED_KERNEL_TARGET) $(BOOT_RAMDISK)" 139 | @mkdir -p $(dir $@) 140 | @rm -rf $@ 141 | ifeq ($(BOARD_CUSTOM_MKBOOTIMG),pack_intel) 142 | $(MKBOOTIMG) $(DEVICE_BASE_BOOT_IMAGE) $(INSTALLED_KERNEL_TARGET) $(BOOT_RAMDISK) $(cmdline) $@ 143 | else 144 | @mkbootimg --ramdisk $(BOOT_RAMDISK) $(HYBRIS_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@ 145 | endif 146 | ifdef BOOT_RAMDISK_SEANDROIDENFORCE 147 | @echo -n "SEANDROIDENFORCE" >> $@ 148 | endif 149 | 150 | $(BOOT_RAMDISK): $(BOOT_RAMDISK_FILES) $(BB_STATIC) 151 | @echo "Making initramfs : $@" 152 | @rm -rf $(BOOT_INTERMEDIATE)/initramfs 153 | @mkdir -p $(BOOT_INTERMEDIATE)/initramfs 154 | @cp -a $(BOOT_RAMDISK_SRC)/* $(BOOT_INTERMEDIATE)/initramfs 155 | # Deliberately do an mv to force rebuild of init every time since it's 156 | # really hard to depend on things which may affect init. 157 | @mv $(BOOT_RAMDISK_INIT) $(BOOT_INTERMEDIATE)/initramfs/init 158 | @cp $(BB_STATIC) $(BOOT_INTERMEDIATE)/initramfs/bin/ 159 | ifeq ($(BOARD_CUSTOM_MKBOOTIMG),pack_intel) 160 | @(cd $(BOOT_INTERMEDIATE)/initramfs && find . | cpio -H newc -o ) | $(MINIGZIP) > $(BOOT_RAMDISK) 161 | else 162 | @(cd $(BOOT_INTERMEDIATE)/initramfs && find . | cpio -H newc -o ) | gzip -9 > $@ 163 | endif 164 | 165 | $(BOOT_RAMDISK_INIT): $(BOOT_RAMDISK_INIT_SRC) $(ALL_PREBUILT) 166 | @mkdir -p $(dir $@) 167 | @sed -e 's %DATA_PART% $(HYBRIS_DATA_PART) g' \ 168 | -e 's %BOOTLOGO% $(HYBRIS_BOOTLOGO) g' \ 169 | -e 's %DEFAULT_OS% $(HYBRIS_B_DEFAULT_OS) g' \ 170 | -e 's %ALWAYSDEBUG% $(HYBRIS_B_ALWAYSDEBUG) g' $(BOOT_RAMDISK_INIT_SRC) > $@ 171 | $(HYBRIS_FIXUP_MOUNTS) "$(TARGET_DEVICE)" "$@" 172 | @chmod +x $@ 173 | 174 | ################################################################ 175 | 176 | include $(CLEAR_VARS) 177 | LOCAL_MODULE:= hybris-recovery 178 | LOCAL_MODULE_CLASS := ROOT 179 | LOCAL_MODULE_SUFFIX := .img 180 | LOCAL_MODULE_PATH := $(PRODUCT_OUT) 181 | 182 | include $(BUILD_SYSTEM)/base_rules.mk 183 | RECOVERY_INTERMEDIATE := $(call intermediates-dir-for,ROOT,$(LOCAL_MODULE),) 184 | 185 | RECOVERY_RAMDISK := $(RECOVERY_INTERMEDIATE)/recovery-initramfs.gz 186 | RECOVERY_RAMDISK_SRC := $(LOCAL_PATH)/initramfs 187 | RECOVERY_RAMDISK_INIT_SRC := $(LOCAL_PATH)/init-script 188 | RECOVERY_RAMDISK_INIT := $(RECOVERY_INTERMEDIATE)/init 189 | RECOVERY_RAMDISK_FILES := $(shell find $(RECOVERY_RAMDISK_SRC) -type f) $(RECOVERY_RAMDISK_INIT) 190 | 191 | $(LOCAL_BUILT_MODULE): $(INSTALLED_KERNEL_TARGET) $(RECOVERY_RAMDISK) $(MKBOOTIMG) $(BOOTIMAGE_EXTRA_DEPS) 192 | @echo "Making hybris-recovery.img in $(dir $@) using $(INSTALLED_KERNEL_TARGET) $(RECOVERY_RAMDISK)" 193 | @mkdir -p $(dir $@) 194 | @rm -rf $@ 195 | ifeq ($(BOARD_CUSTOM_MKBOOTIMG),pack_intel) 196 | $(MKBOOTIMG) $(DEVICE_BASE_BOOT_IMAGE) $(INSTALLED_KERNEL_TARGET) $(RECOVERY_RAMDISK) $(cmdline) $@ 197 | else 198 | $(hide)$(MKBOOTIMG) --ramdisk $(RECOVERY_RAMDISK) $(HYBRIS_RECOVERYIMAGE_ARGS) $(BOARD_MKRECOVERYIMG_ARGS) --output $@ 199 | endif 200 | ifdef BOOT_RAMDISK_SEANDROIDENFORCE 201 | @echo -n "SEANDROIDENFORCE" >> $@ 202 | endif 203 | 204 | $(RECOVERY_RAMDISK): $(RECOVERY_RAMDISK_FILES) $(BB_STATIC) 205 | @echo "Making initramfs : $@" 206 | @rm -rf $(RECOVERY_INTERMEDIATE)/initramfs 207 | @mkdir -p $(RECOVERY_INTERMEDIATE)/initramfs 208 | @cp -a $(RECOVERY_RAMDISK_SRC)/* $(RECOVERY_INTERMEDIATE)/initramfs 209 | @mv $(RECOVERY_RAMDISK_INIT) $(RECOVERY_INTERMEDIATE)/initramfs/init 210 | @cp $(BB_STATIC) $(RECOVERY_INTERMEDIATE)/initramfs/bin/ 211 | ifeq ($(BOARD_CUSTOM_MKBOOTIMG),pack_intel) 212 | @(cd $(RECOVERY_INTERMEDIATE)/initramfs && find . | cpio -H newc -o ) | $(MINIGZIP) > $(RECOVERY_RAMDISK) 213 | else 214 | @(cd $(RECOVERY_INTERMEDIATE)/initramfs && find . | cpio -H newc -o ) | gzip -9 > $@ 215 | endif 216 | 217 | $(RECOVERY_RAMDISK_INIT): $(RECOVERY_RAMDISK_INIT_SRC) $(ALL_PREBUILT) 218 | @mkdir -p $(dir $@) 219 | @sed -e 's %DATA_PART% $(HYBRIS_DATA_PART) g' \ 220 | -e 's %BOOTLOGO% $(HYBRIS_BOOTLOGO) g' \ 221 | -e 's %DEFAULT_OS% $(HYBRIS_R_DEFAULT_OS) g' \ 222 | -e 's %ALWAYSDEBUG% $(HYBRIS_R_ALWAYSDEBUG) g' $(RECOVERY_RAMDISK_INIT_SRC) > $@ 223 | $(HYBRIS_FIXUP_MOUNTS) "$(TARGET_DEVICE)" "$@" 224 | @chmod +x $@ 225 | 226 | 227 | ################################################################ 228 | include $(CLEAR_VARS) 229 | LOCAL_MODULE := hybris-updater-script 230 | LOCAL_MODULE_CLASS := ROOT 231 | LOCAL_MODULE_PATH := $(PRODUCT_OUT) 232 | 233 | include $(BUILD_SYSTEM)/base_rules.mk 234 | UPDATER_INTERMEDIATE := $(call intermediates-dir-for,ROOT,$(LOCAL_MODULE),) 235 | 236 | UPDATER_SCRIPT_SRC := $(LOCAL_PATH)/updater-script 237 | 238 | ANDROID_VERSION_MAJOR := $(word 1, $(subst ., , $(PLATFORM_VERSION))) 239 | ANDROID_VERSION_MINOR := $(word 2, $(subst ., , $(PLATFORM_VERSION))) 240 | 241 | ifeq ($(TARGET_OTA_ASSERT_DEVICE),) 242 | ASSERT_DEVICE := assert(getprop("ro.product.device") == "$(TARGET_DEVICE)" \|\| getprop("ro.build.product") == "$(TARGET_DEVICE)" \|\| getprop("ro.cm.device") == "$(TARGET_DEVICE)"); 243 | else 244 | ASSERT_DEVICE := $(subst |,\|,$(shell $(LOCAL_PATH)/assert-device $(TARGET_OTA_ASSERT_DEVICE))) 245 | endif 246 | 247 | USE_SET_METADATA := $(shell test $(ANDROID_VERSION_MAJOR) -eq 4 -a $(ANDROID_VERSION_MINOR) -ge 4 -o $(ANDROID_VERSION_MAJOR) -ge 5 && echo true) 248 | 249 | ifeq ($(USE_SET_METADATA),true) 250 | SET_PERMISSIONS := set_metadata("/tmp/updater-unpack.sh", "uid", 0, "gid", 0, "mode", 0755); 251 | else 252 | SET_PERMISSIONS := set_perm(0, 0, 755, "/tmp/updater-unpack.sh"); 253 | endif 254 | 255 | $(LOCAL_BUILT_MODULE): $(UPDATER_SCRIPT_SRC) 256 | @echo "Installing updater .zip script resources." 257 | mkdir -p $(dir $@) 258 | rm -rf $@ 259 | @sed -e 's %DEVICE% $(TARGET_DEVICE) g' \ 260 | -e 's %BOOT_PART% $(HYBRIS_BOOT_PART) g' \ 261 | -e 's %DATA_PART% $(HYBRIS_DATA_PART) g' \ 262 | -e 's|%ASSERT_DEVICE%|$(ASSERT_DEVICE)|' \ 263 | -e 's|%SET_PERMISSIONS%|$(SET_PERMISSIONS)|' \ 264 | $(UPDATER_SCRIPT_SRC) > $@ 265 | 266 | HYBRIS_UPDATER_SCRIPT := $(LOCAL_BUILD_MODULE) 267 | 268 | #--------------------------------------------------------------- 269 | include $(CLEAR_VARS) 270 | LOCAL_MODULE := hybris-updater-unpack 271 | LOCAL_MODULE_CLASS := ROOT 272 | LOCAL_MODULE_SUFFIX := .sh 273 | LOCAL_MODULE_PATH := $(PRODUCT_OUT) 274 | 275 | include $(BUILD_SYSTEM)/base_rules.mk 276 | UPDATER_INTERMEDIATE := $(call intermediates-dir-for,ROOT,$(LOCAL_MODULE),) 277 | 278 | UPDATER_UNPACK_SRC := $(LOCAL_PATH)/updater-unpack.sh 279 | 280 | $(LOCAL_BUILT_MODULE): $(UPDATER_UNPACK_SRC) 281 | @echo "Installing updater .zip script resources." 282 | mkdir -p $(dir $@) 283 | rm -rf $@ 284 | @sed -e 's %DEVICE% $(TARGET_DEVICET) g' \ 285 | $(UPDATER_UNPACK_SRC) > $@ 286 | 287 | HYBRIS_UPDATER_UNPACK := $(LOCAL_BUILD_MODULE) 288 | 289 | .PHONY: hybris-hal hybris-common 290 | 291 | hybris-common: bootimage hybris-updater-unpack hybris-updater-script hybris-recovery hybris-boot servicemanager logcat updater init adb adbd linker libc libEGL libGLESv1_CM libGLESv2 292 | 293 | ifeq ("$(TARGET_ARCH)", "arm64") 294 | hybris-hal: hybris-common linker_32 libc_32 libEGL_32 libGLESv1_CM_32 libGLESv2_32 295 | else 296 | hybris-hal: hybris-common 297 | endif 298 | 299 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Build initramfs.gz and boot.img 2 | # 3 | # Author: Tom Swindell 4 | # 5 | $(warning ********************************************************************************) 6 | $(warning * You are using the non-android-build approach) 7 | $(warning * Please don't do this.) 8 | $(warning * Setup an android build chroot and build your img files there.) 9 | $(warning * Thank you :D ) 10 | $(warning ********************************************************************************) 11 | 12 | ifneq ($(MAKECMDGOALS),clean) 13 | DEVICE=$(MAKECMDGOALS) 14 | endif 15 | 16 | BOOTLOGO ?= 1 17 | NEVERBOOT ?= 0 18 | ALWAYSDEBUG ?= 0 19 | 20 | $(DEVICE): setup-$(DEVICE) boot.img-$(DEVICE) 21 | 22 | setup-mako: 23 | $(eval MKBOOTIMG_PARAMS=--cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=mako lpj=67677' \ 24 | --base 0x80200000 \ 25 | --ramdisk_offset 0x01600000 \ 26 | ) 27 | 28 | setup-grouper: 29 | $(eval DATA_PART=/dev/mmcblk0p9) 30 | 31 | setup-tilapia: 32 | $(eval DATA_PART=/dev/mmcblk0p10) 33 | 34 | setup-aries: 35 | $(eval MKBOOTIMG_PARAMS=--cmdline 'console=null androidboot.hardware=qcom ehci-hcd.park=3' --base 0x00000000 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x82200000 --second_offset 0x81100000 --tags_offset 0x80200100 --board '' ) 36 | $(eval DATA_PART=/dev/mmcblk0p26) 37 | $(eval BOOTLOGO=0) 38 | 39 | zImage-mako: 40 | $(error Please provide the mako zImage) 41 | 42 | zImage-aries: 43 | $(error Please provide the aries zImage) 44 | 45 | zImage-grouper: 46 | (curl "http://repo.merproject.org/obs/home:/tswindell:/hw:/grouper/latest_armv7hl/armv7hl/kernel-asus-grouper-3.1.10+9.26-1.1.1.armv7hl.rpm" | rpm2cpio | cpio -idmv) 47 | mv ./boot/zImage zImage-grouper 48 | rm -rf ./boot ./lib 49 | 50 | zImage-tilapia: zImage-grouper 51 | mv zImage-grouper zImage-tilapia 52 | 53 | boot.img-$(DEVICE): zImage-$(DEVICE) initramfs.gz-$(DEVICE) 54 | mkbootimg --kernel ./zImage-$(DEVICE) --ramdisk ./initramfs.gz-$(DEVICE) $(MKBOOTIMG_PARAMS) --output ./boot.img-$(DEVICE) 55 | 56 | initramfs/init: init-script 57 | sed -e 's %DATA_PART% $(DATA_PART) g' init-script | sed -e 's %BOOTLOGO% $(BOOTLOGO) g' | sed -e 's %NEVERBOOT% $(NEVERBOOT) g' | \ 58 | sed -e 's %ALWAYSDEBUG% $(ALWAYSDEBUG) g' > initramfs/init 59 | chmod +x initramfs/init 60 | 61 | initramfs.gz-$(DEVICE): initramfs/bin/busybox initramfs/init initramfs/bootsplash.gz 62 | (cd initramfs; rm -rf ./usr/share) 63 | (cd initramfs; find . | cpio -H newc -o | gzip -9 > ../initramfs.gz-$(DEVICE)) 64 | 65 | initramfs/bin/busybox: 66 | (cd initramfs; curl "http://repo.merproject.org/obs/home:/tswindell:/hw:/common/latest_armv7hl/armv7hl/busybox-1.21.0-1.1.2.armv7hl.rpm" | rpm2cpio | cpio -idmv) 67 | 68 | clean: 69 | rm ./initramfs/bin/busybox 70 | rm ./initramfs/init 71 | rm ./initramfs.gz-* 72 | rm ./boot.img-* 73 | rm ./zImage-* 74 | 75 | all: 76 | $(error Usage: make ) 77 | 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | hybris-boot 2 | =========== 3 | 4 | This project enables the building of boot images for Google Android fastboot based devices. 5 | 6 | It can be built either in the android build tree as part of the normal kernel/android pre-requisited build or in a Mer SDK as a standalone package 7 | 8 | Android Build 9 | ------------- 10 | 11 | We need to extend subdir_makefiles in build/core/main.mk to include hybris/Android.mk; that then includes any additional Android.mk files in subdirs 12 | 13 | Note the default boot.img is created by $(INSTALLED_BOOTIMAGE_TARGET) target in build/core/Makefile and that is used for inspiration. 14 | 15 | Add as a normal make/mka target: 16 | $ mka hybris-boot hybris-recovery 17 | 18 | SDK Building 19 | ------------ 20 | 21 | In the SDK you'll need the kernel, module and static busybox packages available 22 | 23 | $ git clone https://github.com/mer-hybris/hybris-boot 24 | $ cd hybris-boot 25 | $ make 26 | 27 | Operating System Bootstrap 28 | --------------------------- 29 | 30 | The initramfs boots into a Mer derived OS installation by loading first the default Android /data partition and then bind mounting a root filesystem under /data/media/0/.stowaways/sffe. This behaviour is easily modified by editing the ./initramfs/init shell script. 31 | 32 | Initial RAM FS Debug Console 33 | ---------------------------- 34 | 35 | With your device booted to fastboot, boot the boot.img in debug mode: 36 | 37 | $ sudo fastboot boot boot.img -c bootmode=debug 38 | 39 | Wait for your host computer to pick up DHCP lease from usb network device: 40 | 41 | $ telnet 192.168.2.15 42 | 43 | -------------------------------------------------------------------------------- /assert-device: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import sys 4 | 5 | device = sys.argv[1] 6 | 7 | """Assert that the device identifier is the given string.""" 8 | cmd = ('assert(' + 9 | ' || '.join(['getprop("ro.product.device") == "%s" || getprop("ro.build.product") == "%s"' 10 | % (i, i) for i in device.split(",")]) + 11 | ' || abort("This package is for device: %s; ' + 12 | 'this device is " + getprop("ro.product.device") + ".");' + 13 | ');') % device 14 | print(cmd) 15 | -------------------------------------------------------------------------------- /fixup-mountpoints: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Fix up mount points device node names. 3 | # 4 | # /data needs to be mounted in initrd, but there is no udev that early, 5 | # which means there is no /dev/block/platform/*/by-name/* (or bootdevice). 6 | # This file is a map from the "by-name" path to /dev/mmcblkMpN. 7 | # It also serves dhd to convert fstab and *.rc mount entries to systemd units, 8 | # because at that boot stage there is still no udev "by-name" paths, even when 9 | # systemd starts to execut the "*.mount" units. 10 | 11 | DEVICE=$1 12 | shift 13 | 14 | echo "Fixing mount-points for device $DEVICE" 15 | 16 | case "$DEVICE" in 17 | "bb") 18 | sed -i \ 19 | -e 's block/by-name/boot mmcblk0p1 ' \ 20 | -e 's block/by-name/factory mmcblk0p12 ' \ 21 | -e 's block/by-name/misc mmcblk0p13 ' \ 22 | -e 's block/by-name/cache mmcblk0p15 ' \ 23 | -e 's block/by-name/system mmcblk0p17 ' \ 24 | -e 's block/by-name/data mmcblk0p18 ' \ 25 | "$@" 26 | ;; 27 | 28 | "karin" | "karin_windy") 29 | sed -i \ 30 | -e 's block/bootdevice/by-name/system mmcblk0p44 ' \ 31 | -e 's block/bootdevice/by-name/userdata mmcblk0p43 ' \ 32 | -e 's block/bootdevice/by-name/cache mmcblk0p41 ' \ 33 | -e 's block/bootdevice/by-name/modem mmcblk0p03 ' \ 34 | -e 's block/bootdevice/by-name/diag mmcblk0p39 ' \ 35 | -e 's block/bootdevice/by-name/persist mmcblk0p31 ' \ 36 | "$@" 37 | ;; 38 | 39 | "suzu" | "kugo" | "blanc") 40 | sed -i \ 41 | -e 's block/bootdevice/by-name/cache mmcblk0p24 ' \ 42 | -e 's block/bootdevice/by-name/dsp mmcblk0p13 ' \ 43 | -e 's block/bootdevice/by-name/modem mmcblk0p3 ' \ 44 | -e 's block/bootdevice/by-name/oem mmcblk0p28 ' \ 45 | -e 's block/bootdevice/by-name/persist mmcblk0p25 ' \ 46 | -e 's block/bootdevice/by-name/system mmcblk0p52 ' \ 47 | -e 's block/bootdevice/by-name/userdata mmcblk0p51 ' \ 48 | "$@" 49 | ;; 50 | 51 | "serranodsdd") 52 | sed -i \ 53 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p21 ' \ 54 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p24 ' \ 55 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p22 ' \ 56 | -e 's block/platform/msm_sdcc.1/by-name/efs mmcblk0p10 ' \ 57 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p19 ' \ 58 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p01 ' \ 59 | "$@" 60 | ;; 61 | 62 | # Careful with tone devices! The partitions differ between at least dora and kagura! 63 | "kagura") 64 | sed -i \ 65 | -e 's block/bootdevice/by-name/FOTAKernel mmcblk0p48 ' \ 66 | -e 's block/bootdevice/by-name/LTALabel mmcblk0p2 ' \ 67 | -e 's block/bootdevice/by-name/Qnovo mmcblk0p52 ' \ 68 | -e 's block/bootdevice/by-name/TA mmcblk0p1 ' \ 69 | -e 's block/bootdevice/by-name/aboot mmcblk0p13 ' \ 70 | -e 's block/bootdevice/by-name/abootbak mmcblk0p14 ' \ 71 | -e 's block/bootdevice/by-name/apdp mmcblk0p34 ' \ 72 | -e 's block/bootdevice/by-name/apps_log mmcblk0p50 ' \ 73 | -e 's block/bootdevice/by-name/boot mmcblk0p30 ' \ 74 | -e 's block/bootdevice/by-name/cache mmcblk0p43 ' \ 75 | -e 's block/bootdevice/by-name/cmnlib mmcblk0p17 ' \ 76 | -e 's block/bootdevice/by-name/cmnlib64 mmcblk0p19 ' \ 77 | -e 's block/bootdevice/by-name/cmnlib64bak mmcblk0p20 ' \ 78 | -e 's block/bootdevice/by-name/cmnlibbak mmcblk0p18 ' \ 79 | -e 's block/bootdevice/by-name/ddr mmcblk0p38 ' \ 80 | -e 's block/bootdevice/by-name/devcfg mmcblk0p21 ' \ 81 | -e 's block/bootdevice/by-name/devcfgbak mmcblk0p22 ' \ 82 | -e 's block/bootdevice/by-name/devinfo mmcblk0p33 ' \ 83 | -e 's block/bootdevice/by-name/diag mmcblk0p51 ' \ 84 | -e 's block/bootdevice/by-name/dpo mmcblk0p36 ' \ 85 | -e 's block/bootdevice/by-name/dsp mmcblk0p32 ' \ 86 | -e 's block/bootdevice/by-name/frp mmcblk0p46 ' \ 87 | -e 's block/bootdevice/by-name/fsg mmcblk0p29 ' \ 88 | -e 's block/bootdevice/by-name/hyp mmcblk0p9 ' \ 89 | -e 's block/bootdevice/by-name/hypbak mmcblk0p10 ' \ 90 | -e 's block/bootdevice/by-name/keymaster mmcblk0p15 ' \ 91 | -e 's block/bootdevice/by-name/keymasterbak mmcblk0p16 ' \ 92 | -e 's block/bootdevice/by-name/keystore mmcblk0p45 ' \ 93 | -e 's block/bootdevice/by-name/modem mmcblk0p31 ' \ 94 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p41 ' \ 95 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p42 ' \ 96 | -e 's block/bootdevice/by-name/msadp mmcblk0p35 ' \ 97 | -e 's block/bootdevice/by-name/oem mmcblk0p53 ' \ 98 | -e 's block/bootdevice/by-name/persist mmcblk0p44 ' \ 99 | -e 's block/bootdevice/by-name/pmic mmcblk0p11 ' \ 100 | -e 's block/bootdevice/by-name/pmicbak mmcblk0p12 ' \ 101 | -e 's block/bootdevice/by-name/rdimage mmcblk0p49 ' \ 102 | -e 's block/bootdevice/by-name/rpm mmcblk0p7 ' \ 103 | -e 's block/bootdevice/by-name/rpmbak mmcblk0p8 ' \ 104 | -e 's block/bootdevice/by-name/s1sbl mmcblk0p23 ' \ 105 | -e 's block/bootdevice/by-name/s1sblbak mmcblk0p24 ' \ 106 | -e 's block/bootdevice/by-name/sec mmcblk0p39 ' \ 107 | -e 's block/bootdevice/by-name/splash mmcblk0p37 ' \ 108 | -e 's block/bootdevice/by-name/ssd mmcblk0p40 ' \ 109 | -e 's block/bootdevice/by-name/sti mmcblk0p47 ' \ 110 | -e 's block/bootdevice/by-name/system mmcblk0p55 ' \ 111 | -e 's block/bootdevice/by-name/tz mmcblk0p5 ' \ 112 | -e 's block/bootdevice/by-name/tzbak mmcblk0p6 ' \ 113 | -e 's block/bootdevice/by-name/tzs1attest mmcblk0p25 ' \ 114 | -e 's block/bootdevice/by-name/tzs1attestbak mmcblk0p26 ' \ 115 | -e 's block/bootdevice/by-name/tzs1sbl mmcblk0p27 ' \ 116 | -e 's block/bootdevice/by-name/tzs1sblbak mmcblk0p28 ' \ 117 | -e 's block/bootdevice/by-name/userdata mmcblk0p54 ' \ 118 | -e 's block/bootdevice/by-name/xbl mmcblk0p3 ' \ 119 | -e 's block/bootdevice/by-name/xblbak mmcblk0p4 ' \ 120 | "$@" 121 | ;; 122 | 123 | "ghost") 124 | sed -i \ 125 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 126 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p23 ' \ 127 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p38 ' \ 128 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p40 ' \ 129 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p25 ' \ 130 | -e 's block/platform/msm_sdcc.1/by-name/pds mmcblk0p28 ' \ 131 | "$@" 132 | ;; 133 | 134 | "lux") 135 | sed -i \ 136 | -e 's block/bootdevice/by-name/boot mmcblk0p31 ' \ 137 | -e 's block/bootdevice/by-name/system mmcblk0p41 ' \ 138 | -e 's block/bootdevice/by-name/cache mmcblk0p40 ' \ 139 | -e 's block/bootdevice/by-name/userdata mmcblk0p42 ' \ 140 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 141 | -e 's block/bootdevice/by-name/persist mmcblk0p29 ' \ 142 | -e 's block/bootdevice/by-name/fsg mmcblk0p23 ' \ 143 | -e 's block/bootdevice/by-name/recovery mmcblk0p32 ' \ 144 | "$@" 145 | ;; 146 | 147 | "victara") 148 | sed -i \ 149 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p22 ' \ 150 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 151 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p31 ' \ 152 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p39 ' \ 153 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p38 ' \ 154 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p37 ' \ 155 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p34 ' \ 156 | -e 's block/platform/msm_sdcc.1/by-name/pds mmcblk0p27 ' \ 157 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p33 ' \ 158 | "$@" 159 | ;; 160 | 161 | "pico") 162 | sed -i \ 163 | -e 's null null ' \ 164 | -e 's block/mmcblk0p3 mmcblk0p3 ' \ 165 | -e 's block/mtdblock4 mtdblock4 ' \ 166 | -e 's block/mmcblk0p2 mmcblk0p2 ' \ 167 | "$@" 168 | ;; 169 | 170 | "alice") 171 | sed -i \ 172 | -e 's block/mmcblk0p38 mmcblk0p38 ' \ 173 | -e 's block/platform/hi_mci.0/by-name/userdata mmcblk0p40 ' \ 174 | -e 's block/mmcblk0p34 mmcblk0p34 ' \ 175 | -e 's block/platform/hi_mci.0/by-name/misc mmcblk0p19 ' \ 176 | -e 's block/platform/hi_mci.0/by-name/boot mmcblk0p27 ' \ 177 | -e 's block/platform/hi_mci.0/by-name/recovery mmcblk0p28 ' \ 178 | "$@" 179 | ;; 180 | 181 | "kinzie") 182 | sed -i \ 183 | -e 's block/bootdevice/by-name/fsg mmcblk0p24 ' \ 184 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 185 | -e 's block/bootdevice/by-name/persist mmcblk0p34 ' \ 186 | -e 's block/bootdevice/by-name/userdata mmcblk0p48 ' \ 187 | -e 's block/bootdevice/by-name/system mmcblk0p47 ' \ 188 | -e 's block/bootdevice/by-name/cache mmcblk0p46 ' \ 189 | -e 's block/bootdevice/by-name/recovery mmcblk0p37 ' \ 190 | -e 's block/bootdevice/by-name/boot mmcblk0p36 ' \ 191 | -e 's block/bootdevice/by-name/bluetooth mmcblk0p18 ' \ 192 | "$@" 193 | ;; 194 | 195 | "titan") 196 | sed -i \ 197 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p21 ' \ 198 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 199 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p29 ' \ 200 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p38 ' \ 201 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p36 ' \ 202 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p35 ' \ 203 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p32 ' \ 204 | -e 's block/platform/msm_sdcc.1/by-name/pds mmcblk0p26 ' \ 205 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p31 ' \ 206 | "$@" 207 | ;; 208 | 209 | "thea") 210 | sed -i \ 211 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p22 ' \ 212 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 213 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p30 ' \ 214 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p42 ' \ 215 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p40 ' \ 216 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p41 ' \ 217 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p33 ' \ 218 | -e 's block/platform/msm_sdcc.1/by-name/pds mmcblk0p27 ' \ 219 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p32 ' \ 220 | "$@" 221 | ;; 222 | 223 | "suzu") 224 | sed -i \ 225 | -e 's block/bootdevice/by-name/DDR mmcblk0p16 ' \ 226 | -e 's block/bootdevice/by-name/FOTAKernel mmcblk0p42 ' \ 227 | -e 's block/bootdevice/by-name/LTALabel mmcblk0p2 ' \ 228 | -e 's block/bootdevice/by-name/Qnovo mmcblk0p46 ' \ 229 | -e 's block/bootdevice/by-name/TA mmcblk0p1 ' \ 230 | -e 's block/bootdevice/by-name/aboot mmcblk0p20 ' \ 231 | -e 's block/bootdevice/by-name/abootbak mmcblk0p21 ' \ 232 | -e 's block/bootdevice/by-name/apdp mmcblk0p37 ' \ 233 | -e 's block/bootdevice/by-name/apps_log mmcblk0p44 ' \ 234 | -e 's block/bootdevice/by-name/boot mmcblk0p22 ' \ 235 | -e 's block/bootdevice/by-name/cache mmcblk0p24 ' \ 236 | -e 's block/bootdevice/by-name/cmnlib mmcblk0p33 ' \ 237 | -e 's block/bootdevice/by-name/cmnlibbak mmcblk0p35 ' \ 238 | -e 's block/bootdevice/by-name/config mmcblk0p27 ' \ 239 | -e 's block/bootdevice/by-name/devcfg mmcblk0p31 ' \ 240 | -e 's block/bootdevice/by-name/devinfo mmcblk0p23 ' \ 241 | -e 's block/bootdevice/by-name/diag mmcblk0p45 ' \ 242 | -e 's block/bootdevice/by-name/dpo mmcblk0p39 ' \ 243 | -e 's block/bootdevice/by-name/dsp mmcblk0p13 ' \ 244 | -e 's block/bootdevice/by-name/fsg mmcblk0p17 ' \ 245 | -e 's block/bootdevice/by-name/hyp mmcblk0p11 ' \ 246 | -e 's block/bootdevice/by-name/hypbak mmcblk0p12 ' \ 247 | -e 's block/bootdevice/by-name/keymaster mmcblk0p34 ' \ 248 | -e 's block/bootdevice/by-name/keymasterbak mmcblk0p36 ' \ 249 | -e 's block/bootdevice/by-name/keystore mmcblk0p26 ' \ 250 | -e 's block/bootdevice/by-name/limits mmcblk0p29 ' \ 251 | -e 's block/bootdevice/by-name/mcfg mmcblk0p32 ' \ 252 | -e 's block/bootdevice/by-name/modem mmcblk0p3 ' \ 253 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p14 ' \ 254 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p15 ' \ 255 | -e 's block/bootdevice/by-name/mota mmcblk0p30 ' \ 256 | -e 's block/bootdevice/by-name/msadp mmcblk0p38 ' \ 257 | -e 's block/bootdevice/by-name/oem mmcblk0p28 ' \ 258 | -e 's block/bootdevice/by-name/persist mmcblk0p25 ' \ 259 | -e 's block/bootdevice/by-name/rdimage mmcblk0p43 ' \ 260 | -e 's block/bootdevice/by-name/rpm mmcblk0p7 ' \ 261 | -e 's block/bootdevice/by-name/rpmbak mmcblk0p8 ' \ 262 | -e 's block/bootdevice/by-name/s1sbl mmcblk0p40 ' \ 263 | -e 's block/bootdevice/by-name/s1sblbak mmcblk0p41 ' \ 264 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p5 ' \ 265 | -e 's block/bootdevice/by-name/sbl1bak mmcblk0p6 ' \ 266 | -e 's block/bootdevice/by-name/sec mmcblk0p18 ' \ 267 | -e 's block/bootdevice/by-name/splash mmcblk0p19 ' \ 268 | -e 's block/bootdevice/by-name/ssd mmcblk0p4 ' \ 269 | -e 's block/bootdevice/by-name/system mmcblk0p52 ' \ 270 | -e 's block/bootdevice/by-name/tz mmcblk0p9 ' \ 271 | -e 's block/bootdevice/by-name/tzbak mmcblk0p10 ' \ 272 | -e 's block/bootdevice/by-name/tzs1attest mmcblk0p47 ' \ 273 | -e 's block/bootdevice/by-name/tzs1attestbak mmcblk0p48 ' \ 274 | -e 's block/bootdevice/by-name/tzs1sbl mmcblk0p49 ' \ 275 | -e 's block/bootdevice/by-name/tzs1sblbak mmcblk0p50 ' \ 276 | -e 's block/bootdevice/by-name/userdata mmcblk0p51 ' \ 277 | "$@" 278 | ;; 279 | 280 | "a5y17lte") 281 | sed -i \ 282 | -e 's platform/13540000.dwmmc0/by-name/SYSTEM mmcblk0p19 ' \ 283 | -e 's platform/13540000.dwmmc0/by-name/CACHE mmcblk0p20 ' \ 284 | -e 's platform/13540000.dwmmc0/by-name/USERDATA mmcblk0p25 ' \ 285 | -e 's platform/13540000.dwmmc0/by-name/EFS mmcblk0p3 ' \ 286 | -e 's platform/13540000.dwmmc0/by-name/HIDDEN mmcblk0p21 ' \ 287 | "$@" 288 | ;; 289 | 290 | "moto_msm8960_jbbl") 291 | sed -i \ 292 | -e 's block/platform/msm_sdcc.1/by-name/aboot mmcblk0p5 ' \ 293 | -e 's block/platform/msm_sdcc.1/by-name/abootBackup mmcblk0p12 ' \ 294 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p31 ' \ 295 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p36 ' \ 296 | -e 's block/platform/msm_sdcc.1/by-name/carriercust mmcblk0p35 ' \ 297 | -e 's block/platform/msm_sdcc.1/by-name/cdrom mmcblk0p38 ' \ 298 | -e 's block/platform/msm_sdcc.1/by-name/cid mmcblk0p28 ' \ 299 | -e 's block/platform/msm_sdcc.1/by-name/devtree mmcblk0p30 ' \ 300 | -e 's block/platform/msm_sdcc.1/by-name/dhob mmcblk0p21 ' \ 301 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p24 ' \ 302 | -e 's block/platform/msm_sdcc.1/by-name/hob mmcblk0p20 ' \ 303 | -e 's block/platform/msm_sdcc.1/by-name/kpan mmcblk0p33 ' \ 304 | -e 's block/platform/msm_sdcc.1/by-name/logo mmcblk0p29 ' \ 305 | -e 's block/platform/msm_sdcc.1/by-name/mbl mmcblk0p19 ' \ 306 | -e 's block/platform/msm_sdcc.1/by-name/misc mmcblk0p26 ' \ 307 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 308 | -e 's block/platform/msm_sdcc.1/by-name/modemst1 mmcblk0p17 ' \ 309 | -e 's block/platform/msm_sdcc.1/by-name/modemst2 mmcblk0p18 ' \ 310 | -e 's block/platform/msm_sdcc.1/by-name/padA mmcblk0p9 ' \ 311 | -e 's block/platform/msm_sdcc.1/by-name/padB mmcblk0p16 ' \ 312 | -e 's block/platform/msm_sdcc.1/by-name/pds mmcblk0p27 ' \ 313 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p22 ' \ 314 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p32 ' \ 315 | -e 's block/platform/msm_sdcc.1/by-name/rpm mmcblk0p6 ' \ 316 | -e 's block/platform/msm_sdcc.1/by-name/rpmBackup mmcblk0p13 ' \ 317 | -e 's block/platform/msm_sdcc.1/by-name/sbl1 mmcblk0p2 ' \ 318 | -e 's block/platform/msm_sdcc.1/by-name/sbl2 mmcblk0p3 ' \ 319 | -e 's block/platform/msm_sdcc.1/by-name/sbl2Backup mmcblk0p10 ' \ 320 | -e 's block/platform/msm_sdcc.1/by-name/sbl3 mmcblk0p4 ' \ 321 | -e 's block/platform/msm_sdcc.1/by-name/sbl3Backup mmcblk0p11 ' \ 322 | -e 's block/platform/msm_sdcc.1/by-name/sp mmcblk0p25 ' \ 323 | -e 's block/platform/msm_sdcc.1/by-name/ssd mmcblk0p23 ' \ 324 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p37 ' \ 325 | -e 's block/platform/msm_sdcc.1/by-name/tombstones mmcblk0p34 ' \ 326 | -e 's block/platform/msm_sdcc.1/by-name/tz mmcblk0p7 ' \ 327 | -e 's block/platform/msm_sdcc.1/by-name/tzBackup mmcblk0p14 ' \ 328 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p39 ' \ 329 | -e 's block/platform/msm_sdcc.1/by-name/utags mmcblk0p8 ' \ 330 | -e 's block/platform/msm_sdcc.1/by-name/utagsBackup mmcblk0p15 ' \ 331 | "$@" 332 | ;; 333 | 334 | "griffin") 335 | sed -i \ 336 | -e 's block/bootdevice/by-name/aboot sdb12 ' \ 337 | -e 's block/bootdevice/by-name/abootbak sdb13 ' \ 338 | -e 's block/bootdevice/by-name/apdp sdc6 ' \ 339 | -e 's block/bootdevice/by-name/bluetooth sda11 ' \ 340 | -e 's block/bootdevice/by-name/boot sda17 ' \ 341 | -e 's block/bootdevice/by-name/cache sda19 ' \ 342 | -e 's block/bootdevice/by-name/carrier sda9 ' \ 343 | -e 's block/bootdevice/by-name/cid sda4 ' \ 344 | -e 's block/bootdevice/by-name/cmnlib sdb16 ' \ 345 | -e 's block/bootdevice/by-name/cmnlib64 sdb18 ' \ 346 | -e 's block/bootdevice/by-name/cmnlib64bak sdb19 ' \ 347 | -e 's block/bootdevice/by-name/cmnlibbak sdb17 ' \ 348 | -e 's block/bootdevice/by-name/customize sda8 ' \ 349 | -e 's block/bootdevice/by-name/ddr sdb23 ' \ 350 | -e 's block/bootdevice/by-name/devcfg sdb8 ' \ 351 | -e 's block/bootdevice/by-name/devcfgbak sdb9 ' \ 352 | -e 's block/bootdevice/by-name/dip sdc5 ' \ 353 | -e 's block/bootdevice/by-name/dpo sdc8 ' \ 354 | -e 's block/bootdevice/by-name/dsp sdc1 ' \ 355 | -e 's block/bootdevice/by-name/frp sda7 ' \ 356 | -e 's block/bootdevice/by-name/fsc sdd1 ' \ 357 | -e 's block/bootdevice/by-name/fsg sdc4 ' \ 358 | -e 's block/bootdevice/by-name/hw sdc3 ' \ 359 | -e 's block/bootdevice/by-name/hyp sdb10 ' \ 360 | -e 's block/bootdevice/by-name/hypbak sdb11 ' \ 361 | -e 's block/bootdevice/by-name/keymaster sdb14 ' \ 362 | -e 's block/bootdevice/by-name/keymasterbak sdb15 ' \ 363 | -e 's block/bootdevice/by-name/kpan sda10 ' \ 364 | -e 's block/bootdevice/by-name/logo sda18 ' \ 365 | -e 's block/bootdevice/by-name/logs sdb24 ' \ 366 | -e 's block/bootdevice/by-name/metadata sdd2 ' \ 367 | -e 's block/bootdevice/by-name/misc sda5 ' \ 368 | -e 's block/bootdevice/by-name/modem sda16 ' \ 369 | -e 's block/bootdevice/by-name/modemst1 sda12 ' \ 370 | -e 's block/bootdevice/by-name/modemst2 sda13 ' \ 371 | -e 's block/bootdevice/by-name/msadp sdc7 ' \ 372 | -e 's block/bootdevice/by-name/oem sdc9 ' \ 373 | -e 's block/bootdevice/by-name/persist sda3 ' \ 374 | -e 's block/bootdevice/by-name/pmic sdb2 ' \ 375 | -e 's block/bootdevice/by-name/pmicbak sdb3 ' \ 376 | -e 's block/bootdevice/by-name/prov sdb20 ' \ 377 | -e 's block/bootdevice/by-name/provbak sdb21 ' \ 378 | -e 's block/bootdevice/by-name/recovery sda14 ' \ 379 | -e 's block/bootdevice/by-name/rpm sdb4 ' \ 380 | -e 's block/bootdevice/by-name/rpmbak sdb5 ' \ 381 | -e 's block/bootdevice/by-name/sec sdb22 ' \ 382 | -e 's block/bootdevice/by-name/sp sdc2 ' \ 383 | -e 's block/bootdevice/by-name/ssd sda6 ' \ 384 | -e 's block/bootdevice/by-name/system sda15 ' \ 385 | -e 's block/bootdevice/by-name/tz sdb6 ' \ 386 | -e 's block/bootdevice/by-name/tzbak sdb7 ' \ 387 | -e 's block/bootdevice/by-name/userdata sda20 ' \ 388 | -e 's block/bootdevice/by-name/utags sda1 ' \ 389 | -e 's block/bootdevice/by-name/utagsBackup sda2 ' \ 390 | -e 's block/bootdevice/by-name/xbl sdb1 ' \ 391 | "$@" 392 | ;; 393 | 394 | "eva") 395 | sed -i \ 396 | -e 's block/platform/hi_mci.0/by-name/3rdmodem mmcblk0p35 ' \ 397 | -e 's block/platform/hi_mci.0/by-name/3rdmodemnvm mmcblk0p14 ' \ 398 | -e 's block/platform/hi_mci.0/by-name/3rdmodemnvmbkp mmcblk0p15 ' \ 399 | -e 's block/platform/hi_mci.0/by-name/boot mmcblk0p28 ' \ 400 | -e 's block/platform/hi_mci.0/by-name/cache mmcblk0p36 ' \ 401 | -e 's block/platform/hi_mci.0/by-name/cust mmcblk0p40 ' \ 402 | -e 's block/platform/hi_mci.0/by-name/dfx mmcblk0p34 ' \ 403 | -e 's block/platform/hi_mci.0/by-name/dts mmcblk0p30 ' \ 404 | -e 's block/platform/hi_mci.0/by-name/fastboot mmcblk0p5 ' \ 405 | -e 's block/platform/hi_mci.0/by-name/frp mmcblk0p4 ' \ 406 | -e 's block/platform/hi_mci.0/by-name/fw_hifi mmcblk0p27 ' \ 407 | -e 's block/platform/hi_mci.0/by-name/fw_lpm3 mmcblk0p3 ' \ 408 | -e 's block/platform/hi_mci.0/by-name/hisitest0 mmcblk0p37 ' \ 409 | -e 's block/platform/hi_mci.0/by-name/hisitest1 mmcblk0p38 ' \ 410 | -e 's block/platform/hi_mci.0/by-name/hisitest2 mmcblk0p41 ' \ 411 | -e 's block/platform/hi_mci.0/by-name/misc mmcblk0p20 ' \ 412 | -e 's block/platform/hi_mci.0/by-name/modem mmcblk0p31 ' \ 413 | -e 's block/platform/hi_mci.0/by-name/modem_dsp mmcblk0p32 ' \ 414 | -e 's block/platform/hi_mci.0/by-name/modem_dtb mmcblk0p33 ' \ 415 | -e 's block/platform/hi_mci.0/by-name/modem_om mmcblk0p18 ' \ 416 | -e 's block/platform/hi_mci.0/by-name/modemnvm_backup mmcblk0p10 ' \ 417 | -e 's block/platform/hi_mci.0/by-name/modemnvm_factory mmcblk0p6 ' \ 418 | -e 's block/platform/hi_mci.0/by-name/modemnvm_img mmcblk0p11 ' \ 419 | -e 's block/platform/hi_mci.0/by-name/modemnvm_system mmcblk0p12 ' \ 420 | -e 's block/platform/hi_mci.0/by-name/modemnvm_update mmcblk0p21 ' \ 421 | -e 's block/platform/hi_mci.0/by-name/nvme mmcblk0p7 ' \ 422 | -e 's block/platform/hi_mci.0/by-name/oeminfo mmcblk0p8 ' \ 423 | -e 's block/platform/hi_mci.0/by-name/persist mmcblk0p16 ' \ 424 | -e 's block/platform/hi_mci.0/by-name/recovery mmcblk0p29 ' \ 425 | -e 's block/platform/hi_mci.0/by-name/recovery2 mmcblk0p22 ' \ 426 | -e 's block/platform/hi_mci.0/by-name/reserved1 mmcblk0p17 ' \ 427 | -e 's block/platform/hi_mci.0/by-name/reserved2 mmcblk0p23 ' \ 428 | -e 's block/platform/hi_mci.0/by-name/secure_storage mmcblk0p13 ' \ 429 | -e 's block/platform/hi_mci.0/by-name/sensorhub mmcblk0p26 ' \ 430 | -e 's block/platform/hi_mci.0/by-name/splash mmcblk0p9 ' \ 431 | -e 's block/platform/hi_mci.0/by-name/splash2 mmcblk0p19 ' \ 432 | -e 's block/platform/hi_mci.0/by-name/system mmcblk0p39 ' \ 433 | -e 's block/platform/hi_mci.0/by-name/teeos mmcblk0p24 ' \ 434 | -e 's block/platform/hi_mci.0/by-name/trustfirmware mmcblk0p25 ' \ 435 | -e 's block/platform/hi_mci.0/by-name/userdata mmcblk0p42 ' \ 436 | -e 's block/platform/hi_mci.0/by-name/vrl mmcblk0p1 ' \ 437 | -e 's block/platform/hi_mci.0/by-name/vrl_backup mmcblk0p2 ' \ 438 | "$@" 439 | ;; 440 | 441 | "matisse" | "matissewifi" | "matisse3g" | "matisselte") 442 | sed -i \ 443 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p23 ' \ 444 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p26 ' \ 445 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p15 ' \ 446 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p21 ' \ 447 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p2 ' \ 448 | -e 's block/platform/msm_sdcc.1/by-name/modemst1 mmcblk0p12 ' \ 449 | -e 's block/platform/msm_sdcc.1/by-name/modemst2 mmcblk0p13 ' \ 450 | -e 's block/platform/msm_sdcc.1/by-name/apnhlos mmcblk0p1 ' \ 451 | -e 's block/platform/msm_sdcc.1/by-name/efs mmcblk0p11 ' \ 452 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p24 ' \ 453 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p14 ' \ 454 | "$@" 455 | ;; 456 | 457 | "FP2") 458 | sed -i \ 459 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p13 ' \ 460 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p20 ' \ 461 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p16 ' \ 462 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p14 ' \ 463 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 464 | -e 's block/platform/msm_sdcc.1/by-name/modemst1 mmcblk0p11 ' \ 465 | -e 's block/platform/msm_sdcc.1/by-name/modemst2 mmcblk0p12 ' \ 466 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p17 ' \ 467 | -e 's block/platform/msm_sdcc.1/by-name/fsc mmcblk0p18 ' \ 468 | -e 's block/platform/msm_sdcc.1/by-name/dbi mmcblk0p3 ' \ 469 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p15 ' \ 470 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p8 ' \ 471 | "$@" 472 | ;; 473 | 474 | "onyx") 475 | sed -i \ 476 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p7 ' \ 477 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p27 ' \ 478 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p28 ' \ 479 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p15 ' \ 480 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p14 ' \ 481 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 482 | "$@" 483 | ;; 484 | 485 | "bullhead") 486 | sed -i \ 487 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/cache mmcblk0p40 ' \ 488 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/modem mmcblk0p1 ' \ 489 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/persist mmcblk0p24 ' \ 490 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/system mmcblk0p41 ' \ 491 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/userdata mmcblk0p45 ' \ 492 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/vendor mmcblk0p39 ' \ 493 | "$@" 494 | ;; 495 | 496 | "hammerhead") 497 | sed -i \ 498 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 499 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p16 ' \ 500 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p25 ' \ 501 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p28 ' \ 502 | "$@" 503 | ;; 504 | 505 | "mako") 506 | sed -i \ 507 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 508 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p20 ' \ 509 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p21 ' \ 510 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p23 ' \ 511 | "$@" 512 | ;; 513 | 514 | "grouper") 515 | sed -i \ 516 | -e 's block/platform/sdhci-tegra.3/by-name/APP mmcblk0p3 ' \ 517 | -e 's block/platform/sdhci-tegra.3/by-name/CAC mmcblk0p4 ' \ 518 | -e 's block/platform/sdhci-tegra.3/by-name/UDA mmcblk0p9 ' \ 519 | -e 's block/platform/sdhci-tegra.3/by-name/MSC mmcblk0p5 ' \ 520 | -e 's block/platform/sdhci-tegra.3/by-name/LNX mmcblk0p2 ' \ 521 | -e 's block/platform/sdhci-tegra.3/by-name/SOS mmcblk0p1 ' \ 522 | "$@" 523 | ;; 524 | 525 | "tilapia") 526 | sed -i \ 527 | -e 's block/platform/sdhci-tegra.3/by-name/APP mmcblk0p3 ' \ 528 | -e 's block/platform/sdhci-tegra.3/by-name/CAC mmcblk0p5 ' \ 529 | -e 's block/platform/sdhci-tegra.3/by-name/UDA mmcblk0p10 ' \ 530 | -e 's block/platform/sdhci-tegra.3/by-name/MSC mmcblk0p6 ' \ 531 | -e 's block/platform/sdhci-tegra.3/by-name/LNX mmcblk0p2 ' \ 532 | -e 's block/platform/sdhci-tegra.3/by-name/SOS mmcblk0p1 ' \ 533 | "$@" 534 | ;; 535 | 536 | "i9305" | "encore" | "n7000" | "n7100" | "i9300" | "anzu" | \ 537 | "coconut" | "haida" | "hallon" | "iyokan" | "mango" | "phoenix" | \ 538 | "satsuma" | "smultron" | "urushi" | "zeus" | "jenad") 539 | # Untested for other revisions of Samsung GT-S6500: 540 | # | "jena" | "trebon") 541 | sed -i \ 542 | -e 's /block/ / ' \ 543 | "$@" 544 | ;; 545 | 546 | "shieldtablet") 547 | sed -i \ 548 | -e 's block/platform/sdhci-tegra.3/by-name/APP mmcblk0p14 ' \ 549 | -e 's block/platform/sdhci-tegra.3/by-name/CAC mmcblk0p15 ' \ 550 | -e 's block/platform/sdhci-tegra.3/by-name/UDA mmcblk0p24 ' \ 551 | -e 's block/platform/sdhci-tegra.3/by-name/MSC mmcblk0p16 ' \ 552 | -e 's block/platform/sdhci-tegra.3/by-name/LNX mmcblk0p13 ' \ 553 | -e 's block/platform/sdhci-tegra.3/by-name/SOS mmcblk0p11 ' \ 554 | "$@" 555 | ;; 556 | 557 | "p3100" | "p3110" | "p3113" | "p5100" | "p5110" | "p5113" | "espressowifi" | "espresso3g" | "i9100g") 558 | sed -i \ 559 | -e 's block/platform/omap/omap_hsmmc.1/by-name/DATAFS mmcblk0p10 ' \ 560 | -e 's block/platform/omap/omap_hsmmc.1/by-name/KERNEL mmcblk0p5 ' \ 561 | -e 's block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS mmcblk0p9 ' \ 562 | -e 's block/platform/omap/omap_hsmmc.1/by-name/EFS mmcblk0p1 ' \ 563 | -e 's block/platform/omap/omap_hsmmc.1/by-name/CACHE mmcblk0p7 ' \ 564 | "$@" 565 | ;; 566 | 567 | "maguro") 568 | sed -i \ 569 | -e 's block/platform/omap/omap_hsmmc.0/by-name/system mmcblk0p10 ' \ 570 | -e 's block/platform/omap/omap_hsmmc.0/by-name/cache mmcblk0p11 ' \ 571 | -e 's block/platform/omap/omap_hsmmc.0/by-name/userdata mmcblk0p12 ' \ 572 | -e 's block/platform/omap/omap_hsmmc.0/by-name/misc mmcblk0p5 ' \ 573 | -e 's block/platform/omap/omap_hsmmc.0/by-name/boot mmcblk0p7 ' \ 574 | -e 's block/platform/omap/omap_hsmmc.0/by-name/recovery mmcblk0p8 ' \ 575 | -e 's block/platform/omap/omap_hsmmc.0/by-name/sbl mmcblk0p2 ' \ 576 | -e 's block/platform/omap/omap_hsmmc.0/by-name/xloader mmcblk0p1 ' \ 577 | -e 's block/platform/omap/omap_hsmmc.0/by-name/radio mmcblk0p9 ' \ 578 | -e 's block/platform/omap/omap_hsmmc.0/by-name/efs mmcblk0p3 ' \ 579 | "$@" 580 | ;; 581 | 582 | "bacon") 583 | sed -i \ 584 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 585 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p15 ' \ 586 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p14 ' \ 587 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p28 ' \ 588 | "$@" 589 | ;; 590 | 591 | "ace") 592 | sed -i \ 593 | -e 's block/platform/msm_sdcc.2/by-num/p25 mmcblk0p25 ' \ 594 | -e 's block/platform/msm_sdcc.2/by-num/p26 mmcblk0p26 ' \ 595 | -e 's block/platform/msm_sdcc.2/by-num/p27 mmcblk0p27 ' \ 596 | -e 's block/platform/msm_sdcc.2/by-num/p28 mmcblk0p28 ' \ 597 | "$@" 598 | ;; 599 | 600 | "flo"|"deb") 601 | sed -i \ 602 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p4 ' \ 603 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p14 ' \ 604 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p22 ' \ 605 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p30 ' \ 606 | -e 's block/platform/msm_sdcc.1/by-name/radio mmcblk0p1 ' \ 607 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p4 ' \ 608 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p25 ' \ 609 | -e 's block/platform/msm_sdcc.1/by-name/misc mmcblk0p24 ' \ 610 | "$@" 611 | ;; 612 | 613 | "yuga" | "odin" | "dogo" | "pollux" | "pollux_windy") 614 | sed -i \ 615 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p17 ' \ 616 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p24 ' \ 617 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p25 ' \ 618 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p26 ' \ 619 | -e 's block/platform/msm_sdcc.1/by-name/LTALabel mmcblk1 ' \ 620 | "$@" 621 | ;; 622 | 623 | "z3c" | "sirius" | "z3" | "leo" | "honami" | "amami") 624 | # Z3 compact is also called "aries" | "d5803" in aosp (called z3c in cm12.1) 625 | # Z2 is also called "d6503" in aosp (called sirius in cm12.1) 626 | # untested for "amami" | "tianchi") 627 | sed -i \ 628 | -e 's block/platform/msm_sdcc.1/by-name/DDR mmcblk0p17 ' \ 629 | -e 's block/platform/msm_sdcc.1/by-name/FOTAKernel mmcblk0p16 ' \ 630 | -e 's block/platform/msm_sdcc.1/by-name/LTALabel mmcblk0p18 ' \ 631 | -e 's block/platform/msm_sdcc.1/by-name/TA mmcblk0p1 ' \ 632 | -e 's block/platform/msm_sdcc.1/by-name/aboot mmcblk0p5 ' \ 633 | -e 's block/platform/msm_sdcc.1/by-name/alt_aboot mmcblk0p11 ' \ 634 | -e 's block/platform/msm_sdcc.1/by-name/alt_dbi mmcblk0p10 ' \ 635 | -e 's block/platform/msm_sdcc.1/by-name/alt_rpm mmcblk0p12 ' \ 636 | -e 's block/platform/msm_sdcc.1/by-name/alt_s1sbl mmcblk0p9 ' \ 637 | -e 's block/platform/msm_sdcc.1/by-name/alt_sbl1 mmcblk0p8 ' \ 638 | -e 's block/platform/msm_sdcc.1/by-name/alt_tz mmcblk0p13 ' \ 639 | -e 's block/platform/msm_sdcc.1/by-name/apps_log mmcblk0p22 ' \ 640 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p14 ' \ 641 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p24 ' \ 642 | -e 's block/platform/msm_sdcc.1/by-name/dbi mmcblk0p4 ' \ 643 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p21 ' \ 644 | -e 's block/platform/msm_sdcc.1/by-name/modemst1 mmcblk0p19 ' \ 645 | -e 's block/platform/msm_sdcc.1/by-name/modemst2 mmcblk0p20 ' \ 646 | -e 's block/platform/msm_sdcc.1/by-name/ramdump mmcblk0p15 ' \ 647 | -e 's block/platform/msm_sdcc.1/by-name/rpm mmcblk0p6 ' \ 648 | -e 's block/platform/msm_sdcc.1/by-name/s1sbl mmcblk0p3 ' \ 649 | -e 's block/platform/msm_sdcc.1/by-name/sbl1 mmcblk0p2 ' \ 650 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p23 ' \ 651 | -e 's block/platform/msm_sdcc.1/by-name/tz mmcblk0p7 ' \ 652 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p25 ' \ 653 | "$@" 654 | ;; 655 | 656 | "kis3") 657 | sed -i \ 658 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p12 ' \ 659 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p13 ' \ 660 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p15 ' \ 661 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p7 ' \ 662 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p16 ' \ 663 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 664 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p14 ' \ 665 | "$@" 666 | ;; 667 | 668 | "m7spr") 669 | sed -i \ 670 | -e 's block/platform/msm_sdcc.1/by-name/adsp mmcblk0p16 ' \ 671 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p35 ' \ 672 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p38 ' \ 673 | -e 's block/platform/msm_sdcc.1/by-name/carrier mmcblk0p30 ' \ 674 | -e 's block/platform/msm_sdcc.1/by-name/cdma_record mmcblk0p28 ' \ 675 | -e 's block/platform/msm_sdcc.1/by-name/control mmcblk0p25 ' \ 676 | -e 's block/platform/msm_sdcc.1/by-name/devlog mmcblk0p22 ' \ 677 | -e 's block/platform/msm_sdcc.1/by-name/dsps mmcblk0p15 ' \ 678 | -e 's block/platform/msm_sdcc.1/by-name/extra mmcblk0p27 ' \ 679 | -e 's block/platform/msm_sdcc.1/by-name/local mmcblk0p26 ' \ 680 | -e 's block/platform/msm_sdcc.1/by-name/misc mmcblk0p19 ' \ 681 | -e 's block/platform/msm_sdcc.1/by-name/modem_st1 mmcblk0p20 ' \ 682 | -e 's block/platform/msm_sdcc.1/by-name/modem_st2 mmcblk0p21 ' \ 683 | -e 's block/platform/msm_sdcc.1/by-name/pdata mmcblk0p24 ' \ 684 | -e 's block/platform/msm_sdcc.1/by-name/radio mmcblk0p33 ' \ 685 | -e 's block/platform/msm_sdcc.1/by-name/radio_config mmcblk0p17 ' \ 686 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p36 ' \ 687 | -e 's block/platform/msm_sdcc.1/by-name/reserve mmcblk0p31 ' \ 688 | -e 's block/platform/msm_sdcc.1/by-name/reserve_1 mmcblk0p18 ' \ 689 | -e 's block/platform/msm_sdcc.1/by-name/reserve_2 mmcblk0p32 ' \ 690 | -e 's block/platform/msm_sdcc.1/by-name/reserve_3 mmcblk0p34 ' \ 691 | -e 's block/platform/msm_sdcc.1/by-name/skylink mmcblk0p29 ' \ 692 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p37 ' \ 693 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p39 ' \ 694 | "$@" 695 | ;; 696 | 697 | "t6") 698 | sed -i \ 699 | -e 's block/platform/msm_sdcc.1/by-name/adsp mmcblk0p16 ' \ 700 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p37 ' \ 701 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p41 ' \ 702 | -e 's block/platform/msm_sdcc.1/by-name/carrier mmcblk0p32 ' \ 703 | -e 's block/platform/msm_sdcc.1/by-name/cdma_record mmcblk0p30 ' \ 704 | -e 's block/platform/msm_sdcc.1/by-name/control mmcblk0p27 ' \ 705 | -e 's block/platform/msm_sdcc.1/by-name/devlog mmcblk0p24 ' \ 706 | -e 's block/platform/msm_sdcc.1/by-name/dsps mmcblk0p15 ' \ 707 | -e 's block/platform/msm_sdcc.1/by-name/extra mmcblk0p29 ' \ 708 | -e 's block/platform/msm_sdcc.1/by-name/local mmcblk0p28 ' \ 709 | -e 's block/platform/msm_sdcc.1/by-name/misc mmcblk0p21 ' \ 710 | -e 's block/platform/msm_sdcc.1/by-name/modem_st1 mmcblk0p22 ' \ 711 | -e 's block/platform/msm_sdcc.1/by-name/modem_st2 mmcblk0p23 ' \ 712 | -e 's block/platform/msm_sdcc.1/by-name/pdata mmcblk0p26 ' \ 713 | -e 's block/platform/msm_sdcc.1/by-name/radio mmcblk0p34 ' \ 714 | -e 's block/platform/msm_sdcc.1/by-name/radio_config mmcblk0p17 ' \ 715 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p38 ' \ 716 | -e 's block/platform/msm_sdcc.1/by-name/reserve mmcblk0p33 ' \ 717 | -e 's block/platform/msm_sdcc.1/by-name/reserve_1 mmcblk0p20 ' \ 718 | -e 's block/platform/msm_sdcc.1/by-name/reserve_2 mmcblk0p35 ' \ 719 | -e 's block/platform/msm_sdcc.1/by-name/reserve_3 mmcblk0p36 ' \ 720 | -e 's block/platform/msm_sdcc.1/by-name/reserve_4 mmcblk0p40 ' \ 721 | -e 's block/platform/msm_sdcc.1/by-name/skylink mmcblk0p31 ' \ 722 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p39 ' \ 723 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p42 ' \ 724 | -e 's block/platform/msm_sdcc.1/by-name/wcnss mmcblk0p18 ' \ 725 | "$@" 726 | ;; 727 | 728 | "wt88047") 729 | sed -i \ 730 | -e 's block/bootdevice/by-name/userdata mmcblk0p30 ' \ 731 | -e 's block/bootdevice/by-name/boot mmcblk0p22 ' \ 732 | -e 's block/bootdevice/by-name/system mmcblk0p23 ' \ 733 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 734 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p13 ' \ 735 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p14 ' \ 736 | -e 's block/bootdevice/by-name/persist mmcblk0p25 ' \ 737 | "$@" 738 | ;; 739 | 740 | "find5") 741 | sed -i \ 742 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 743 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p21 ' \ 744 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p19 ' \ 745 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p18 ' \ 746 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p20 ' \ 747 | "$@" 748 | ;; 749 | 750 | "cancro") 751 | sed -i \ 752 | -e 's block/platform/msm_sdcc.1/by-name/DDR mmcblk0p4 ' \ 753 | -e 's block/platform/msm_sdcc.1/by-name/aboot mmcblk0p7 ' \ 754 | -e 's block/platform/msm_sdcc.1/by-name/bk1 mmcblk0p8 ' \ 755 | -e 's block/platform/msm_sdcc.1/by-name/bk2 mmcblk0p11 ' \ 756 | -e 's block/platform/msm_sdcc.1/by-name/bk3 mmcblk0p15 ' \ 757 | -e 's block/platform/msm_sdcc.1/by-name/bk4 mmcblk0p17 ' \ 758 | -e 's block/platform/msm_sdcc.1/by-name/bk5 mmcblk0p18 ' \ 759 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p19 ' \ 760 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p24 ' \ 761 | -e 's block/platform/msm_sdcc.1/by-name/dbi mmcblk0p6 ' \ 762 | -e 's block/platform/msm_sdcc.1/by-name/fsc mmcblk0p14 ' \ 763 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p16 ' \ 764 | -e 's block/platform/msm_sdcc.1/by-name/logo mmcblk0p10 ' \ 765 | -e 's block/platform/msm_sdcc.1/by-name/misc mmcblk0p9 ' \ 766 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p22 ' \ 767 | -e 's block/platform/msm_sdcc.1/by-name/modemst1 mmcblk0p12 ' \ 768 | -e 's block/platform/msm_sdcc.1/by-name/modemst2 mmcblk0p13 ' \ 769 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p21 ' \ 770 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p20 ' \ 771 | -e 's block/platform/msm_sdcc.1/by-name/rpm mmcblk0p2 ' \ 772 | -e 's block/platform/msm_sdcc.1/by-name/sbl1 mmcblk0p1 ' \ 773 | -e 's block/platform/msm_sdcc.1/by-name/ssd mmcblk0p5 ' \ 774 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p23 ' \ 775 | -e 's block/platform/msm_sdcc.1/by-name/tz mmcblk0p3 ' \ 776 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p25 ' \ 777 | "$@" 778 | ;; 779 | 780 | "gemini") 781 | sed -i \ 782 | -e 's block/bootdevice/by-name/aboot sde23 ' \ 783 | -e 's block/bootdevice/by-name/abootbak sde24 ' \ 784 | -e 's block/bootdevice/by-name/apdp sde5 ' \ 785 | -e 's block/bootdevice/by-name/bk1 sda3 ' \ 786 | -e 's block/bootdevice/by-name/bk10 sdf2 ' \ 787 | -e 's block/bootdevice/by-name/bk11 sdf4 ' \ 788 | -e 's block/bootdevice/by-name/bk12 sdf6 ' \ 789 | -e 's block/bootdevice/by-name/bk2 sda8 ' \ 790 | -e 's block/bootdevice/by-name/bk3 sda10 ' \ 791 | -e 's block/bootdevice/by-name/bk4 sdd2 ' \ 792 | -e 's block/bootdevice/by-name/bk5 sdd5 ' \ 793 | -e 's block/bootdevice/by-name/bk6 sde4 ' \ 794 | -e 's block/bootdevice/by-name/bk7 sde29 ' \ 795 | -e 's block/bootdevice/by-name/bk8 sde30 ' \ 796 | -e 's block/bootdevice/by-name/bk9 sde40 ' \ 797 | -e 's block/bootdevice/by-name/bluetooth sde26 ' \ 798 | -e 's block/bootdevice/by-name/boot sde36 ' \ 799 | -e 's block/bootdevice/by-name/cache sda13 ' \ 800 | -e 's block/bootdevice/by-name/cdt sdd3 ' \ 801 | -e 's block/bootdevice/by-name/cmnlib sde19 ' \ 802 | -e 's block/bootdevice/by-name/cmnlib64 sde21 ' \ 803 | -e 's block/bootdevice/by-name/cmnlib64bak sde22 ' \ 804 | -e 's block/bootdevice/by-name/cmnlibbak sde20 ' \ 805 | -e 's block/bootdevice/by-name/cust sde38 ' \ 806 | -e 's block/bootdevice/by-name/ddr sdd4 ' \ 807 | -e 's block/bootdevice/by-name/devcfg sda4 ' \ 808 | -e 's block/bootdevice/by-name/devcfgbak sda5 ' \ 809 | -e 's block/bootdevice/by-name/devinfo sde1 ' \ 810 | -e 's block/bootdevice/by-name/dip sde25 ' \ 811 | -e 's block/bootdevice/by-name/dpo sde2 ' \ 812 | -e 's block/bootdevice/by-name/dsp sde32 ' \ 813 | -e 's block/bootdevice/by-name/frp sda7 ' \ 814 | -e 's block/bootdevice/by-name/fsc sdf1 ' \ 815 | -e 's block/bootdevice/by-name/fsg sde28 ' \ 816 | -e 's block/bootdevice/by-name/hyp sde13 ' \ 817 | -e 's block/bootdevice/by-name/hypbak sde14 ' \ 818 | -e 's block/bootdevice/by-name/keymaster sde17 ' \ 819 | -e 's block/bootdevice/by-name/keymasterbak sde18 ' \ 820 | -e 's block/bootdevice/by-name/keystore sda6 ' \ 821 | -e 's block/bootdevice/by-name/lksecapp sde7 ' \ 822 | -e 's block/bootdevice/by-name/lksecappbak sde8 ' \ 823 | -e 's block/bootdevice/by-name/logo sde31 ' \ 824 | -e 's block/bootdevice/by-name/mdtp sde34 ' \ 825 | -e 's block/bootdevice/by-name/misc sda9 ' \ 826 | -e 's block/bootdevice/by-name/modem sde35 ' \ 827 | -e 's block/bootdevice/by-name/modemst1 sdf3 ' \ 828 | -e 's block/bootdevice/by-name/modemst2 sdf5 ' \ 829 | -e 's block/bootdevice/by-name/msadp sde6 ' \ 830 | -e 's block/bootdevice/by-name/oops sda11 ' \ 831 | -e 's block/bootdevice/by-name/persist sda12 ' \ 832 | -e 's block/bootdevice/by-name/pmic sde9 ' \ 833 | -e 's block/bootdevice/by-name/pmicbak sde10 ' \ 834 | -e 's block/bootdevice/by-name/recovery sde37 ' \ 835 | -e 's block/bootdevice/by-name/reserve sdd1 ' \ 836 | -e 's block/bootdevice/by-name/rpm sde11 ' \ 837 | -e 's block/bootdevice/by-name/rpmbak sde12 ' \ 838 | -e 's block/bootdevice/by-name/sec sde3 ' \ 839 | -e 's block/bootdevice/by-name/splash sde33 ' \ 840 | -e 's block/bootdevice/by-name/ssd sda1 ' \ 841 | -e 's block/bootdevice/by-name/sti sde27 ' \ 842 | -e 's block/bootdevice/by-name/switch sda2 ' \ 843 | -e 's block/bootdevice/by-name/system sde39 ' \ 844 | -e 's block/bootdevice/by-name/tz sde15 ' \ 845 | -e 's block/bootdevice/by-name/tzbak sde16 ' \ 846 | -e 's block/bootdevice/by-name/userdata sda14 ' \ 847 | -e 's block/bootdevice/by-name/xbl sdb1 ' \ 848 | -e 's block/bootdevice/by-name/xblbak sdc1 ' \ 849 | "$@" 850 | ;; 851 | 852 | "gts210ltexx"|"gts210wifi") 853 | sed -i \ 854 | -e 's block/platform/15540000.dwmmc0/by-name/BOOT mmcblk0p9 ' \ 855 | -e 's block/platform/15540000.dwmmc0/by-name/CACHE mmcblk0p20 ' \ 856 | -e 's block/platform/15540000.dwmmc0/by-name/EFS mmcblk0p3 ' \ 857 | -e 's block/platform/15540000.dwmmc0/by-name/SYSTEM mmcblk0p19 ' \ 858 | -e 's block/platform/15540000.dwmmc0/by-name/USERDATA mmcblk0p22 ' \ 859 | "$@" 860 | ;; 861 | 862 | "kenzo") 863 | sed -i \ 864 | -e 's block/bootdevice/by-name/DDR mmcblk0p15 ' \ 865 | -e 's block/bootdevice/by-name/aboot mmcblk0p19 ' \ 866 | -e 's block/bootdevice/by-name/abootbak mmcblk0p20 ' \ 867 | -e 's block/bootdevice/by-name/apdp mmcblk0p43 ' \ 868 | -e 's block/bootdevice/by-name/boot mmcblk0p21 ' \ 869 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 870 | -e 's block/bootdevice/by-name/cmnlib mmcblk0p39 ' \ 871 | -e 's block/bootdevice/by-name/cmnlibbak mmcblk0p41 ' \ 872 | -e 's block/bootdevice/by-name/config mmcblk0p29 ' \ 873 | -e 's block/bootdevice/by-name/cust mmcblk0p36 ' \ 874 | -e 's block/bootdevice/by-name/devcfg mmcblk0p33 ' \ 875 | -e 's block/bootdevice/by-name/devinfo mmcblk0p23 ' \ 876 | -e 's block/bootdevice/by-name/dip mmcblk0p34 ' \ 877 | -e 's block/bootdevice/by-name/dpo mmcblk0p45 ' \ 878 | -e 's block/bootdevice/by-name/dsp mmcblk0p12 ' \ 879 | -e 's block/bootdevice/by-name/fsc mmcblk0p2 ' \ 880 | -e 's block/bootdevice/by-name/fsg mmcblk0p16 ' \ 881 | -e 's block/bootdevice/by-name/hyp mmcblk0p10 ' \ 882 | -e 's block/bootdevice/by-name/hypbak mmcblk0p11 ' \ 883 | -e 's block/bootdevice/by-name/keymaster mmcblk0p40 ' \ 884 | -e 's block/bootdevice/by-name/keymasterbak mmcblk0p42 ' \ 885 | -e 's block/bootdevice/by-name/keystore mmcblk0p28 ' \ 886 | -e 's block/bootdevice/by-name/limits mmcblk0p31 ' \ 887 | -e 's block/bootdevice/by-name/mcfg mmcblk0p38 ' \ 888 | -e 's block/bootdevice/by-name/mdtp mmcblk0p35 ' \ 889 | -e 's block/bootdevice/by-name/misc mmcblk0p27 ' \ 890 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 891 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p13 ' \ 892 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p14 ' \ 893 | -e 's block/bootdevice/by-name/mota mmcblk0p32 ' \ 894 | -e 's block/bootdevice/by-name/msadp mmcblk0p44 ' \ 895 | -e 's block/bootdevice/by-name/oem mmcblk0p30 ' \ 896 | -e 's block/bootdevice/by-name/persist mmcblk0p26 ' \ 897 | -e 's block/bootdevice/by-name/recovery mmcblk0p22 ' \ 898 | -e 's block/bootdevice/by-name/rpm mmcblk0p6 ' \ 899 | -e 's block/bootdevice/by-name/rpmbak mmcblk0p7 ' \ 900 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p4 ' \ 901 | -e 's block/bootdevice/by-name/sbl1bak mmcblk0p5 ' \ 902 | -e 's block/bootdevice/by-name/sec mmcblk0p17 ' \ 903 | -e 's block/bootdevice/by-name/splash mmcblk0p18 ' \ 904 | -e 's block/bootdevice/by-name/ssd mmcblk0p3 ' \ 905 | -e 's block/bootdevice/by-name/syscfg mmcblk0p37 ' \ 906 | -e 's block/bootdevice/by-name/system mmcblk0p24 ' \ 907 | -e 's block/bootdevice/by-name/tz mmcblk0p8 ' \ 908 | -e 's block/bootdevice/by-name/tzbak mmcblk0p9 ' \ 909 | -e 's block/bootdevice/by-name/userdata mmcblk0p46 ' \ 910 | "$@" 911 | ;; 912 | 913 | "ido") 914 | sed -i \ 915 | -e 's block/bootdevice/by-name/DDR mmcblk0p19 ' \ 916 | -e 's block/bootdevice/by-name/aboot mmcblk0p4 ' \ 917 | -e 's block/bootdevice/by-name/abootbak mmcblk0p5 ' \ 918 | -e 's block/bootdevice/by-name/boot mmcblk0p22 ' \ 919 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 920 | -e 's block/bootdevice/by-name/config mmcblk0p28 ' \ 921 | -e 's block/bootdevice/by-name/cust mmcblk0p30 ' \ 922 | -e 's block/bootdevice/by-name/fsc mmcblk0p16 ' \ 923 | -e 's block/bootdevice/by-name/fsg mmcblk0p20 ' \ 924 | -e 's block/bootdevice/by-name/hyp mmcblk0p10 ' \ 925 | -e 's block/bootdevice/by-name/hypbak mmcblk0p11 ' \ 926 | -e 's block/bootdevice/by-name/keystore mmcblk0p27 ' \ 927 | -e 's block/bootdevice/by-name/misc mmcblk0p15 ' \ 928 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 929 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p13 ' \ 930 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p14 ' \ 931 | -e 's block/bootdevice/by-name/oem mmcblk0p29 ' \ 932 | -e 's block/bootdevice/by-name/pad mmcblk0p12 ' \ 933 | -e 's block/bootdevice/by-name/persist mmcblk0p24 ' \ 934 | -e 's block/bootdevice/by-name/recovery mmcblk0p26 ' \ 935 | -e 's block/bootdevice/by-name/rpm mmcblk0p6 ' \ 936 | -e 's block/bootdevice/by-name/rpmbak mmcblk0p7 ' \ 937 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p2 ' \ 938 | -e 's block/bootdevice/by-name/sbl1bak mmcblk0p3 ' \ 939 | -e 's block/bootdevice/by-name/sec mmcblk0p21 ' \ 940 | -e 's block/bootdevice/by-name/splash mmcblk0p18 ' \ 941 | -e 's block/bootdevice/by-name/ssd mmcblk0p17 ' \ 942 | -e 's block/bootdevice/by-name/system mmcblk0p23 ' \ 943 | -e 's block/bootdevice/by-name/tz mmcblk0p8 ' \ 944 | -e 's block/bootdevice/by-name/tzbak mmcblk0p9 ' \ 945 | -e 's block/bootdevice/by-name/userdata mmcblk0p31 ' \ 946 | "$@" 947 | ;; 948 | 949 | "armani") 950 | sed -i \ 951 | -e 's block/platform/msm_sdcc.1/by-name/aboot mmcblk0p10 ' \ 952 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p24 ' \ 953 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p28 ' \ 954 | -e 's block/platform/msm_sdcc.1/by-name/misc mmcblk0p13 ' \ 955 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p23 ' \ 956 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p26 ' \ 957 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p25 ' \ 958 | -e 's block/platform/msm_sdcc.1/by-name/rpm mmcblk0p3 ' \ 959 | -e 's block/platform/msm_sdcc.1/by-name/sbl1 mmcblk0p1 ' \ 960 | -e 's block/platform/msm_sdcc.1/by-name/sdi mmcblk0p8 ' \ 961 | -e 's block/platform/msm_sdcc.1/by-name/ssd mmcblk0p7 ' \ 962 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p27 ' \ 963 | -e 's block/platform/msm_sdcc.1/by-name/tz mmcblk0p5 ' \ 964 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p29 ' \ 965 | "$@" 966 | ;; 967 | 968 | "ham") 969 | sed -i \ 970 | -e 's block/bootdevice/by-name/boot mmcblk0p9 ' \ 971 | -e 's block/bootdevice/by-name/cache mmcblk0p21 ' \ 972 | -e 's block/bootdevice/by-name/dbi mmcblk0p3 ' \ 973 | -e 's block/bootdevice/by-name/frp mmcblk0p13 ' \ 974 | -e 's block/bootdevice/by-name/fsc mmcblk0p6 ' \ 975 | -e 's block/bootdevice/by-name/misc mmcblk0p20 ' \ 976 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 977 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p16 ' \ 978 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p17 ' \ 979 | -e 's block/bootdevice/by-name/mrd mmcblk0p12 ' \ 980 | -e 's block/bootdevice/by-name/pad mmcblk0p15 ' \ 981 | -e 's block/bootdevice/by-name/persist mmcblk0p19 ' \ 982 | -e 's block/bootdevice/by-name/recovery mmcblk0p10 ' \ 983 | -e 's block/bootdevice/by-name/rpm mmcblk0p4 ' \ 984 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p2 ' \ 985 | -e 's block/bootdevice/by-name/splash mmcblk0p11 ' \ 986 | -e 's block/bootdevice/by-name/ssd mmcblk0p7 ' \ 987 | -e 's block/bootdevice/by-name/system mmcblk0p22 ' \ 988 | -e 's block/bootdevice/by-name/userdata mmcblk0p23 ' \ 989 | "$@" 990 | ;; 991 | 992 | "m8") 993 | sed -i \ 994 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p42 ' \ 995 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p47 ' \ 996 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p45 ' \ 997 | "$@" 998 | ;; 999 | 1000 | "chaozu") 1001 | sed -i \ 1002 | -e 's block/bootdevice/by-name/DDR mmcblk0p15 ' \ 1003 | -e 's block/bootdevice/by-name/aboot mmcblk0p19 ' \ 1004 | -e 's block/bootdevice/by-name/abootbak mmcblk0p20 ' \ 1005 | -e 's block/bootdevice/by-name/apdp mmcblk0p43 ' \ 1006 | -e 's block/bootdevice/by-name/boot mmcblk0p21 ' \ 1007 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 1008 | -e 's block/bootdevice/by-name/cmnlib mmcblk0p37 ' \ 1009 | -e 's block/bootdevice/by-name/cmnlib64 mmcblk0p39 ' \ 1010 | -e 's block/bootdevice/by-name/cmnlib64bak mmcblk0p40 ' \ 1011 | -e 's block/bootdevice/by-name/cmnlibbak mmcblk0p38 ' \ 1012 | -e 's block/bootdevice/by-name/config mmcblk0p29 ' \ 1013 | -e 's block/bootdevice/by-name/devcfg mmcblk0p10 ' \ 1014 | -e 's block/bootdevice/by-name/devcfgbak mmcblk0p11 ' \ 1015 | -e 's block/bootdevice/by-name/devinfo mmcblk0p23 ' \ 1016 | -e 's block/bootdevice/by-name/dip mmcblk0p33 ' \ 1017 | -e 's block/bootdevice/by-name/dpo mmcblk0p45 ' \ 1018 | -e 's block/bootdevice/by-name/dsp mmcblk0p12 ' \ 1019 | -e 's block/bootdevice/by-name/fsc mmcblk0p2 ' \ 1020 | -e 's block/bootdevice/by-name/fsg mmcblk0p16 ' \ 1021 | -e 's block/bootdevice/by-name/keymaster mmcblk0p41 ' \ 1022 | -e 's block/bootdevice/by-name/keymasterbak mmcblk0p42 ' \ 1023 | -e 's block/bootdevice/by-name/keystore mmcblk0p28 ' \ 1024 | -e 's block/bootdevice/by-name/limits mmcblk0p31 ' \ 1025 | -e 's block/bootdevice/by-name/mcfg mmcblk0p36 ' \ 1026 | -e 's block/bootdevice/by-name/mdtp mmcblk0p34 ' \ 1027 | -e 's block/bootdevice/by-name/misc mmcblk0p27 ' \ 1028 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1029 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p13 ' \ 1030 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p14 ' \ 1031 | -e 's block/bootdevice/by-name/mota mmcblk0p32 ' \ 1032 | -e 's block/bootdevice/by-name/msadp mmcblk0p44 ' \ 1033 | -e 's block/bootdevice/by-name/oem mmcblk0p30 ' \ 1034 | -e 's block/bootdevice/by-name/persist mmcblk0p26 ' \ 1035 | -e 's block/bootdevice/by-name/recovery mmcblk0p22 ' \ 1036 | -e 's block/bootdevice/by-name/rpm mmcblk0p6 ' \ 1037 | -e 's block/bootdevice/by-name/rpmbak mmcblk0p7 ' \ 1038 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p4 ' \ 1039 | -e 's block/bootdevice/by-name/sbl1bak mmcblk0p5 ' \ 1040 | -e 's block/bootdevice/by-name/sec mmcblk0p17 ' \ 1041 | -e 's block/bootdevice/by-name/splash mmcblk0p18 ' \ 1042 | -e 's block/bootdevice/by-name/ssd mmcblk0p3 ' \ 1043 | -e 's block/bootdevice/by-name/syscfg mmcblk0p35 ' \ 1044 | -e 's block/bootdevice/by-name/system mmcblk0p24 ' \ 1045 | -e 's block/bootdevice/by-name/tz mmcblk0p8 ' \ 1046 | -e 's block/bootdevice/by-name/tzbak mmcblk0p9 ' \ 1047 | -e 's block/bootdevice/by-name/userdata mmcblk0p46 ' \ 1048 | "$@" 1049 | ;; 1050 | 1051 | "oneplus3") 1052 | sed -i \ 1053 | -e 's block/bootdevice/by-name/LOGO sde17 ' \ 1054 | -e 's block/bootdevice/by-name/aboot sde15 ' \ 1055 | -e 's block/bootdevice/by-name/abootbak sde16 ' \ 1056 | -e 's block/bootdevice/by-name/apdp sde30 ' \ 1057 | -e 's block/bootdevice/by-name/bluetooth sde23 ' \ 1058 | -e 's block/bootdevice/by-name/boot sde18 ' \ 1059 | -e 's block/bootdevice/by-name/boot_aging sde19 ' \ 1060 | -e 's block/bootdevice/by-name/cache sda3 ' \ 1061 | -e 's block/bootdevice/by-name/cdt sdd2 ' \ 1062 | -e 's block/bootdevice/by-name/cmnlib sde26 ' \ 1063 | -e 's block/bootdevice/by-name/cmnlib64 sde28 ' \ 1064 | -e 's block/bootdevice/by-name/cmnlib64bak sde29 ' \ 1065 | -e 's block/bootdevice/by-name/cmnlibbak sde27 ' \ 1066 | -e 's block/bootdevice/by-name/config sda14 ' \ 1067 | -e 's block/bootdevice/by-name/ddr sdd3 ' \ 1068 | -e 's block/bootdevice/by-name/devcfg sda6 ' \ 1069 | -e 's block/bootdevice/by-name/devcfgbak sda7 ' \ 1070 | -e 's block/bootdevice/by-name/devinfo sde22 ' \ 1071 | -e 's block/bootdevice/by-name/dip sde13 ' \ 1072 | -e 's block/bootdevice/by-name/dpo sde32 ' \ 1073 | -e 's block/bootdevice/by-name/dsp sde12 ' \ 1074 | -e 's block/bootdevice/by-name/frp sda8 ' \ 1075 | -e 's block/bootdevice/by-name/fsc sdf3 ' \ 1076 | -e 's block/bootdevice/by-name/fsg sde7 ' \ 1077 | -e 's block/bootdevice/by-name/hyp sde5 ' \ 1078 | -e 's block/bootdevice/by-name/hypbak sde6 ' \ 1079 | -e 's block/bootdevice/by-name/keymaster sde24 ' \ 1080 | -e 's block/bootdevice/by-name/keymasterbak sde25 ' \ 1081 | -e 's block/bootdevice/by-name/keystore sda5 ' \ 1082 | -e 's block/bootdevice/by-name/md5 sdf4 ' \ 1083 | -e 's block/bootdevice/by-name/mdtp sde14 ' \ 1084 | -e 's block/bootdevice/by-name/misc sda4 ' \ 1085 | -e 's block/bootdevice/by-name/modem sde11 ' \ 1086 | -e 's block/bootdevice/by-name/modemst1 sdf1 ' \ 1087 | -e 's block/bootdevice/by-name/modemst2 sdf2 ' \ 1088 | -e 's block/bootdevice/by-name/msadp sde31 ' \ 1089 | -e 's block/bootdevice/by-name/oem_dycnvbk sda9 ' \ 1090 | -e 's block/bootdevice/by-name/oem_stanvbk sda10 ' \ 1091 | -e 's block/bootdevice/by-name/param sda11 ' \ 1092 | -e 's block/bootdevice/by-name/persist sda2 ' \ 1093 | -e 's block/bootdevice/by-name/pmic sde9 ' \ 1094 | -e 's block/bootdevice/by-name/pmicbak sde10 ' \ 1095 | -e 's block/bootdevice/by-name/recovery sde21 ' \ 1096 | -e 's block/bootdevice/by-name/reserve sdd1 ' \ 1097 | -e 's block/bootdevice/by-name/reserve1 sda12 ' \ 1098 | -e 's block/bootdevice/by-name/reserve2 sda13 ' \ 1099 | -e 's block/bootdevice/by-name/rpm sde1 ' \ 1100 | -e 's block/bootdevice/by-name/rpmbak sde2 ' \ 1101 | -e 's block/bootdevice/by-name/sec sde8 ' \ 1102 | -e 's block/bootdevice/by-name/splash sde33 ' \ 1103 | -e 's block/bootdevice/by-name/ssd sda1 ' \ 1104 | -e 's block/bootdevice/by-name/sti sde34 ' \ 1105 | -e 's block/bootdevice/by-name/system sde20 ' \ 1106 | -e 's block/bootdevice/by-name/tz sde3 ' \ 1107 | -e 's block/bootdevice/by-name/tzbak sde4 ' \ 1108 | -e 's block/bootdevice/by-name/userdata sda15 ' \ 1109 | -e 's block/bootdevice/by-name/xbl sdb1 ' \ 1110 | -e 's block/bootdevice/by-name/xblbak sdc1 ' \ 1111 | "$@" 1112 | ;; 1113 | 1114 | "T00F") 1115 | sed -i \ 1116 | -e 's /dev/block/by-name/system /dev/mmcblk0p9 ' \ 1117 | -e 's /dev/block/by-name/cache /dev/mmcblk0p6 ' \ 1118 | -e 's /dev/block/by-name/config /dev/mmcblk0p5 ' \ 1119 | -e 's /dev/block/by-name/data /dev/mmcblk0p10 ' \ 1120 | -e 's /dev/block/by-name/factory /dev/mmcblk0p3 ' \ 1121 | "$@" 1122 | ;; 1123 | 1124 | "angler") 1125 | sed -i \ 1126 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/system mmcblk0p43 ' \ 1127 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/vendor mmcblk0p37 ' \ 1128 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/userdata mmcblk0p44 ' \ 1129 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/cache mmcblk0p38 ' \ 1130 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/persist mmcblk0p32 ' \ 1131 | -e 's block/platform/soc.0/f9824900.sdhci/by-name/modem mmcblk0p1 ' \ 1132 | "$@" 1133 | ;; 1134 | 1135 | "pme") 1136 | sed -i \ 1137 | -e 's block/platform/soc/7464900.sdhci/by-name/adsp mmcblk0p31 ' \ 1138 | -e 's block/platform/soc/7464900.sdhci/by-name/cache mmcblk0p61 ' \ 1139 | -e 's block/platform/soc/7464900.sdhci/by-name/carrier mmcblk0p53 ' \ 1140 | -e 's block/platform/soc/7464900.sdhci/by-name/dsp mmcblk0p57 ' \ 1141 | -e 's block/platform/soc/7464900.sdhci/by-name/persist mmcblk0p48 ' \ 1142 | -e 's block/platform/soc/7464900.sdhci/by-name/radio mmcblk0p30 ' \ 1143 | -e 's block/platform/soc/7464900.sdhci/by-name/slpi mmcblk0p33 ' \ 1144 | -e 's block/platform/soc/7464900.sdhci/by-name/system mmcblk0p62 ' \ 1145 | -e 's block/platform/soc/7464900.sdhci/by-name/userdata mmcblk0p63 ' \ 1146 | -e 's block/platform/soc/7464900.sdhci/by-name/venus mmcblk0p36 ' \ 1147 | "$@" 1148 | ;; 1149 | 1150 | "Z00L"|"Z00LD"|"Z00W"|"Z00WD"|"Z00M"|"Z00MD"|"Z00MDD"|"Z00T"|"Z00TD"|"Z00U"|"Z00UD"|"Z00UDH"|"Z00UDB"|"Z011"|"Z011D"|"Z011DD") 1151 | sed -i \ 1152 | -e 's block/platform/soc.0/7824900.sdhci/by-name/asdf mmcblk0p33 ' \ 1153 | -e 's block/platform/soc.0/7824900.sdhci/by-name/boot mmcblk0p37 ' \ 1154 | -e 's block/platform/soc.0/7824900.sdhci/by-name/cache mmcblk0p44 ' \ 1155 | -e 's block/platform/soc.0/7824900.sdhci/by-name/factory mmcblk0p20 ' \ 1156 | -e 's block/platform/soc.0/7824900.sdhci/by-name/misc mmcblk0p30 ' \ 1157 | -e 's block/platform/soc.0/7824900.sdhci/by-name/modem mmcblk0p41 ' \ 1158 | -e 's block/platform/soc.0/7824900.sdhci/by-name/persist mmcblk0p39 ' \ 1159 | -e 's block/platform/soc.0/7824900.sdhci/by-name/recovery mmcblk0p38 ' \ 1160 | -e 's block/platform/soc.0/7824900.sdhci/by-name/system mmcblk0p45 ' \ 1161 | -e 's block/platform/soc.0/7824900.sdhci/by-name/userdata mmcblk0p46 ' \ 1162 | "$@" 1163 | ;; 1164 | 1165 | "oneplus3") 1166 | sed -i \ 1167 | -e 's block/bootdevice/by-name/boot sde18 ' \ 1168 | -e 's block/bootdevice/by-name/userdata sda15 ' \ 1169 | -e 's block/bootdevice/by-name/system sde20 ' \ 1170 | -e 's block/bootdevice/by-name/cache sda3 ' \ 1171 | "$@" 1172 | ;; 1173 | 1174 | "cheeseburger") 1175 | sed -i \ 1176 | -e 's block/bootdevice/by-name/boot sde19 ' \ 1177 | -e 's block/bootdevice/by-name/userdata sda13 ' \ 1178 | -e 's block/bootdevice/by-name/system sde21 ' \ 1179 | -e 's block/bootdevice/by-name/cache sda3 ' \ 1180 | -e 's block/bootdevice/by-name/persist sda2 ' \ 1181 | -e 's block/bootdevice/by-name/modem sde10 ' \ 1182 | -e 's block/bootdevice/by-name/bluetooth sde24 ' \ 1183 | "$@" 1184 | ;; 1185 | 1186 | "oneplus2") 1187 | sed -i \ 1188 | -e 's block/bootdevice/by-name/boot mmcblk0p35 ' \ 1189 | -e 's block/bootdevice/by-name/system mmcblk0p42 ' \ 1190 | -e 's block/bootdevice/by-name/userdata mmcblk0p43 ' \ 1191 | -e 's block/bootdevice/by-name/cache mmcblk0p41 ' \ 1192 | -e 's block/bootdevice/by-name/persist mmcblk0p37 ' \ 1193 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1194 | -e 's block/bootdevice/by-name/bluetooth mmcblk0p2 ' \ 1195 | "$@" 1196 | ;; 1197 | 1198 | "shamu") 1199 | sed -i \ 1200 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p37 ' \ 1201 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p42 ' \ 1202 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p41 ' \ 1203 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p38 ' \ 1204 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p1 ' \ 1205 | "$@" 1206 | ;; 1207 | 1208 | "flounder") 1209 | sed -i \ 1210 | -e 's block/platform/sdhci-tegra.3/by-name/LNX mmcblk0p16 ' \ 1211 | -e 's block/platform/sdhci-tegra.3/by-name/UDA mmcblk0p31 ' \ 1212 | -e 's block/platform/sdhci-tegra.3/by-name/APP mmcblk0p29 ' \ 1213 | -e 's block/platform/sdhci-tegra.3/by-name/CAC mmcblk0p30 ' \ 1214 | -e 's block/platform/sdhci-tegra.3/by-name/VNR mmcblk0p24 ' \ 1215 | "$@" 1216 | ;; 1217 | 1218 | "tulip-chiphd") 1219 | sed -i \ 1220 | -e 's block/mmcblk0p1 mmcblk0p1 ' \ 1221 | -e 's block/mmcblk0p4 mmcblk0p4 ' \ 1222 | -e 's block/mmcblk0p2 mmcblk0p2 ' \ 1223 | -e 's block/mmcblk0p3 mmcblk0p3 ' \ 1224 | "$@" 1225 | ;; 1226 | 1227 | "addison") 1228 | sed -i \ 1229 | -e 's block/bootdevice/by-name/boot mmcblk0p37 ' \ 1230 | -e 's block/bootdevice/by-name/cache mmcblk0p52 ' \ 1231 | -e 's block/bootdevice/by-name/dsp mmcblk0p22 ' \ 1232 | -e 's block/bootdevice/by-name/fsg mmcblk0p29 ' \ 1233 | -e 's block/bootdevice/by-name/modem mmcblk0p19 ' \ 1234 | -e 's block/bootdevice/by-name/persist mmcblk0p30 ' \ 1235 | -e 's block/bootdevice/by-name/recovery mmcblk0p38 ' \ 1236 | -e 's block/bootdevice/by-name/system mmcblk0p53 ' \ 1237 | -e 's block/bootdevice/by-name/userdata mmcblk0p54 ' \ 1238 | "$@" 1239 | ;; 1240 | 1241 | "mido") 1242 | sed -i \ 1243 | -e 's block/bootdevice/by-name/boot mmcblk0p21 ' \ 1244 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 1245 | -e 's block/bootdevice/by-name/config mmcblk0p29 ' \ 1246 | -e 's block/bootdevice/by-name/dsp mmcblk0p12 ' \ 1247 | -e 's block/bootdevice/by-name/fsc mmcblk0p2 ' \ 1248 | -e 's block/bootdevice/by-name/misc mmcblk0p27 ' \ 1249 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1250 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p13 ' \ 1251 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p14 ' \ 1252 | -e 's block/bootdevice/by-name/persist mmcblk0p26 ' \ 1253 | -e 's block/bootdevice/by-name/recovery mmcblk0p22 ' \ 1254 | -e 's block/bootdevice/by-name/rpm mmcblk0p6 ' \ 1255 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p4 ' \ 1256 | -e 's block/bootdevice/by-name/splash mmcblk0p18 ' \ 1257 | -e 's block/bootdevice/by-name/ssd mmcblk0p3 ' \ 1258 | -e 's block/bootdevice/by-name/system mmcblk0p24 ' \ 1259 | -e 's block/bootdevice/by-name/userdata mmcblk0p49 ' \ 1260 | -e 's block/bootdevice/by-name/oem mmcblk0p30 ' \ 1261 | "$@" 1262 | ;; 1263 | 1264 | "krillin") 1265 | sed -i \ 1266 | -e 's block/platform/mtk-msdc.0/by-num/p1 mmcblk0p1 ' \ 1267 | -e 's block/platform/mtk-msdc.0/by-num/p2 mmcblk0p2 ' \ 1268 | -e 's block/platform/mtk-msdc.0/by-num/p3 mmcblk0p3 ' \ 1269 | -e 's block/platform/mtk-msdc.0/by-num/p4 mmcblk0p4 ' \ 1270 | -e 's block/platform/mtk-msdc.0/by-num/p5 mmcblk0p5 ' \ 1271 | -e 's block/platform/mtk-msdc.0/by-num/p6 mmcblk0p6 ' \ 1272 | -e 's block/platform/mtk-msdc.0/by-num/p7 mmcblk0p7 ' \ 1273 | "$@" 1274 | ;; 1275 | 1276 | "suzuran") 1277 | sed -i \ 1278 | -e 's block/bootdevice/by-name/DDR mmcblk0p7 ' \ 1279 | -e 's block/bootdevice/by-name/FOTAKernel mmcblk0p32 ' \ 1280 | -e 's block/bootdevice/by-name/LTALabel mmcblk0p2 ' \ 1281 | -e 's block/bootdevice/by-name/TA mmcblk0p1 ' \ 1282 | -e 's block/bootdevice/by-name/aboot mmcblk0p27 ' \ 1283 | -e 's block/bootdevice/by-name/alt_aboot mmcblk0p28 ' \ 1284 | -e 's block/bootdevice/by-name/alt_hyp mmcblk0p12 ' \ 1285 | -e 's block/bootdevice/by-name/alt_pmic mmcblk0p5 ' \ 1286 | -e 's block/bootdevice/by-name/alt_rpm mmcblk0p26 ' \ 1287 | -e 's block/bootdevice/by-name/alt_s1sbl mmcblk0p20 ' \ 1288 | -e 's block/bootdevice/by-name/alt_sbl1 mmcblk0p16 ' \ 1289 | -e 's block/bootdevice/by-name/alt_sdi mmcblk0p22 ' \ 1290 | -e 's block/bootdevice/by-name/alt_tz mmcblk0p24 ' \ 1291 | -e 's block/bootdevice/by-name/apdp mmcblk0p8 ' \ 1292 | -e 's block/bootdevice/by-name/apps_log mmcblk0p38 ' \ 1293 | -e 's block/bootdevice/by-name/boot mmcblk0p29 ' \ 1294 | -e 's block/bootdevice/by-name/cache mmcblk0p41 ' \ 1295 | -e 's block/bootdevice/by-name/config mmcblk0p36 ' \ 1296 | -e 's block/bootdevice/by-name/devinfo mmcblk0p35 ' \ 1297 | -e 's block/bootdevice/by-name/diag mmcblk0p39 ' \ 1298 | -e 's block/bootdevice/by-name/dpo mmcblk0p10 ' \ 1299 | -e 's block/bootdevice/by-name/fsg mmcblk0p13 ' \ 1300 | -e 's block/bootdevice/by-name/hyp mmcblk0p11 ' \ 1301 | -e 's block/bootdevice/by-name/keystore mmcblk0p34 ' \ 1302 | -e 's block/bootdevice/by-name/limits mmcblk0p6 ' \ 1303 | -e 's block/bootdevice/by-name/misc mmcblk0p33 ' \ 1304 | -e 's block/bootdevice/by-name/modem mmcblk0p3 ' \ 1305 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p17 ' \ 1306 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p18 ' \ 1307 | -e 's block/bootdevice/by-name/msadp mmcblk0p9 ' \ 1308 | -e 's block/bootdevice/by-name/oem mmcblk0p40 ' \ 1309 | -e 's block/bootdevice/by-name/persist mmcblk0p31 ' \ 1310 | -e 's block/bootdevice/by-name/pmic mmcblk0p4 ' \ 1311 | -e 's block/bootdevice/by-name/rddata mmcblk0p37 ' \ 1312 | -e 's block/bootdevice/by-name/rdimage mmcblk0p30 ' \ 1313 | -e 's block/bootdevice/by-name/rpm mmcblk0p25 ' \ 1314 | -e 's block/bootdevice/by-name/s1sbl mmcblk0p19 ' \ 1315 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p15 ' \ 1316 | -e 's block/bootdevice/by-name/sdi mmcblk0p21 ' \ 1317 | -e 's block/bootdevice/by-name/ssd mmcblk0p14 ' \ 1318 | -e 's block/bootdevice/by-name/system mmcblk0p43 ' \ 1319 | -e 's block/bootdevice/by-name/tz mmcblk0p23 ' \ 1320 | -e 's block/bootdevice/by-name/userdata mmcblk0p42 ' \ 1321 | "$@" 1322 | ;; 1323 | 1324 | "sumire") 1325 | sed -i \ 1326 | -e 's block/platform/soc.0/by-name/DDR mmcblk0p7 ' \ 1327 | -e 's block/platform/soc.0/by-name/FOTAKernel mmcblk0p32 ' \ 1328 | -e 's block/platform/soc.0/by-name/LTALabel mmcblk0p2 ' \ 1329 | -e 's block/platform/soc.0/by-name/TA mmcblk0p1 ' \ 1330 | -e 's block/platform/soc.0/by-name/aboot mmcblk0p27 ' \ 1331 | -e 's block/platform/soc.0/by-name/alt_aboot mmcblk0p28 ' \ 1332 | -e 's block/platform/soc.0/by-name/alt_hyp mmcblk0p12 ' \ 1333 | -e 's block/platform/soc.0/by-name/alt_pmic mmcblk0p5 ' \ 1334 | -e 's block/platform/soc.0/by-name/alt_rpm mmcblk0p26 ' \ 1335 | -e 's block/platform/soc.0/by-name/alt_s1sbl mmcblk0p20 ' \ 1336 | -e 's block/platform/soc.0/by-name/alt_sbl1 mmcblk0p16 ' \ 1337 | -e 's block/platform/soc.0/by-name/alt_sdi mmcblk0p22 ' \ 1338 | -e 's block/platform/soc.0/by-name/alt_tz mmcblk0p24 ' \ 1339 | -e 's block/platform/soc.0/by-name/apdp mmcblk0p8 ' \ 1340 | -e 's block/platform/soc.0/by-name/apps_log mmcblk0p38 ' \ 1341 | -e 's block/platform/soc.0/by-name/boot mmcblk0p29 ' \ 1342 | -e 's block/platform/soc.0/by-name/cache mmcblk0p41 ' \ 1343 | -e 's block/platform/soc.0/by-name/config mmcblk0p36 ' \ 1344 | -e 's block/platform/soc.0/by-name/devinfo mmcblk0p35 ' \ 1345 | -e 's block/platform/soc.0/by-name/diag mmcblk0p39 ' \ 1346 | -e 's block/platform/soc.0/by-name/dpo mmcblk0p10 ' \ 1347 | -e 's block/platform/soc.0/by-name/fsg mmcblk0p13 ' \ 1348 | -e 's block/platform/soc.0/by-name/hyp mmcblk0p11 ' \ 1349 | -e 's block/platform/soc.0/by-name/keystore mmcblk0p34 ' \ 1350 | -e 's block/platform/soc.0/by-name/limits mmcblk0p6 ' \ 1351 | -e 's block/platform/soc.0/by-name/misc mmcblk0p33 ' \ 1352 | -e 's block/platform/soc.0/by-name/modem mmcblk0p3 ' \ 1353 | -e 's block/platform/soc.0/by-name/modemst1 mmcblk0p17 ' \ 1354 | -e 's block/platform/soc.0/by-name/modemst2 mmcblk0p18 ' \ 1355 | -e 's block/platform/soc.0/by-name/msadp mmcblk0p9 ' \ 1356 | -e 's block/platform/soc.0/by-name/oem mmcblk0p40 ' \ 1357 | -e 's block/platform/soc.0/by-name/persist mmcblk0p31 ' \ 1358 | -e 's block/platform/soc.0/by-name/pmic mmcblk0p4 ' \ 1359 | -e 's block/platform/soc.0/by-name/rddata mmcblk0p37 ' \ 1360 | -e 's block/platform/soc.0/by-name/rdimage mmcblk0p30 ' \ 1361 | -e 's block/platform/soc.0/by-name/rpm mmcblk0p25 ' \ 1362 | -e 's block/platform/soc.0/by-name/s1sbl mmcblk0p19 ' \ 1363 | -e 's block/platform/soc.0/by-name/sbl1 mmcblk0p15 ' \ 1364 | -e 's block/platform/soc.0/by-name/sdi mmcblk0p21 ' \ 1365 | -e 's block/platform/soc.0/by-name/ssd mmcblk0p14 ' \ 1366 | -e 's block/platform/soc.0/by-name/system mmcblk0p43 ' \ 1367 | -e 's block/platform/soc.0/by-name/tz mmcblk0p23 ' \ 1368 | -e 's block/platform/soc.0/by-name/userdata mmcblk0p42 ' \ 1369 | "$@" 1370 | ;; 1371 | 1372 | "peregrine") 1373 | sed -i \ 1374 | -e 's block/bootdevice/by-name/system mmcblk0p34 ' \ 1375 | -e 's block/bootdevice/by-name/userdata mmcblk0p36 ' \ 1376 | -e 's block/bootdevice/by-name/cache mmcblk0p33 ' \ 1377 | -e 's block/bootdevice/by-name/fsg mmcblk0p21 ' \ 1378 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1379 | -e 's block/bootdevice/by-name/persist mmcblk0p29 ' \ 1380 | -e 's block/bootdevice/by-name/boot mmcblk0p31 ' \ 1381 | -e 's block/bootdevice/by-name/recovery mmcblk0p32 ' \ 1382 | -e 's block/bootdevice/by-name/misc mmcblk0p30 ' \ 1383 | "$@" 1384 | ;; 1385 | 1386 | "harpia") 1387 | sed -i \ 1388 | -e 's block/bootdevice/by-name/system mmcblk0p39 ' \ 1389 | -e 's block/bootdevice/by-name/userdata mmcblk0p41 ' \ 1390 | -e 's block/bootdevice/by-name/cache mmcblk0p38 ' \ 1391 | -e 's block/bootdevice/by-name/fsg mmcblk0p23 ' \ 1392 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1393 | -e 's block/bootdevice/by-name/persist mmcblk0p29 ' \ 1394 | -e 's block/bootdevice/by-name/boot mmcblk0p31 ' \ 1395 | -e 's block/bootdevice/by-name/recovery mmcblk0p32 ' \ 1396 | -e 's block/bootdevice/by-name/misc mmcblk0p9 ' \ 1397 | "$@" 1398 | ;; 1399 | 1400 | "surnia") 1401 | sed -i \ 1402 | -e 's block/platform/soc.0/by-name/DDR mmcblk0p3 ' \ 1403 | -e 's block/platform/soc.0/by-name/aboot mmcblk0p4 ' \ 1404 | -e 's block/platform/soc.0/by-name/abootBackup mmcblk0p14 ' \ 1405 | -e 's block/platform/soc.0/by-name/boot mmcblk0p33 ' \ 1406 | -e 's block/platform/soc.0/by-name/cache mmcblk0p43 ' \ 1407 | -e 's block/platform/soc.0/by-name/carrier mmcblk0p41 ' \ 1408 | -e 's block/platform/soc.0/by-name/cid mmcblk0p28 ' \ 1409 | -e 's block/platform/soc.0/by-name/clogo mmcblk0p30 ' \ 1410 | -e 's block/platform/soc.0/by-name/dhob mmcblk0p24 ' \ 1411 | -e 's block/platform/soc.0/by-name/factorytune1 mmcblk0p11 ' \ 1412 | -e 's block/platform/soc.0/by-name/factorytune2 mmcblk0p35 ' \ 1413 | -e 's block/platform/soc.0/by-name/frp mmcblk0p20 ' \ 1414 | -e 's block/platform/soc.0/by-name/fsc mmcblk0p26 ' \ 1415 | -e 's block/platform/soc.0/by-name/fsg mmcblk0p25 ' \ 1416 | -e 's block/platform/soc.0/by-name/hob mmcblk0p23 ' \ 1417 | -e 's block/platform/soc.0/by-name/hyp mmcblk0p7 ' \ 1418 | -e 's block/platform/soc.0/by-name/hypBackup mmcblk0p18 ' \ 1419 | -e 's block/platform/soc.0/by-name/keystore mmcblk0p39 ' \ 1420 | -e 's block/platform/soc.0/by-name/kpan mmcblk0p36 ' \ 1421 | -e 's block/platform/soc.0/by-name/logo mmcblk0p29 ' \ 1422 | -e 's block/platform/soc.0/by-name/logs mmcblk0p9 ' \ 1423 | -e 's block/platform/soc.0/by-name/metadata mmcblk0p13 ' \ 1424 | -e 's block/platform/soc.0/by-name/misc mmcblk0p32 ' \ 1425 | -e 's block/platform/soc.0/by-name/modem mmcblk0p1 ' \ 1426 | -e 's block/platform/soc.0/by-name/modemst1 mmcblk0p21 ' \ 1427 | -e 's block/platform/soc.0/by-name/modemst2 mmcblk0p22 ' \ 1428 | -e 's block/platform/soc.0/by-name/oem mmcblk0p40 ' \ 1429 | -e 's block/platform/soc.0/by-name/padA mmcblk0p12 ' \ 1430 | -e 's block/platform/soc.0/by-name/padB mmcblk0p19 ' \ 1431 | -e 's block/platform/soc.0/by-name/padC mmcblk0p37 ' \ 1432 | -e 's block/platform/soc.0/by-name/persist mmcblk0p31 ' \ 1433 | -e 's block/platform/soc.0/by-name/recovery mmcblk0p34 ' \ 1434 | -e 's block/platform/soc.0/by-name/rpm mmcblk0p5 ' \ 1435 | -e 's block/platform/soc.0/by-name/rpmBackup mmcblk0p15 ' \ 1436 | -e 's block/platform/soc.0/by-name/sbl1 mmcblk0p2 ' \ 1437 | -e 's block/platform/soc.0/by-name/sec mmcblk0p10 ' \ 1438 | -e 's block/platform/soc.0/by-name/sp mmcblk0p38 ' \ 1439 | -e 's block/platform/soc.0/by-name/ssd mmcblk0p27 ' \ 1440 | -e 's block/platform/soc.0/by-name/system mmcblk0p42 ' \ 1441 | -e 's block/platform/soc.0/by-name/tz mmcblk0p6 ' \ 1442 | -e 's block/platform/soc.0/by-name/tzBackup mmcblk0p16 ' \ 1443 | -e 's block/platform/soc.0/by-name/userdata mmcblk0p44 ' \ 1444 | -e 's block/platform/soc.0/by-name/utags mmcblk0p8 ' \ 1445 | -e 's block/platform/soc.0/by-name/utagsBackup mmcblk0p17 ' \ 1446 | "$@" 1447 | ;; 1448 | 1449 | "merlin") 1450 | sed -i \ 1451 | -e 's block/bootdevice/by-name/system mmcblk0p41 ' \ 1452 | -e 's block/bootdevice/by-name/userdata mmcblk0p42 ' \ 1453 | -e 's block/bootdevice/by-name/cache mmcblk0p40 ' \ 1454 | -e 's block/bootdevice/by-name/fsg mmcblk0p23 ' \ 1455 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1456 | -e 's block/bootdevice/by-name/persist mmcblk0p29 ' \ 1457 | -e 's block/bootdevice/by-name/boot mmcblk0p31 ' \ 1458 | -e 's block/bootdevice/by-name/recovery mmcblk0p32 ' \ 1459 | -e 's block/bootdevice/by-name/misc mmcblk0p9 ' \ 1460 | "$@" 1461 | ;; 1462 | 1463 | "natrium") 1464 | sed -i \ 1465 | -e 's block/bootdevice/by-name/boot sde36 ' \ 1466 | -e 's block/bootdevice/by-name/recovery sda13 ' \ 1467 | -e 's block/bootdevice/by-name/cache sda14 ' \ 1468 | -e 's block/bootdevice/by-name/system sde39 ' \ 1469 | -e 's block/bootdevice/by-name/userdata sda15 ' \ 1470 | -e 's block/bootdevice/by-name/persist sda12 ' \ 1471 | -e 's block/bootdevice/by-name/dsp sde32 ' \ 1472 | -e 's block/bootdevice/by-name/modem sde35 ' \ 1473 | -e 's block/bootdevice/by-name/bluetooth sde26 ' \ 1474 | -e 's block/bootdevice/by-name/frp sda7 ' \ 1475 | -e 's block/bootdevice/by-name/misc sda9 ' \ 1476 | "$@" 1477 | ;; 1478 | 1479 | "titan") 1480 | sed -i \ 1481 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1482 | -e 's block/bootdevice/by-name/system mmcblk0p36 ' \ 1483 | -e 's block/bootdevice/by-name/userdata mmcblk0p38 ' \ 1484 | -e 's block/bootdevice/by-name/recovery mmcblk0p32 ' \ 1485 | -e 's block/bootdevice/by-name/cache mmcblk0p35 ' \ 1486 | -e 's block/bootdevice/by-name/boot mmcblk0p31 ' \ 1487 | "$@" 1488 | ;; 1489 | 1490 | "i9300") 1491 | sed -i \ 1492 | -e 's block/platform/dw_mmc/by-name/USERDATA mmcblk0p16 ' \ 1493 | -e 's block/platform/dw_mmc/by-name/SYSTEM mmcblk0p13 ' \ 1494 | -e 's block/platform/dw_mmc/by-name/CACHE mmcblk0p12 ' \ 1495 | -e 's block/platform/dw_mmc/by-name/BOOT mmcblk0p08 ' \ 1496 | -e 's block/platform/dw_mmc/by-name/RECOVERY mmcblk0p09 ' \ 1497 | -e 's block/platform/dw_mmc/by-name/RADIO mmcblk0p10 ' \ 1498 | "$@" 1499 | ;; 1500 | 1501 | "i9305") 1502 | sed -i \ 1503 | -e 's block/platform/dw_mmc/by-name/USERDATA mmcblk0p12 ' \ 1504 | -e 's block/platform/dw_mmc/by-name/SYSTEM mmcblk0p09 ' \ 1505 | -e 's block/platform/dw_mmc/by-name/CACHE mmcblk0p08 ' \ 1506 | -e 's block/platform/dw_mmc/by-name/BOOT mmcblk0p05 ' \ 1507 | -e 's block/platform/dw_mmc/by-name/RECOVERY mmcblk0p06 ' \ 1508 | -e 's block/platform/dw_mmc/by-name/RADIO mmcblk0p07 ' \ 1509 | "$@" 1510 | ;; 1511 | 1512 | "s3ve3g") 1513 | sed -i \ 1514 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p26 ' \ 1515 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p23 ' \ 1516 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p24 ' \ 1517 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p14 ' \ 1518 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p15 ' \ 1519 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p2 ' \ 1520 | "$@" 1521 | ;; 1522 | 1523 | "endeavoru") 1524 | sed -i \ 1525 | -e 's block/platform/sdhci-tegra.3/by-name/APP mmcblk0p12 ' \ 1526 | -e 's block/platform/sdhci-tegra.3/by-name/CAC mmcblk0p13 ' \ 1527 | -e 's block/platform/sdhci-tegra.3/by-name/RCA mmcblk0p3 ' \ 1528 | -e 's block/platform/sdhci-tegra.3/by-name/RFS mmcblk0p18 ' \ 1529 | -e 's block/platform/sdhci-tegra.3/by-name/DLG mmcblk0p19 ' \ 1530 | -e 's block/platform/sdhci-tegra.3/by-name/ISD mmcblk0p14 ' \ 1531 | -e 's block/platform/sdhci-tegra.3/by-name/UDA mmcblk0p15 ' \ 1532 | "$@" 1533 | ;; 1534 | 1535 | "scorpion" | "scorpion_windy") 1536 | sed -i \ 1537 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p14 ' \ 1538 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p24 ' \ 1539 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p23 ' \ 1540 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p26 ' \ 1541 | "$@" 1542 | ;; 1543 | 1544 | "tenshi") 1545 | sed -i \ 1546 | -e 's block/bootdevice/by-name/system mmcblk0p24 ' \ 1547 | -e 's block/bootdevice/by-name/userdata mmcblk0p46 ' \ 1548 | -e 's block/bootdevice/by-name/config mmcblk0p29 ' \ 1549 | -e 's block/bootdevice/by-name/misc mmcblk0p27 ' \ 1550 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 1551 | -e 's block/bootdevice/by-name/persist mmcblk0p26 ' \ 1552 | -e 's block/bootdevice/by-name/dsp mmcblk0p12 ' \ 1553 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1554 | -e 's block/bootdevice/by-name/boot mmcblk0p21 ' \ 1555 | -e 's block/bootdevice/by-name/recovery mmcblk0p22 ' \ 1556 | "$@" 1557 | ;; 1558 | 1559 | "jfltexx") 1560 | sed -i \ 1561 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p20 ' \ 1562 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p21 ' \ 1563 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p16 ' \ 1564 | -e 's block/platform/msm_sdcc.1/by-name/apnhlos mmcblk0p1 ' \ 1565 | -e 's block/platform/msm_sdcc.1/by-name/mdm mmcblk0p2 ' \ 1566 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p18 ' \ 1567 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p29 ' \ 1568 | -e 's block/platform/msm_sdcc.1/by-name/fota mmcblk0p22 ' \ 1569 | "$@" 1570 | ;; 1571 | 1572 | "herolte") 1573 | sed -i \ 1574 | -e 's block/platform/155a0000.ufs/by-name/SYSTEM sda14 ' \ 1575 | -e 's block/platform/155a0000.ufs/by-name/EFS sda3 ' \ 1576 | -e 's block/platform/155a0000.ufs/by-name/CACHE sda15 ' \ 1577 | -e 's block/platform/155a0000.ufs/by-name/USERDATA sda18 ' \ 1578 | -e 's block/platform/155a0000.ufs/by-name/OTA sda7 ' \ 1579 | -e 's block/platform/155a0000.ufs/by-name/HIDDEN sda16 ' \ 1580 | "$@" 1581 | ;; 1582 | 1583 | "klte") 1584 | sed -i \ 1585 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p23 ' \ 1586 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p26 ' \ 1587 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p24 ' \ 1588 | -e 's block/platform/msm_sdcc.1/by-name/apnhlos mmcblk0p1 ' \ 1589 | -e 's block/platform/msm_sdcc.1/by-name/modem mmcblk0p2 ' \ 1590 | -e 's block/platform/msm_sdcc.1/by-name/efs mmcblk0p12 ' \ 1591 | "$@" 1592 | ;; 1593 | 1594 | "athene") 1595 | sed -i \ 1596 | -e 's block/bootdevice/by-name/system mmcblk0p47 ' \ 1597 | -e 's block/bootdevice/by-name/userdata mmcblk0p48 ' \ 1598 | -e 's block/bootdevice/by-name/cache mmcblk0p46 ' \ 1599 | -e 's block/bootdevice/by-name/fsg mmcblk0p16 ' \ 1600 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1601 | -e 's block/bootdevice/by-name/persist mmcblk0p30 ' \ 1602 | -e 's block/bootdevice/by-name/boot mmcblk0p28 ' \ 1603 | -e 's block/bootdevice/by-name/recovery mmcblk0p29 ' \ 1604 | -e 's block/bootdevice/by-name/misc mmcblk0p31 ' \ 1605 | "$@" 1606 | ;; 1607 | 1608 | "jfltetmo") 1609 | sed -i \ 1610 | -e 's block/platform/msm_sdcc.1/by-name/aboot mmcblk0p6 ' \ 1611 | -e 's block/platform/msm_sdcc.1/by-name/apnhlos mmcblk0p1 ' \ 1612 | -e 's block/platform/msm_sdcc.1/by-name/backup mmcblk0p23 ' \ 1613 | -e 's block/platform/msm_sdcc.1/by-name/boot mmcblk0p20 ' \ 1614 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p18 ' \ 1615 | -e 's block/platform/msm_sdcc.1/by-name/carrier mmcblk0p28 ' \ 1616 | -e 's block/platform/msm_sdcc.1/by-name/efs mmcblk0p10 ' \ 1617 | -e 's block/platform/msm_sdcc.1/by-name/fota mmcblk0p22 ' \ 1618 | -e 's block/platform/msm_sdcc.1/by-name/fsg mmcblk0p24 ' \ 1619 | -e 's block/platform/msm_sdcc.1/by-name/hidden mmcblk0p27 ' \ 1620 | -e 's block/platform/msm_sdcc.1/by-name/m9kefs1 mmcblk0p13 ' \ 1621 | -e 's block/platform/msm_sdcc.1/by-name/m9kefs2 mmcblk0p14 ' \ 1622 | -e 's block/platform/msm_sdcc.1/by-name/m9kefs3 mmcblk0p15 ' \ 1623 | -e 's block/platform/msm_sdcc.1/by-name/mdm mmcblk0p2 ' \ 1624 | -e 's block/platform/msm_sdcc.1/by-name/modemst1 mmcblk0p11 ' \ 1625 | -e 's block/platform/msm_sdcc.1/by-name/modemst2 mmcblk0p12 ' \ 1626 | -e 's block/platform/msm_sdcc.1/by-name/pad mmcblk0p9 ' \ 1627 | -e 's block/platform/msm_sdcc.1/by-name/param mmcblk0p19 ' \ 1628 | -e 's block/platform/msm_sdcc.1/by-name/persdata mmcblk0p26 ' \ 1629 | -e 's block/platform/msm_sdcc.1/by-name/persist mmcblk0p17 ' \ 1630 | -e 's block/platform/msm_sdcc.1/by-name/recovery mmcblk0p21 ' \ 1631 | -e 's block/platform/msm_sdcc.1/by-name/rpm mmcblk0p7 ' \ 1632 | -e 's block/platform/msm_sdcc.1/by-name/sbl1 mmcblk0p3 ' \ 1633 | -e 's block/platform/msm_sdcc.1/by-name/sbl2 mmcblk0p4 ' \ 1634 | -e 's block/platform/msm_sdcc.1/by-name/sbl3 mmcblk0p5 ' \ 1635 | -e 's block/platform/msm_sdcc.1/by-name/ssd mmcblk0p25 ' \ 1636 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p16 ' \ 1637 | -e 's block/platform/msm_sdcc.1/by-name/tz mmcblk0p8 ' \ 1638 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p29 ' \ 1639 | "$@" 1640 | ;; 1641 | 1642 | "dreamlte"|"dream2lte") 1643 | sed -i \ 1644 | -e 's block/platform/11120000.ufs/by-name/CACHE sda18 ' \ 1645 | -e 's block/platform/11120000.ufs/by-name/EFS sda3 ' \ 1646 | -e 's block/platform/11120000.ufs/by-name/HIDDEN sda19 ' \ 1647 | -e 's block/platform/11120000.ufs/by-name/SYSTEM sda17 ' \ 1648 | -e 's block/platform/11120000.ufs/by-name/USERDATA sda24 ' \ 1649 | "$@" 1650 | ;; 1651 | 1652 | "cedric") 1653 | sed -i \ 1654 | -e 's block/bootdevice/by-name/system mmcblk0p53 ' \ 1655 | -e 's block/bootdevice/by-name/userdata mmcblk0p54 ' \ 1656 | -e 's block/bootdevice/by-name/cache mmcblk0p52 ' \ 1657 | -e 's block/bootdevice/by-name/modem mmcblk0p19 ' \ 1658 | -e 's block/bootdevice/by-name/fsg mmcblk0p29 ' \ 1659 | -e 's block/bootdevice/by-name/dsp mmcblk0p22 ' \ 1660 | -e 's block/bootdevice/by-name/persist mmcblk0p30 ' \ 1661 | "$@" 1662 | ;; 1663 | 1664 | "x2") 1665 | sed -i \ 1666 | -e 's block/bootdevice/by-name/system sde19 ' \ 1667 | -e 's block/bootdevice/by-name/userdata sda9 ' \ 1668 | -e 's block/bootdevice/by-name/cache sda3 ' \ 1669 | -e 's block/bootdevice/by-name/modem sde12 ' \ 1670 | "$@" 1671 | ;; 1672 | 1673 | "nicki") 1674 | sed -i \ 1675 | -e 's block/platform/msm_sdcc.1/by-name/cache mmcblk0p26 ' \ 1676 | -e 's block/platform/msm_sdcc.1/by-name/system mmcblk0p25 ' \ 1677 | -e 's block/platform/msm_sdcc.1/by-name/userdata mmcblk0p27 ' \ 1678 | "$@" 1679 | ;; 1680 | 1681 | "trunk") 1682 | sed -i \ 1683 | -e 's block/bootdevice/by-name/boot mmcblk0p20 ' \ 1684 | -e 's block/bootdevice/by-name/cache mmcblk0p24 ' \ 1685 | -e 's block/bootdevice/by-name/misc mmcblk0p26 ' \ 1686 | -e 's block/bootdevice/by-name/modem mmcblk0p01 ' \ 1687 | -e 's block/bootdevice/by-name/persist mmcblk0p25 ' \ 1688 | -e 's block/bootdevice/by-name/system mmcblk0p23 ' \ 1689 | -e 's block/bootdevice/by-name/userdata mmcblk0p30 ' \ 1690 | -e 's block/bootdevice/by-name/config mmcblk0p28 ' \ 1691 | "$@" 1692 | ;; 1693 | 1694 | "land" | "rolex" | "riva") 1695 | sed -i \ 1696 | -e 's block/bootdevice/by-name/system mmcblk0p24 ' \ 1697 | -e 's block/bootdevice/by-name/userdata mmcblk0p49 ' \ 1698 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 1699 | -e 's block/bootdevice/by-name/persist mmcblk0p26 ' \ 1700 | -e 's block/bootdevice/by-name/dsp mmcblk0p12 ' \ 1701 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1702 | "$@" 1703 | ;; 1704 | 1705 | "hermes") 1706 | sed -i \ 1707 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/boot mmcblk0p7 ' \ 1708 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/cache mmcblk0p16 ' \ 1709 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/expdb mmcblk0p12 ' \ 1710 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/flashinfo mmcblk0p18 ' \ 1711 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/lk mmcblk0p6 ' \ 1712 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/logo mmcblk0p11 ' \ 1713 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/nvram mmcblk0p2 ' \ 1714 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/para mmcblk0p10 ' \ 1715 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/proinfo mmcblk0p1 ' \ 1716 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/protect1 mmcblk0p3 ' \ 1717 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/protect2 mmcblk0p4 ' \ 1718 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/recovery mmcblk0p8 ' \ 1719 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/seccfg mmcblk0p5 ' \ 1720 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/secro mmcblk0p9 ' \ 1721 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/system mmcblk0p15 ' \ 1722 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/tee1 mmcblk0p13 ' \ 1723 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/tee2 mmcblk0p14 ' \ 1724 | -e 's block/platform/mtk-msdc.0/11230000.MSDC0/by-name/userdata mmcblk0p17 ' \ 1725 | "$@" 1726 | ;; 1727 | 1728 | "garlic") 1729 | sed -i \ 1730 | -e 's block/bootdevice/by-name/DDR mmcblk0p15 ' \ 1731 | -e 's block/bootdevice/by-name/aboot mmcblk0p19 ' \ 1732 | -e 's block/bootdevice/by-name/abootbak mmcblk0p20 ' \ 1733 | -e 's block/bootdevice/by-name/apdp mmcblk0p43 ' \ 1734 | -e 's block/bootdevice/by-name/boot mmcblk0p21 ' \ 1735 | -e 's block/bootdevice/by-name/cache mmcblk0p25 ' \ 1736 | -e 's block/bootdevice/by-name/cmnlib mmcblk0p37 ' \ 1737 | -e 's block/bootdevice/by-name/cmnlib64 mmcblk0p39 ' \ 1738 | -e 's block/bootdevice/by-name/cmnlib64bak mmcblk0p40 ' \ 1739 | -e 's block/bootdevice/by-name/cmnlibbak mmcblk0p38 ' \ 1740 | -e 's block/bootdevice/by-name/config mmcblk0p29 ' \ 1741 | -e 's block/bootdevice/by-name/devcfg mmcblk0p10 ' \ 1742 | -e 's block/bootdevice/by-name/devcfgbak mmcblk0p11 ' \ 1743 | -e 's block/bootdevice/by-name/devinfo mmcblk0p23 ' \ 1744 | -e 's block/bootdevice/by-name/dip mmcblk0p33 ' \ 1745 | -e 's block/bootdevice/by-name/dpo mmcblk0p45 ' \ 1746 | -e 's block/bootdevice/by-name/dsp mmcblk0p12 ' \ 1747 | -e 's block/bootdevice/by-name/fsc mmcblk0p2 ' \ 1748 | -e 's block/bootdevice/by-name/fsg mmcblk0p16 ' \ 1749 | -e 's block/bootdevice/by-name/keymaster mmcblk0p41 ' \ 1750 | -e 's block/bootdevice/by-name/keymasterbak mmcblk0p42 ' \ 1751 | -e 's block/bootdevice/by-name/keystore mmcblk0p28 ' \ 1752 | -e 's block/bootdevice/by-name/limits mmcblk0p31 ' \ 1753 | -e 's block/bootdevice/by-name/mcfg mmcblk0p36 ' \ 1754 | -e 's block/bootdevice/by-name/mdtp mmcblk0p34 ' \ 1755 | -e 's block/bootdevice/by-name/misc mmcblk0p27 ' \ 1756 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1757 | -e 's block/bootdevice/by-name/modemst1 mmcblk0p13 ' \ 1758 | -e 's block/bootdevice/by-name/modemst2 mmcblk0p14 ' \ 1759 | -e 's block/bootdevice/by-name/mota mmcblk0p32 ' \ 1760 | -e 's block/bootdevice/by-name/msadp mmcblk0p44 ' \ 1761 | -e 's block/bootdevice/by-name/oem mmcblk0p30 ' \ 1762 | -e 's block/bootdevice/by-name/persist mmcblk0p26 ' \ 1763 | -e 's block/bootdevice/by-name/recovery mmcblk0p22 ' \ 1764 | -e 's block/bootdevice/by-name/rpm mmcblk0p6 ' \ 1765 | -e 's block/bootdevice/by-name/rpmbak mmcblk0p7 ' \ 1766 | -e 's block/bootdevice/by-name/sbl1 mmcblk0p4 ' \ 1767 | -e 's block/bootdevice/by-name/sbl1bak mmcblk0p5 ' \ 1768 | -e 's block/bootdevice/by-name/sec mmcblk0p17 ' \ 1769 | -e 's block/bootdevice/by-name/splash mmcblk0p18 ' \ 1770 | -e 's block/bootdevice/by-name/ssd mmcblk0p3 ' \ 1771 | -e 's block/bootdevice/by-name/syscfg mmcblk0p35 ' \ 1772 | -e 's block/bootdevice/by-name/system mmcblk0p24 ' \ 1773 | -e 's block/bootdevice/by-name/tz mmcblk0p8 ' \ 1774 | -e 's block/bootdevice/by-name/tzbak mmcblk0p9 ' \ 1775 | -e 's block/bootdevice/by-name/userdata mmcblk0p46 ' \ 1776 | "$@" 1777 | ;; 1778 | 1779 | "axon7") 1780 | sed -i \ 1781 | -e 's block/bootdevice/by-name/system sde13 ' \ 1782 | -e 's block/bootdevice/by-name/userdata sda9 ' \ 1783 | -e 's block/bootdevice/by-name/cache sda2 ' \ 1784 | -e 's block/bootdevice/by-name/persist sdf5 ' \ 1785 | -e 's block/bootdevice/by-name/dsp sde8 ' \ 1786 | -e 's block/bootdevice/by-name/modem sde7 ' \ 1787 | -e 's block/bootdevice/by-name/bluetooth sde16 ' \ 1788 | "$@" 1789 | ;; 1790 | 1791 | "mata") 1792 | sed -i \ 1793 | -e 's block/bootdevice/by-name/system block/platform/soc/1da4000.ufshc/by-name/system ' \ 1794 | -e 's block/bootdevice/by-name/userdata sda16 ' \ 1795 | -e 's block/bootdevice/by-name/modem block/platform/soc/1da4000.ufshc/by-name/modem ' \ 1796 | -e 's block/bootdevice/by-name/bluetooth block/platform/soc/1da4000.ufshc/by-name/bluetooth ' \ 1797 | -e 's block/bootdevice/by-name/dsp block/platform/soc/1da4000.ufshc/by-name/dsp ' \ 1798 | -e 's block/bootdevice/by-name/persist sda4 ' \ 1799 | "$@" 1800 | ;; 1801 | 1802 | "gohan") 1803 | sed -i \ 1804 | -e 's /dev/block/bootdevice/by-name/system /dev/block/mmcblk0p24 ' \ 1805 | -e 's /dev/block/bootdevice/by-name/userdata /dev/block/mmcblk0p46 ' \ 1806 | -e 's /dev/block/bootdevice/by-name/cache /dev/block/mmcblk0p25 ' \ 1807 | "$@" 1808 | ;; 1809 | 1810 | "ivy") 1811 | sed -i \ 1812 | -e 's /dev/block/bootdevice/by-name/system /dev/block/mmcblk0p43 ' \ 1813 | -e 's /dev/block/bootdevice/by-name/userdata /dev/block/mmcblk0p42 ' \ 1814 | -e 's /dev/block/bootdevice/by-name/cache /dev/block/mmcblk0p41 ' \ 1815 | -e 's /dev/block/bootdevice/by-name/persist /dev/block/mmcblk0p31 ' \ 1816 | -e 's /dev/block/bootdevice/by-name/diag /dev/block/mmcblk0p39 ' \ 1817 | -e 's /dev/block/bootdevice/by-name/modem /dev/block/mmcblk0p3 ' \ 1818 | "$@" 1819 | ;; 1820 | 1821 | "loganreltexx") 1822 | sed -i \ 1823 | -e 's /dev/block/platform/msm_sdcc.1/by-name/system /dev/block/mmcblk0p20 ' \ 1824 | -e 's /dev/block/platform/msm_sdcc.1/by-name/userdata /dev/block/mmcblk0p23 ' \ 1825 | -e 's /dev/block/platform/msm_sdcc.1/by-name/cache /dev/block/mmcblk0p21 ' \ 1826 | -e 's /dev/block/platform/msm_sdcc.1/by-name/efs /dev/block/mmcblk0p10 ' \ 1827 | -e 's /dev/block/platform/msm_sdcc.1/by-name/persist /dev/block/mmcblk0p19 ' \ 1828 | -e 's /dev/block/platform/msm_sdcc.1/by-name/modem /dev/block/mmcblk0p1 ' \ 1829 | "$@" 1830 | ;; 1831 | 1832 | "kuntao") 1833 | sed -i \ 1834 | -e 's block/bootdevice/by-name/system mmcblk0p54 ' \ 1835 | -e 's block/bootdevice/by-name/userdata mmcblk0p56 ' \ 1836 | -e 's block/bootdevice/by-name/cache mmcblk0p53 ' \ 1837 | -e 's block/bootdevice/by-name/persist mmcblk0p17 ' \ 1838 | -e 's block/bootdevice/by-name/dsp mmcblk0p15 ' \ 1839 | -e 's block/bootdevice/by-name/modem mmcblk0p1 ' \ 1840 | -e 's block/bootdevice/by-name/fsg mmcblk0p33 ' \ 1841 | "$@" 1842 | ;; 1843 | 1844 | *) 1845 | cat < 13 | # - David Greaves 14 | # 15 | 16 | # This init script runs in early boot in initrd and does a switch_root 17 | # to the real rootfs. It can also be copied into rootfs and provide 18 | # monitoring of the boot process there too. 19 | 20 | # Be careful - you can't run any external commands until busybox has installed. 21 | 22 | # General logging 23 | set -x 24 | exec > /init.log 2>&1 25 | echo "Running Mer Boat Loader" 26 | 27 | BOOTLOGO=%BOOTLOGO% 28 | ALWAYSDEBUG=%ALWAYSDEBUG% 29 | DATA_PARTITION=%DATA_PART% 30 | DEFAULT_OS=%DEFAULT_OS% 31 | 32 | set_welcome_msg(){ 33 | cat < /etc/issue.net 34 | Welcome to the Mer/SailfishOS Boat loader debug init system. 35 | 36 | Log so far is in /init.log 37 | 38 | To make post-switch_root halt before starting systemd, perform: 39 | EOF 40 | if [ "$DONE_SWITCH" = "no" ]; then 41 | cat <> /etc/issue.net 42 | touch /target/init_enter_debug2 43 | EOF 44 | else 45 | cat <> /etc/issue.net 46 | touch /init_enter_debug2 47 | EOF 48 | fi 49 | cat <> /etc/issue.net 50 | (When run post-switch_root, telnet is on port 2323, not 23) 51 | 52 | EOF 53 | 54 | HALT_BOOT="${1:-y}" 55 | if [ "$HALT_BOOT" = "y" ]; then 56 | cat <> /etc/issue.net 57 | You may inject commands into init shell process (PID 1): 58 | 59 | To see output of commands as they're injected: 60 | tail -f /init.log & 61 | To run a command: 62 | echo "ls -l /" >/init-ctl/stdin 63 | 64 | (Be careful if you experiment with exec as you need to terminate 65 | daemons and disable busybox hotplug handling) 66 | 67 | To allow init to continue: 68 | echo "continue" >/init-ctl/stdin 69 | 70 | EOF 71 | fi 72 | 73 | if [ "$DONE_SWITCH" = "no" ]; then 74 | cat <> /etc/issue.net 75 | In order to work safely with the device's mmc you should 76 | echo "umount_stowaways" >/init-ctl/stdin 77 | 78 | Then you can mount and modify exported mass storage on host. When done 79 | echo "mount_stowaways" >/init-ctl/stdin 80 | 81 | 82 | EOF 83 | fi 84 | } 85 | 86 | export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin 87 | 88 | # Default setting is rndis - add mass_storage for a debug boot 89 | # enable using usb_setup 90 | USB_FUNCTIONS=rndis 91 | 92 | ANDROID_USB=/sys/class/android_usb/android0 93 | LOCAL_IP=192.168.2.15 94 | 95 | DONE_SWITCH=no 96 | # Are we running in real rootfs 97 | if [ "$0" = "/init-debug" ]; then 98 | DONE_SWITCH=yes 99 | fi 100 | 101 | # Get options from kernel command line 102 | get_opt() { 103 | for param in $(cat /proc/cmdline); do 104 | echo "$param" | grep "^$1=*" | cut -d'=' -f2 105 | done 106 | } 107 | 108 | # Minimal mounts for initrd or pre-init debug session 109 | do_mount_devprocsys() 110 | { 111 | echo "########################## mounting devprocsys" 112 | mkdir /dev 113 | mount -t devtmpfs devtmpfs /dev 114 | # telnetd needs /dev/pts/ entries 115 | mkdir /dev/pts 116 | mount -t devpts devpts /dev/pts 117 | 118 | mkdir /proc 119 | mkdir /sys 120 | mount -t sysfs sysfs /sys 121 | mount -t proc proc /proc 122 | } 123 | 124 | do_hotplug_scan() 125 | { 126 | echo /sbin/mdev > /proc/sys/kernel/hotplug 127 | mdev -s 128 | # There is no way to know when all hotplug events have been processed :( 129 | sleep 2 130 | } 131 | 132 | bootsplash() { 133 | if [ x$BOOTLOGO = x1 ]; then 134 | zcat /bootsplash.gz > /dev/fb0 135 | fi 136 | } 137 | 138 | 139 | mount_stowaways() { 140 | echo "########################## mounting stowaways" 141 | if [ ! -z $DATA_PARTITION ]; then 142 | data_subdir="$(get_opt data_subdir)" 143 | 144 | mkdir /data 145 | mkdir /target 146 | 147 | mount $DATA_PARTITION /data 148 | mount /data/rootfs.img /target 149 | 150 | mkdir -p /target/data # in new fs 151 | mount --bind /data/${data_subdir} /target/data 152 | else 153 | echo "Failed to mount /target, device node '$DATA_PARTITION' not found!" >> /diagnosis.log 154 | fi 155 | mount 156 | } 157 | 158 | umount_stowaways() { 159 | if [ ! -z $DATA_PARTITION ]; then 160 | umount /target/data 161 | umount /target 162 | umount /data 163 | fi 164 | } 165 | 166 | # Sugar for accessing usb config 167 | write() { 168 | echo -n "$2" > "$1" 169 | } 170 | 171 | inject_loop() { 172 | INJ_DIR=/init-ctl 173 | INJ_STDIN=$INJ_DIR/stdin 174 | 175 | mkdir $INJ_DIR 176 | mkfifo $INJ_STDIN 177 | echo "This entire directory is for debugging init - it can safely be removed" > $INJ_DIR/README 178 | 179 | echo "########################## Beginning inject loop" 180 | while : ; do 181 | while read IN; do 182 | if [ "$IN" = "continue" ]; then break 2;fi 183 | $IN 184 | done <$INJ_STDIN 185 | done 186 | rm -rf $INJ_DIR # Clean up if we exited nicely 187 | echo "########################## inject loop done" 188 | } 189 | 190 | # This sets up the USB with whatever USB_FUNCTIONS are set to 191 | usb_setup() { 192 | write $ANDROID_USB/enable 0 193 | write $ANDROID_USB/functions "" 194 | write $ANDROID_USB/enable 1 195 | usleep 500000 # 0.5 delay to attempt to remove rndis function 196 | write $ANDROID_USB/enable 0 197 | write $ANDROID_USB/idVendor 18D1 198 | write $ANDROID_USB/idProduct D001 199 | write $ANDROID_USB/iManufacturer "Mer Boat Loader" 200 | write $ANDROID_USB/iProduct "$CUSTOMPRODUCT" 201 | write $ANDROID_USB/iSerial "$1" 202 | write $ANDROID_USB/functions $USB_FUNCTIONS 203 | write $ANDROID_USB/enable 1 204 | } 205 | # This lets us communicate errors to host (if it needs disable/enable then that's a problem) 206 | usb_info() { 207 | # make sure USB is settled 208 | echo "########################## usb_info: $1" 209 | sleep 1 210 | write $ANDROID_USB/iSerial "$1" 211 | } 212 | 213 | 214 | run_debug_session() { 215 | CUSTOMPRODUCT=$1 216 | echo "########################## Debug session : $1" 217 | usb_setup "Mer Debug setting up (DONE_SWITCH=$DONE_SWITCH)" 218 | 219 | USB_IFACE=notfound 220 | /sbin/ifconfig rndis0 $LOCAL_IP && USB_IFACE=rndis0 221 | if [ x$USB_IFACE = xnotfound ]; then 222 | /sbin/ifconfig usb0 $LOCAL_IP && USB_IFACE=usb0 223 | fi 224 | # Report for the logs 225 | /sbin/ifconfig -a 226 | 227 | # Unable to set up USB interface? Reboot. 228 | if [ x$USB_IFACE = xnotfound ]; then 229 | usb_info "Mer Debug: ERROR: could not setup USB as usb0 or rndis0" 230 | dmesg 231 | sleep 60 # plenty long enough to check usb on host 232 | reboot -f 233 | fi 234 | 235 | # Create /etc/udhcpd.conf file. 236 | echo "start 192.168.2.20" > /etc/udhcpd.conf 237 | echo "end 192.168.2.90" >> /etc/udhcpd.conf 238 | echo "lease_file /var/udhcpd.leases" >> /etc/udhcpd.conf 239 | echo "interface $USB_IFACE" >> /etc/udhcpd.conf 240 | echo "option subnet 255.255.255.0" >> /etc/udhcpd.conf 241 | 242 | # Be explicit about busybox so this works in a rootfs too 243 | echo "########################## starting dhcpd" 244 | $EXPLICIT_BUSYBOX udhcpd 245 | 246 | HALT_BOOT="${2:-y}" 247 | set_welcome_msg $HALT_BOOT 248 | 249 | if [ -z $DISABLE_TELNET ]; then 250 | # Non-blocking telnetd 251 | echo "########################## starting telnetd" 252 | # We run telnetd on different ports pre/post-switch_root This 253 | # avoids problems with an unterminated pre-switch_root telnetd 254 | # hogging the port 255 | $EXPLICIT_BUSYBOX telnetd -b ${LOCAL_IP}:${TELNET_DEBUG_PORT} -l /bin/sh 256 | 257 | # For some reason this does not work in rootfs 258 | usb_info "Mer Debug telnet on port $TELNET_DEBUG_PORT on $USB_IFACE $LOCAL_IP - also running udhcpd" 259 | fi 260 | 261 | if [ "$HALT_BOOT" = "y" ]; then 262 | # Some logging output 263 | ps -wlT 264 | ps -ef 265 | netstat -lnp 266 | cat /proc/mounts 267 | sync 268 | 269 | # Run command injection loop = can be exited via 'continue' 270 | inject_loop 271 | fi 272 | } 273 | 274 | # writes to /diagnosis.log if there's a problem 275 | check_kernel_config() { 276 | echo "Checking kernel config" 277 | if [ ! -e /proc/config.gz ]; then 278 | echo "No /proc/config.gz. Enable CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC" >> /diagnosis.log 279 | else 280 | # Must be =y 281 | for x in CONFIG_CGROUPS CONFIG_AUTOFS4_FS CONFIG_DEVTMPFS_MOUNT CONFIG_DEVTMPFS CONFIG_UNIX CONFIG_INOTIFY_USER CONFIG_SYSVIPC CONFIG_NET CONFIG_PROC_FS CONFIG_SIGNALFD CONFIG_SYSFS CONFIG_TMPFS_POSIX_ACL CONFIG_VT; do 282 | zcat /proc/config.gz | grep -E "^$x=y\$" || echo "$x=y not found in /proc/config.gz" >> /diagnosis.log 283 | done 284 | # Must not be =y 285 | for x in CONFIG_DUMMY CONFIG_SYSFS_DEPRECATED; do 286 | zcat /proc/config.gz | grep -E "^$x=y\$" && echo "$x=y found in /proc/config.gz, must be disabled" >> /diagnosis.log 287 | done 288 | fi 289 | } 290 | 291 | # Now either initrd or rootfs sequence 292 | 293 | if [ "$DONE_SWITCH" = "no" ]; then 294 | EXPLICIT_BUSYBOX="" 295 | TELNET_DEBUG_PORT=23 296 | /bin/busybox --install -s 297 | date 298 | 299 | do_mount_devprocsys 300 | 301 | do_hotplug_scan 302 | 303 | # Support /dev/block/mmcXXX only in initrd phase 304 | ln -s . /dev/block 305 | ln -s /proc/mounts /etc/mtab 306 | 307 | check_kernel_config 308 | 309 | bootsplash 310 | 311 | mount_stowaways 312 | 313 | # No target debug unless we debug here too (for now) 314 | 315 | DBG_REASON="" 316 | [ -e /diagnosis.log ] && DBG_REASON="Refusing to boot. See /diagnosis.log (in initrd only)" 317 | [ "$(get_opt bootmode)" = "debug" ] && DBG_REASON="bootmode=debug on kernel command line" 318 | [ x$ALWAYSDEBUG = x1 ] && DBG_REASON="Always debug: rndis + mass_storage" 319 | [ -f /target/init_enter_debug ] && DBG_REASON="/init_enter_debug exists" 320 | [ -f /target/init_disable_telnet ] && DISABLE_TELNET="y" 321 | 322 | if ! [ "$DBG_REASON" = "" ] ; then 323 | # During debug we export mmc too (some variations in location here) 324 | lun=/sys/class/android_usb/f_mass_storage/lun/file 325 | if [ -f $lun ]; then echo /dev/mmcblk0 > $lun; fi 326 | lun=/sys/class/android_usb/f_mass_storage/lun0/file 327 | if [ -f $lun ]; then echo /dev/mmcblk0 > $lun; fi 328 | USB_FUNCTIONS=rndis,mass_storage 329 | 330 | run_debug_session "$DBG_REASON" "y" 331 | 332 | # Tidy up before we switch_root (rootfs init-debug leaves these running during bootup) 333 | killall telnetd 334 | killall udhcpd 335 | 336 | USB_FUNCTIONS=rndis 337 | usb_setup "Mer Debug: done debug, disabling storage" 338 | fi 339 | 340 | # Remount the target as ro if it provides the .halium-ro file 341 | if [ -e /target/.halium-ro ]; then 342 | mount /target -o remount,ro 343 | fi 344 | 345 | # Disable mdev hotplug now - let udev handle it in main boot 346 | echo "" > /proc/sys/kernel/hotplug 347 | 348 | if [ -f "/target/init-debug" ]; then 349 | echo "hybris-boot: Running init-debug" > /target/data/init-debug-stderrout 350 | exec switch_root /target /init-debug >> /target/data/init-debug-stderrout 2>&1 351 | else 352 | # Prefer /sbin/preinit over /sbin/init 353 | [ -x /target/sbin/preinit ] && INIT=/sbin/preinit || INIT=/sbin/init 354 | echo "hybris-boot: Booting $INIT in real rootfs" > /target/data/init-stderrout 355 | exec switch_root /target $INIT >> /target/data/init-stderrout 2>&1 356 | fi 357 | run_debug_session "Failed to boot init in real rootfs" 358 | 359 | else 360 | # We're in the real rootfs running as init-debug 361 | EXPLICIT_BUSYBOX="/bin/busybox-static" 362 | TELNET_DEBUG_PORT=2323 363 | 364 | do_mount_devprocsys 365 | 366 | HALT_BOOT="n" 367 | [ -f /init_enter_debug2 ] && HALT_BOOT="y" 368 | [ -f /init_disable_telnet ] && DISABLE_TELNET="y" 369 | run_debug_session "init-debug in real rootfs" $HALT_BOOT 370 | 371 | # If we don't do this then udev will not be able to create /dev/block/* 372 | rm /dev/block 373 | 374 | # Now try to boot the real init 375 | # Prefer /sbin/preinit over /sbin/init 376 | [ -x /sbin/preinit ] && INIT=/sbin/preinit || INIT=/sbin/init 377 | exec $INIT &> /boot/systemd_stdouterr 378 | run_debug_session "init in real rootfs failed" 379 | fi 380 | -------------------------------------------------------------------------------- /initramfs/bin/mdev: -------------------------------------------------------------------------------- 1 | busybox -------------------------------------------------------------------------------- /initramfs/bin/sh: -------------------------------------------------------------------------------- 1 | busybox -------------------------------------------------------------------------------- /initramfs/bootsplash.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Halium/hybris-boot/9b328155366e489cd6fca88862884f69adf7a16c/initramfs/bootsplash.gz -------------------------------------------------------------------------------- /initramfs/etc/fstab: -------------------------------------------------------------------------------- 1 | devpts /dev/pts devpts defaults 0 0 2 | proc /proc proc defaults 0 0 3 | sysfs /sys sysfs defaults 0 0 4 | /proc/sys/debug /proc/sys/debug debugfs defaults 0 0 5 | none /var/run tmpfs size=256k,mode=0755,nosuid,noatime 0 0 6 | 7 | -------------------------------------------------------------------------------- /initramfs/etc/udhcpd.conf: -------------------------------------------------------------------------------- 1 | # Usually we only need to deal out a single IP (for the host) 2 | start 192.168.2.20 3 | end 192.168.2.90 4 | lease_file /var/udhcpd.leases 5 | option subnet 255.255.255.0 6 | -------------------------------------------------------------------------------- /initramfs/sbin: -------------------------------------------------------------------------------- 1 | bin -------------------------------------------------------------------------------- /initramfs/usr/bin: -------------------------------------------------------------------------------- 1 | ../bin -------------------------------------------------------------------------------- /initramfs/usr/sbin: -------------------------------------------------------------------------------- 1 | ../bin -------------------------------------------------------------------------------- /updater-script: -------------------------------------------------------------------------------- 1 | ui_print(""); 2 | ui_print("========================================"); 3 | ui_print("Hybris Installer"); 4 | ui_print("========================================"); 5 | ui_print(" Device: %DEVICE%"); 6 | ui_print(" Version: %VERSION%"); 7 | ui_print(" Image: %IMAGE_FILE%"); 8 | ui_print(" Size: %IMAGE_SIZE%"); 9 | ui_print(" Partitions:"); 10 | ui_print(" /boot -> %BOOT_PART%"); 11 | ui_print(" /data -> %DATA_PART%"); 12 | ui_print("========================================"); 13 | ui_print(""); 14 | 15 | %ASSERT_DEVICE% 16 | 17 | ui_print("Device check succeeded, mounting filesystems ..."); 18 | mount("ext4", "EMMC", "%DATA_PART%", "/data"); 19 | 20 | ui_print("Copying filesystem archive ..."); 21 | package_extract_file("%IMAGE_FILE%", "/data/sailfishos-rootfs.tar.bz2"); 22 | ui_print("Copying installation script ..."); 23 | package_extract_file("updater-unpack.sh", "/tmp/updater-unpack.sh"); 24 | 25 | ui_print("Running installation script ..."); 26 | %SET_PERMISSIONS% 27 | run_program("/tmp/updater-unpack.sh") == "0" || abort("Failed to extract filesystem!"); 28 | 29 | ui_print("Flashing hybris-boot.img ..."); 30 | package_extract_file("hybris-boot.img", "%BOOT_PART%"); 31 | 32 | ui_print("Unmounting filesystems ..."); 33 | unmount("/data"); 34 | 35 | ui_print("Done!"); 36 | 37 | -------------------------------------------------------------------------------- /updater-unpack.sh: -------------------------------------------------------------------------------- 1 | #! /sbin/sh 2 | 3 | FS_ARC="/data/sailfishos-rootfs.tar.bz2" 4 | FS_DST="/data/.stowaways/sailfishos" 5 | 6 | rm -rf $FS_DST 7 | mkdir -p $FS_DST 8 | tar --numeric-owner -xvjf $FS_ARC -C $FS_DST 9 | EXIT=$? 10 | 11 | rm $FS_ARC 12 | 13 | exit $EXIT 14 | --------------------------------------------------------------------------------