I'm sorry but that is totally not what I'm asking about.
I'm asking about the artificial HARDCODED limit despite the size of kernel or modules. This is hardcoded at boot process - no matter how big or small your kernel is.
For example my 1.1 bare-bones uncompressed kernel [just basic modules] can work at 2MB of RAM, at size of ~700kb.
Almost the same uncompressed bare-bone kernel [just basic modules] from let's say 2.4 line requires 4MB of RAM - despite very similar size (~780kb).
My question is:
- Why there is such artificial and hard-coded limit in kernel source code?
- Why it was changed from 2MB to 4MB?
- Is it possible to change it back? In kernel source this is literally just simple "if ram < 4MB then error" - without any real kernel size check.