MidasBootloaderIncompatibleWithLinux¶
Introduction¶
The bootloader of the following devices is incompatible with upstream Linux:
- Galaxy SIII (GT-I9300)
- Galaxy SIII 4G (GT-I9305)
- Galaxy Note II (GT-N7100)
- Galaxy Note II 4G (GT-N7105)
When jumping to Linux, the booloader still has:
- the instruction cache on
- the data cache on
- the MMU on
Documentation/arm/booting.rst which is there since 2003 states that:
- "The MMU must be off."
- "Data cache must be off."
And upstream Linux won't accept patches to disable the MMU, or the data cache in Linux as they have very good reasons to do that, and they are supposed to be already disabled.
Supporting s-boot¶
To workaround that:
However as the kernel evolved we need to patch it more and more:
- The patch disabling the caches "was not necessary on Linux 3.4":lkml.iu.edu/hypermail/linux/kernel/1212.1/02099.html
- Disabling CONFIG_GCC_PLUGINS was also not necessary on older kernel where the option was not even present