This is status-bydesign. The issue is that the Markdown text renders differently in CommonMark (the new Markdown renderer) vs. how it rendered in the prior Markdown->HTML converter SE used.
The HTML for posts on question pages is rendered once at the time of the post is submitted or edited, and cached indefinitely. The HTML for the revisions page and individual revision pages is re-rendered from the Markdown using the current Markdown converter when the page is requested. Thus, any revision will be displayed using the current CommonMark Markdown converter, even if it was written for the prior Markdown converter and hasn't been updated.
The last edit of the answer you're concerned about was on 2020-01-13, which is prior to when the CommonMark renderer was adopted across the network, 2020-06-20, so was intended for the prior Markdown renderer. Specifically, in CommonMark Markdown, the paragraph and unordered list lines which are rendered differently in your screenshots don't have enough spaces at the beginning of their lines to be considered as part of their containing lists. CommonMark requires that there are enough spaces to line up the first non-space at the beginning of each line contained within the list item with the beginning of the text in the first line of the list item under which it is to be considered (exclusive of the Markdown indicating that the first line is a list item). In this case, this means that those lines each need an additional two spaces, for three spaces total to get past the "1. ", rather than the single space character they currently have. I attempted to submit an edit to the answer to correct the formatting to CommonMark, but the change is too minor to be submitted as a suggested edit.
So, this (note how the lines at issue don't vertically line up with their containing list):
Boot process of Android devices up to kernel stage is very vendor specific, device specific and contains mostly closed source code. You may see clear deviations of terminologies used and differences in their implementations. Here I'm giving a simple understanding.
1. When charger is inserted, device boots very similar to when power button is pressed except that a very limited OS is loaded.
Device boots normally up to `init` stage (given at point 4). `init`, instead of starting services from `/system` and `/vendor` partitions, starts a process: `/sbin/charger*` which is not a part of AOSP. Charger binary is usually closed source and varies for different devices. It may load some pictures / animations stored on some partitions specific for this purpose.
Also some OEMs allow enabling / disabling `off-mode-charge` through `fastboot` to control the behavior i.e. whether the device should be switched on when power is plugged in or not. But it's also not a standard feature and varies for devices.
2. Bootloaders (SBL / ABOOT or equivalents) handle Power and Volume buttons pressed to start (Emergency) Download mode, SPL mode, `fastboot` mode etc. and recovery or normal kernel.
3. Preloader is a bootloader stage (SBL / SPL) before final bootloader (UBOOT / LK / ABOOT)
4. Here is the boot chain:
- BootROM
- Primary / Secondary BooLoader or PreLoader
- Final bootloader (which provides `odin` / `fastboot`)
- Kernel / Recovery (TWRP)
- Init (first userspace process and in-charge of all other processes, also mounts filesystems)
- Services or processes are started from `/system` and `/vendor` partitions by `init` (Zygote / Dalvik is one of those).
So `odin` (specific to Samsung) and `fastboot` are two independent protocols for communication with device through USB to format partitions, flash factory firmware, (un)lock bootloader etc. While `TWRP` is a minimal OS which is booted in place of normal `boot.img` (usually using same kernel) in case Android is unable to boot or needs OTA update or some modifications / maintenance.
None of them can be related to `Dalvik`, they are hardware specific and run at pre-kernel or kernel stage. While `zygote` - a part of AOSP - is a completely userspace process which forks Dalvik Virtual Machine for every app.
---
For details: [Boot Process: Android vs. Linux][1]
[1]: https://forum.xda-developers.com/android/general/info-boot-process-android-vs-linux-t3785254
should be changed to (note how the lines within each list item do line up with their containing list item):
Boot process of Android devices up to kernel stage is very vendor specific, device specific and contains mostly closed source code. You may see clear deviations of terminologies used and differences in their implementations. Here I'm giving a simple understanding.
1. When charger is inserted, device boots very similar to when power button is pressed except that a very limited OS is loaded.
Device boots normally up to `init` stage (given at point 4). `init`, instead of starting services from `/system` and `/vendor` partitions, starts a process: `/sbin/charger*` which is not a part of AOSP. Charger binary is usually closed source and varies for different devices. It may load some pictures / animations stored on some partitions specific for this purpose.
Also some OEMs allow enabling / disabling `off-mode-charge` through `fastboot` to control the behavior i.e. whether the device should be switched on when power is plugged in or not. But it's also not a standard feature and varies for devices.
2. Bootloaders (SBL / ABOOT or equivalents) handle Power and Volume buttons pressed to start (Emergency) Download mode, SPL mode, `fastboot` mode etc. and recovery or normal kernel.
3. Preloader is a bootloader stage (SBL / SPL) before final bootloader (UBOOT / LK / ABOOT)
4. Here is the boot chain:
- BootROM
- Primary / Secondary BooLoader or PreLoader
- Final bootloader (which provides `odin` / `fastboot`)
- Kernel / Recovery (TWRP)
- Init (first userspace process and in-charge of all other processes, also mounts filesystems)
- Services or processes are started from `/system` and `/vendor` partitions by `init` (Zygote / Dalvik is one of those).
So `odin` (specific to Samsung) and `fastboot` are two independent protocols for communication with device through USB to format partitions, flash factory firmware, (un)lock bootloader etc. While `TWRP` is a minimal OS which is booted in place of normal `boot.img` (usually using same kernel) in case Android is unable to boot or needs OTA update or some modifications / maintenance.
None of them can be related to `Dalvik`, they are hardware specific and run at pre-kernel or kernel stage. While `zygote` - a part of AOSP - is a completely userspace process which forks Dalvik Virtual Machine for every app.
---
For details: [Boot Process: Android vs. Linux][1]
[1]: https://forum.xda-developers.com/android/general/info-boot-process-android-vs-linux-t3785254
which renders as (without the blockquote formatting):
Boot process of Android devices up to kernel stage is very vendor specific, device specific and contains mostly closed source code. You may see clear deviations of terminologies used and differences in their implementations. Here I'm giving a simple understanding.
When charger is inserted, device boots very similar to when power button is pressed except that a very limited OS is loaded.
Device boots normally up to init
stage (given at point 4). init
, instead of starting services from /system
and /vendor
partitions, starts a process: /sbin/charger*
which is not a part of AOSP. Charger binary is usually closed source and varies for different devices. It may load some pictures / animations stored on some partitions specific for this purpose.
Also some OEMs allow enabling / disabling off-mode-charge
through fastboot
to control the behavior i.e. whether the device should be switched on when power is plugged in or not. But it's also not a standard feature and varies for devices.
Bootloaders (SBL / ABOOT or equivalents) handle Power and Volume buttons pressed to start (Emergency) Download mode, SPL mode, fastboot
mode etc. and recovery or normal kernel.
Preloader is a bootloader stage (SBL / SPL) before final bootloader (UBOOT / LK / ABOOT)
Here is the boot chain:
- BootROM
- Primary / Secondary BooLoader or PreLoader
- Final bootloader (which provides
odin
/ fastboot
)
- Kernel / Recovery (TWRP)
- Init (first userspace process and in-charge of all other processes, also mounts filesystems)
- Services or processes are started from
/system
and /vendor
partitions by init
(Zygote / Dalvik is one of those).
So odin
(specific to Samsung) and fastboot
are two independent protocols for communication with device through USB to format partitions, flash factory firmware, (un)lock bootloader etc. While TWRP
is a minimal OS which is booted in place of normal boot.img
(usually using same kernel) in case Android is unable to boot or needs OTA update or some modifications / maintenance.
None of them can be related to Dalvik
, they are hardware specific and run at pre-kernel or kernel stage. While zygote
- a part of AOSP - is a completely userspace process which forks Dalvik Virtual Machine for every app.
For details: Boot Process: Android vs. Linux
The above quoted text, both as rendered here in a blockquote and displayed here in code format, is from answer to: "Android device load process (preparing flashing)" by Irfan Latif and is under the CC BY-SA 4.0 license.