3 ms·
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 hardcod
by hansor 5y ago
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.
- LinuxBender 5y agoSorry I misunderstood what you were asking. The answer is, not without recompiling the kernel. CONFIG_PHYSICAL_START has changed several times from 1.x, 2.4, 2.6+ to compensate for hardware comparability issues. There are probably other offsets that have changed as well. I suspect the best place to find the all-inclusive list of changes that are required prior to recompile would be on embeded device forums.
- sigjuice 5y agoIt would be very hard to look into this given the high-level description. If possible, please add links to the lines of code that you are referring to.
- mindwok 5y agoHave you looked at the commit that changed the line? There's probably some reasoning in the message, or some discussion the the mailing list for the patch that changed it. You can use https://archive.org/details/git-history-of-linux https://archive.org/details/git-history-of-linux for versions pre-git.