Bootloader Slot Count Not Found Moto G4 Plus

Posted : admin On 4/4/2022
Bootloader Slot Count Not Found Moto G4 Plus Rating: 5,0/5 1586 votes

From here, you simply need to copy and paste that long unlock data string into the Motorola website so you can ask if the bootloader of your Moto G4 or Moto G4 Plus is unlockable. If it is, you’ll get a big Request Unlock Key button appear at the bottom of the article. Device information: Motorola Moto G5 16GB (Cedric) Stock firmware, android 7.0 Custom recovery TWRP 3.2.1-0 (previously 3.1.0-0) Bootloader unlocked (obviously) Rooted, Magisk v15.0 I was just go. C: Users sam.DESKTOP-MGU83TQ Downloads MotoG4PlusXT1643ATHENEMPJ24.139-63StockImg MotoG4PlusXT1643ATHENEMPJ24.139-63fastboot oem lock begin (bootloader) slot-count: not found. Moto X4 XT1900-2 No bootable A/B slot Failed to boot linux; unlock motorola e5 play; moto xt1924-2 power off after moto logo; Moto 4G plus - No Sound; xt1952-2 motorola; XT 1929-5 Baseband not found; Motorola Pro+ MB632 Hang on Logo any solution; Warning Don't update moto E4 XT1766 latest firmware NCQS26.69-64-21. About Moto G4 and G4 Plus:- Moto G4 and G4 Plus was launched in May 2016. The phones comes with 5.5 with 1080 pixels by 1920 resolution, Motorola Moto G4 and G4 Plus is powered by 1.5GHz octa-core Qualcomm Snapdragon 617 processor with 2GB of Ram internal storage 16 GB expanded up to 128GB.

  1. Bootloader Slot Count Not Found Moto G4 Plus Specs
  2. Bootloader Slot Count Not Found Moto G4 Plus Size
  3. Bootloader Slot Count Not Found Moto G4 Plus Unlocked
  4. Bootloader Slot Count Not Found Moto G4 Plus 64gb
Google is committed to advancing racial equity for Black communities. See how.

OEMs and SoC vendors who want to implement A/B system updates must ensuretheir bootloader implements the boot_control HAL and passes thecorrect parameters to the kernel.

Bootloader Slot Count Not Found Moto G4 Plus Specs

Implementing the boot control HAL

A/B-capable bootloaders must implement the boot_control HAL athardware/libhardware/include/hardware/boot_control.h.You can test implementations using thesystem/extras/bootctl utility andsystem/extras/tests/bootloader/.

You must also implement the state machine shown below:

Figure 1. Bootloader state machine

Setting up the kernel

To implement A/B system updates:

  1. Cherrypick the following kernel patch series (if needed):
    • If booting without ramdisk and using 'boot as recovery', cherrypick android-review.googlesource.com/#/c/158491/.
    • To set up dm-verity without ramdisk, cherrypick android-review.googlesource.com/#/q/status:merged+project:kernel/common+branch:android-3.18+topic:A_B_Changes_3.18.
  2. Ensure kernel command line arguments contain the following extra arguments:... where the <public-key-id> value is the ID of the publickey used to verify the verity table signature (for details, seedm-verity).
  3. Add the .X509 certificate containing the public key to the system keyring:
    1. Copy the .X509 certificate formatted in the .der format to the root of the kernel directory. If the .X509 certificate is formatted as a .pem file, use the following openssl command to convert from .pem to .der format:
    2. Build the zImage to include the certificate as part of the system keyring. To verify,check the procfs entry (requires KEYS_CONFIG_DEBUG_PROC_KEYS to be enabled): Successful inclusion of the .X509 certificate indicates the presence of the public key in the system keyring (highlight denotes the public key ID).
    3. Replace the space with # and pass it as <public-key-id> in the kernel command line. For example, pass Android:#7e4333f9bba00adfe0ede979e28ed1920492b40f in place of <public-key-id>.

Setting build variables

A/B-capable bootloaders must meet the following build variable criteria:

Must define for A/B target
  • AB_OTA_UPDATER := true
  • AB_OTA_PARTITIONS :=
    boot
    system
    vendor
    and other partitions updated through update_engine (radio,bootloader, etc.)
  • PRODUCT_PACKAGES +=
    update_engine
    update_verifier
For an example, refer to/device/google/marlin/+/android-7.1.0_r1/device-common.mk.You can optionally conduct the post-install (but pre-reboot) dex2oat stepdescribed in Compiling.
Strongly recommended for A/B target
  • Define TARGET_NO_RECOVERY := true
  • Define BOARD_USES_RECOVERY_AS_BOOT := true
  • Do not define BOARD_RECOVERYIMAGE_PARTITION_SIZE
