this post was submitted on 19 Jul 2023
1894 points (99.9% liked)

196

16450 readers
1786 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
1894
Android rule (lemmy.blahaj.zone)
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 61 points 1 year ago* (last edited 1 year ago) (3 children)

Open source developer and Linux enthusiast here. Although cluttered, Android's home directory is fairly simple to understand

The nightmare begins when you take a look at the root filesystem.

One time I was trying to port an OS to my phone and I had to figure out the Android init system. Went to source.android.com and what. the. fuck. Just as a side-by-side comparison:

Linux boot sequence: Android boot sequence (unmodded, SIMPLE):

There are so many wrong things about it like why are there 11, 12 places to put programs (/system/bin, /bin, /usr/bin /system/usr/bin, /sbin, /system/usr/share/bin...)

Why the fuck drivers are scattered around folders instead of just /lib/modules

Why is the home directory /storage/emulated/0/ instead of just /home/0/ (also why the user is named "0")

Where the fuck is everything???

God (Linus Torvalds) forgive me but even Windows is better than that shit

[–] [email protected] 29 points 1 year ago (1 children)

i wonder if that graphic is up to date with system as root and A/B dynamic partitioning and whatever crazy new bullshit google invents with every release

[–] [email protected] 24 points 1 year ago* (last edited 1 year ago)

I raise you all of these monstrosities:

  • Phones launching with Android 13 without a dedicated partition for recovery mode

Phones launching with Android 13 without a dedicated partition for recovery mode

  • Phones launching with Android 13 with two dedicated partitions for recovery mode (two because of A/B partitioning scheme)

Phones launching with Android 13 with a two dedicated partitions for recovery mode

  • Phones launching with Android 13 with one dedicated partition for recovery mode (only one because A/B partitioning scheme is not used)

Phones launching with Android 13 with one dedicated partition for recovery mode

  • Phones that launch with or upgrade to Android 12, that use a generic kernel image, without a dedicated partition for recovery mode

Phones that launch with or upgrade to Android 12, that use a generic kernel image, without a dedicated partition for recovery mode

  • Phones that launch with or upgrade to Android 12, that use a generic kernel image, with two dedicated partitions for recovery mode (A/B partitioning scheme)

Phones that launch with or upgrade to Android 12, that use a generic kernel image, with two dedicated partitions for recovery mode

  • Phones that launch with or upgrade to Android 12, that use a generic kernel image, with one dedicated partition for recovery mode (non-A/B partitioning scheme)

Phones that launch with or upgrade to Android 12, that use a generic kernel image, with one dedicated partition for recovery mode

  • Phones that upgrade to Android 12, that does not use a generic kernel image, with no dedicated partition for recovery mode

Phones that launch with or upgrade to Android 12, that does not use a generic kernel image, with no dedicated partition for recovery mode

  • Phones that upgrade to Android 12, that does not use a generic kernel image, with dedicated partition(s) for recovery mode

Phones that upgrade to Android 12, that does not use a generic kernel image, with dedicated partition(s) for recovery mode

In Android's defense however, a phone would likely use only one of these layouts at a time. The question of which of these layouts does a said phone uses though, that's a more complicated question.

[–] [email protected] 10 points 1 year ago

That's not correct though. The GNU+Linux version is missing the bootloader and initramfs.

[–] [email protected] 3 points 1 year ago (2 children)

The Linux boot sequence link doesn't work for me

[–] [email protected] 20 points 1 year ago* (last edited 1 year ago)

Init

^

|

Linux Kernel

[–] [email protected] 10 points 1 year ago (1 children)

It's a graph, showing a red oval with the text "Linux Kernel", an arrow points from the red oval to a light-green oval titled "Init".

"Linux Kernel" --→ "Init"