[ipxe-devel] iPXE run time size

Yossef Efraim yossefe at mellanox.com
Mon Jun 3 21:30:42 UTC 2013

Of course - thanks.

Actually when I run -
	make bin/ConnectX3.map

I received:
	arch/i386/scripts/i386.lds:1: undefined symbol `_tmp_start' referenced in expression

Any hint here ?

Another thing - 
I saw that by masking http,https,iscsi options in config/general.h I can reduce the mrom size by 25%.
In case I wish to compile 'light weight' iPXE (with my NIC) + DHCP , TFTP only (no scripting or command shell) - Is there an easy way of doing so ?
Looks like interfering with the make files requires much effort.  



-----Original Message-----
From: Michael Brown [mailto:mbrown at fensystems.co.uk] 
Sent: Thursday, May 30, 2013 10:58 PM
To: Yossef Efraim
Cc: ipxe-devel at lists.ipxe.org
Subject: Re: [ipxe-devel] iPXE run time size

On 30/05/13 18:56, Yossef Efraim wrote:
> My iPXE mrom is ~95k,
> How can I estimate the run time size ?

It's a non-trivial calculation, and there are several possible definitions of "run time" that might apply.

The first place to look is the linker map, which you can generate by adding ".map" to your build target (e.g. bin/rtl8139.rom.map).

There are several symbols that provide relevant information:

_text16_memsz and _data16_memsz provide the uncompressed sizes of the real-mode text and data segments.

_textdata_memsz provides the uncompressed size of the protected-mode combined text and data segment.

The actual sizes used will be rounded up to the nearest 16 bytes, and the actual sizes hidden from the system memory map will be rounded up to the nearest 4096 bytes.

Mellanox cards also require a substantial amount of memory for use by the card's onboard firmware.  This allocation is performed using
umalloc() and is not included within _textdata_memsz.  The amount of memory required is calculated at runtime using input from the card's firmware, and is not known in advance.  It is likely to be a few megabytes per card.

Hope that helps.


More information about the ipxe-devel mailing list