Cannot define for A/B target
  • BOARD_CACHEIMAGE_PARTITION_SIZE
  • BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE
Optional for debug buildsPRODUCT_PACKAGES_DEBUG += update_engine_client

Setting partitions (slots)

A/B devices do not need a recovery partition or cache partition becauseAndroid no longer uses these partitions. The data partition is now used for thedownloaded OTA package, and the recovery image code is on the boot partition.All partitions that are A/B-ed should be named as follows (slots are alwaysnamed a, b, etc.): boot_a,boot_b, system_a, system_b,vendor_a, vendor_b.

Cache

For non-A/B updates, the cache partition was used to store downloaded OTApackages and to stash blocks temporarily while applying updates. There wasnever a good way to size the cache partition: how large it needed to bedepended on what updates you wanted to apply. The worst case would be a cachepartition as large as the system image. With A/B updates there's no need tostash blocks (because you're always writing to a partition that isn't currentlyused) and with streaming A/B there's no need to download the whole OTA packagebefore applying it.

Recovery

The recovery RAM disk is now contained in the boot.img file.When going into recovery, the bootloader cannot put theskip_initramfs option on the kernel command line.

Bootloader Slot Count Not Found Moto G4 Plus

For non-A/B updates, the recovery partition contains the code used to applyupdates. A/B updates are applied by update_engine running in theregular booted system image. There is still a recovery mode used to implementfactory data reset and sideloading of update packages (which is where the name'recovery' came from). The code and data for recovery mode is stored in theregular boot partition in a ramdisk; to boot into the system image, thebootloader tells the kernel to skip the ramdisk (otherwise the device boots intorecovery mode. Recovery mode is small (and much of it was already on the bootpartition), so the boot partition doesn't increase in size.

Fstab

The slotselect argument must be on the line forthe A/B-ed partitions. For example:

No partition should be named vendor. Instead, partitionvendor_a or vendor_b will be selected and mounted onthe /vendor mount point.

Kernel slot arguments

The current slot suffix should be passed either through a specific devicetree (DT) node (/firmware/android/slot_suffix) or through theandroidboot.slot_suffix command line argument.

By default, fastboot flashes the current slot on an A/B device. If the update package also contains images for the other, non-current slot, fastboot flashes those images as well. Available options include:

  • --slot SLOT. Override the default behavior and prompt fastboot to flash the slot that is passed in as an argument.
  • --set-active [SLOT]. Set the slot as active. If no optional argument is specified, then the current slot is set as active.
  • fastboot --help. Get details on commands.

If the bootloader implements fastboot, it should support the commandset_active <slot> that sets the current active slotto the given slot (this must also clear the unbootable flag for that slot andreset the retry count to default values). The bootloader should also support thefollowing variables:

  • has-slot:<partition-base-name-without-suffix>. Returns“yes” if the given partition supports slots, “no” otherwise.
  • current-slot. Returns the slot suffix that will be booted fromnext.
  • slot-count. Returns an integer representing the number ofavailable slots. Currently, two slots are supported so this value is2.
  • slot-successful:<slot-suffix>. Returns 'yes' if the givenslot has been marked as successfully booting, 'no' otherwise.
  • slot-unbootable:<slot-suffix>. Returns “yes” if the givenslot is marked as unbootable, 'no' otherwise.
  • slot-retry-count. Number of retries remaining toattempt to boot the given slot.

To view all variables, runfastboot getvar all.

Generating OTA packages

The OTA package tools follow thesame commands as the commands for non-A/B devices. Thetarget_files.zip file must be generated by defining the buildvariables for the A/B target. The OTA package tools automatically identify andgenerate packages in the format for the A/B updater.

Examples:

  • To generate a full OTA:
  • To generate an incremental OTA:

Configuring partitions

The update_engine can update any pair of A/B partitions definedin the same disk. A pair of partitions has a common prefix (such assystem or boot) and per-slot suffix (such as_a). The list of partitions for which the payload generator definesan update is configured by the AB_OTA_PARTITIONS make variable.

For example, if a pair of partitions bootloader_a andbooloader_b are included (_a and _b arethe slot suffixes), you can update these partitions by specifying the followingon the product or board configuration:

All partitions updated by update_engine must not be modified bythe rest of the system. During incremental or delta updates, the binarydata from the current slot is used to generate the data in the new slot. Anymodification may cause the new slot data to fail verification during the updateprocess, and therefore fail the update.

Configuring post-installation

You can configure the post-install step differently for each updatedpartition using a set of key-value pairs. To run a program located at/system/usr/bin/postinst in a new image, specify the path relativeto the root of the filesystem in the system partition.

For example, usr/bin/postinst issystem/usr/bin/postinst (if not using a RAM disk). Additionally,specify the filesystem type to pass to the mount(2) system call.Add the following to the product or device .mk files (ifapplicable):

Compiling

For security reasons, system_server cannot usejust-in-time (JIT) compilation.This means you must compile ahead of time odex files forsystem_server and its dependencies at a minimum; anything else isoptional.

To compile apps in the background, you must add the following to theproduct's device configuration (in the product's device.mk):

