64bit big kernel gets small with z max-page-size=0x1000

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
User avatar
AlfaOmega08
Member
Member
Posts: 226
Joined: Wed Nov 07, 2007 12:15 pm
Location: Italy

64bit big kernel gets small with z max-page-size=0x1000

Post by AlfaOmega08 »

Following the wiki tutorial to get grub2 booting my 64bit kernel, I found that my mb header was put at 1mb+ in the elf file. The whole executable was 1.2mb. It was far bigger than I expected.
The tutorial says, in case I have a too large kernel to do a list of hacks in the ld script, the makefile etc. However the only one which actually does its job is this: putting "z max-page-size=0x1000" in the linker command line.
This reduced the size to 200-300Kb. However I would like to understand this command, its side effects, why it's needed, what was the "default" value etc.

Thanks in advance
Please, correct my English...
Motherboard: ASUS Rampage II Extreme
CPU: Core i7 950 @ 3.06 GHz OC at 3.6 GHz
RAM: 4 GB 1600 MHz DDR3
Video: nVidia GeForce 210 GTS... it sucks...
Tosi
Member
Member
Posts: 255
Joined: Tue Jun 15, 2010 9:27 am
Location: Flyover State, United States
Contact:

Re: 64bit big kernel gets small with z max-page-size=0x1000

Post by Tosi »

Did you look in the binutils manual, at x86_64 (or maybe just x86) specific command line switches?
Post Reply