Bootloader slot count not found moto g4 plus 64gb
  1. Include the native components in the build to ensure compilation script andbinaries are compiled and included in the system image.
  2. Connect the compilation script to update_engine such that runsas a post-install step.

For help installing the preopted files in the unused second system partition,refer to First bootinstallation of DEX_PREOPT files.

Telephony

It depends on the region, but the Moto G4 comes in single and dual-SIM versions. We have a dual-SIM model for testing and it seems to be the most commonly found variety currently out there. Since it has a dedicated microSD card slot, you might as well get that one, as you never have to sacrifice the extra slot for memory expansion. We definitely count that as a plus with all the hybrid tray solutions floating around.

The dialer should be quite familiar. It's split into three tabs - favorites (with big thumbnails), call log and all contacts. There's no mention of Wi-Fi calling, however (even though previous Motos supported it), there's only SIP calling.


Favorite contacts • Call log • All contacts

Like its generic sibling, the Moto G4 Plus also has a single speaker, but it's positioned on the front. While not exactly as good as a stereo front-facing setup, this is definitely better than a rear or bottom mounted one. The speaker is decently strong and got a Good mark. That's still below the Very Good that the 3rd generation Moto G got. While not the loudest, the G4 Plus offers a strong and clean sound for listening to music.

In terms of loudness, we got consistent results with those on the regular G4, which, of course, was expected.

Speakerphone testVoice, dBPink noise/ Music, dBRinging phone, dBOverall score
LG Nexus 5X61.265.861.7Below Average
Samsung Galaxy J5 (2016)66.064.370.1Below Average
Meizu m3 note66.564.671.7Average
Samsung Galaxy J7 (2016) 64.571.068.9Average
Samsung Galaxy A764.866.373.5Average
Oppo F1 Plus67.971.966.5Average
Huawei Honor 5X71.165.670.7Average
Moto G4 Plus64.070.473.0Average
Xiaomi Mi 566.967.274.0Good
Lenovo Moto G464.770.872.8Good
Xiaomi Redmi Note 464.267.276.9Good
Xiaomi Redmi Note 366.566.675.8Good
Oppo F1s69.072.067.9Good
vivo V3Max74.775.868.0Good
Huawei P9 lite66.071.583.2Very Good
Motorola Moto G 3rd Gen75.769.675.9Very Good
LeEco Le Max 274.969.377.2Very Good
Meizu MX575.773.579.5Excellent

Messaging and text input

The Moto G4 comes with Google Messenger pre-installed (it's the default SMS app) as well as Hangouts. Messenger behaves a lot like a modern IM app. You can snap a photo and send it in seconds or send short audio recordings, emojis and so on.


Google Messenger

However, unlike Hangouts it does not support Gmail chat or voice calling, video calling or anything that doesn't fit into MMS. Also, Google now has Allo and Duo for texting/video chats so figuring out which Google app you're supposed to use is a puzzle.

Text input, naturally, is handled by the Google keyboard. It's fast, it's accurate, it's reliable and it has plenty of configuration options. You can enable one-handed mode by long-pressing the comma key, adjust the keyboard height, the layout (e.g. you may want QWERTZ), enable additional symbols on long-press and change the theme. Typing, swiping and voice dictation are available.

Bootloader Slot Count Not Found Moto G4 Plus Size


Google keyboard • Swype input

Other apps

Since a near-stock Android experience is what Motorola has typically been after for some time now, there aren't many other pre-installed apps to speak of. You do get a calculator and Google's calendar app. But the latter is technically part of the standard Google app suite anyway.

Bootloader Slot Count Not Found Moto G4 Plus Unlocked


Camera app • Google Calendar

However, Motorola arguably took things a bit too far in its strive to maintain a clutter-free experience. Then again, it might be sort of Google's fault for not having a standard Android file manager app to offer. Regardless, there is no real solution for outright browsing your files on the Moto G4 Plus. Sure, Google Photos is there and it has access to your local storage, but that is limited to images and videos alone. Furthermore, the Photos app seems to have trouble with quite a few video and audio codecs. But more on that later.

Bootloader Slot Count Not Found Moto G4 Plus 64gb

So, back to the point, Photos might have that part of the multimedia browsing covered and Google Play music has you covered for audio files. However, if you want to download or save and work with most other file types out there, you are pretty helpless out-of-the-box. All you get is the Downloads app, which is nothing more than a historical list.

Still, this is more of a nuisance more than anything else, since third party file browsers are plentiful, with some really, really good options available for free.