[syslinux] Syslinux 4.06 and 5.00-pre9 Binary Sizes

Shao Miller sha0.miller at gmail.com
Thu Nov 1 14:36:24 PDT 2012


This is an attempt to avoid potential confusion.  Here are some example 
sizes for the two Syslinux versions mentioned in the e-mail subject. 
Your build results might be different.

4.06:

1     55 Sep 22 22:23 modules/int18.com
1    108 Nov  1 18:07 version.mk
1    138 Nov  1 18:07 version.gen
1    138 Nov  1 18:07 version.h
1    239 Sep 22 22:23 modules/poweroff.com
1    408 Sep 22 22:25 dosutil/copybs.com
1    432 Sep 23 23:51 mbr/isohdpfx.bin
1    432 Sep 23 23:51 mbr/isohdpfx_c.bin
1    432 Sep 23 23:51 mbr/isohdpfx_f.bin
1    432 Sep 23 23:51 mbr/isohdppx.bin
1    432 Sep 23 23:51 mbr/isohdppx_c.bin
1    432 Sep 23 23:51 mbr/isohdppx_f.bin
1    439 Sep 23 23:51 mbr/altmbr.bin
1    439 Sep 23 23:51 mbr/altmbr_c.bin
1    439 Sep 23 23:51 mbr/altmbr_f.bin
1    440 Sep 23 23:51 mbr/gptmbr.bin
1    440 Sep 23 23:51 mbr/gptmbr_c.bin
1    440 Sep 23 23:51 mbr/gptmbr_f.bin
1    440 Sep 23 23:51 mbr/mbr.bin
1    440 Sep 23 23:51 mbr/mbr_c.bin
1    440 Sep 23 23:51 mbr/mbr_f.bin
1    800 Nov  1 18:08 com32/modules/cmd.c32
1    800 Nov  1 18:08 com32/modules/reboot.c32
1    998 Sep 22 22:23 modules/pxechain.com
1   1300 Nov  1 18:08 modules/ver.com
1   1312 Nov  1 18:08 com32/modules/ifcpu64.c32
1   1932 Nov  1 18:08 com32/modules/pwd.c32
1   1982 Oct 30 12:21 com32/modules/hello.c32
1   2444 Nov  1 18:08 com32/modules/ifplop.c32
1   2448 Nov  1 18:08 com32/modules/gpxecmd.c32
1   2448 Nov  1 18:08 com32/modules/sanboot.c32
1   2960 Nov  1 18:08 com32/modules/whichsys.c32
1   3890 Sep 22 22:25 dosutil/eltorito.sys
1   4620 Nov  1 18:08 com32/modules/host.c32
1   4876 Nov  1 18:08 com32/modules/config.c32
1   5084 Nov  1 18:08 com32/modules/kbdmap.c32
1   5300 Nov  1 18:08 com32/modules/meminfo.c32
1   5388 Nov  1 18:08 com32/modules/vesainfo.c32
1   5516 Nov  1 18:08 com32/modules/disk.c32
1   5644 Nov  1 18:08 com32/modules/cpuid.c32
1   5912 Nov  1 18:08 memdump/memdump.com
1   5952 Nov  1 18:08 com32/modules/cat.c32
1   6180 Nov  1 18:08 com32/modules/vpdtest.c32
1   6488 Nov  1 18:09 utils/gethostip
1   6988 Nov  1 18:08 com32/modules/ifmemdsk.c32
1   8106 Sep 22 22:20 dosutil/mdiskchk.com
1   8774 Nov  1 18:09 utils/mkdiskimage
1   8892 Nov  1 18:08 com32/modules/kontron_wdt.c32
1   9516 Nov  1 18:08 com32/modules/ls.c32
1   9744 Nov  1 18:08 com32/modules/zzjson.c32
1  11356 Oct  2 22:16 com32/modules/pxedump.c32
1  12752 Nov  1 18:08 com32/modules/prdhcp.c32
1  13276 Nov  1 18:08 com32/modules/pmload.c32
1  15448 Nov  1 18:08 com32/modules/cpuidtest.c32
1  18536 Nov  1 18:08 com32/modules/linux.c32
1  20192 Nov  1 18:08 com32/modules/ifcpu.c32
1  21256 Nov  1 18:08 com32/rosh/rosh.c32
1  22204 Nov  1 18:08 com32/gfxboot/gfxboot.c32
1  24576 Nov  1 18:08 core/isolinux-debug.bin
1  24576 Nov  1 18:08 core/isolinux.bin
1  24755 Nov  1 18:09 utils/isohybrid
1  25884 Nov  1 18:08 memdisk/memdisk
1  25936 Nov  1 18:08 com32/modules/sdi.c32
1  26855 Nov  1 18:08 core/pxelinux.0
1  28496 Nov  1 18:08 com32/modules/elf.c32
1  28496 Nov  1 18:08 com32/modules/ethersel.c32
1  29200 Nov  1 18:08 com32/modules/pxechn.c32
1  32356 Nov  1 18:08 com32/modules/pcitest.c32
1  34140 Nov  1 18:08 com32/mboot/mboot.c32
1  36632 Nov  1 18:08 com32/modules/dmitest.c32
1  38568 Nov  1 18:08 com32/chain/chain.c32
1  40304 Nov  1 18:08 com32/sysdump/sysdump.c32
1  54624 Nov  1 18:09 dos/syslinux.com
1  55140 Nov  1 18:08 com32/menu/menu.c32
1  87040 Nov  1 18:09 win32/syslinux.exe
1  89882 Nov  1 18:08 gpxe/gpxelinux.0
1  90624 Nov  1 18:09 win64/syslinux64.exe
1  97799 Nov  1 18:09 mtools/syslinux
2  98559 Nov  1 18:09 linux/syslinux
1 125304 Nov  1 18:09 extlinux/extlinux
1 135939 Nov  1 17:15 com32/lua/src/liblua.c32
1 154128 Nov  1 18:08 com32/menu/vesamenu.c32
1 255188 Nov  1 18:08 com32/lua/src/lua.c32
1 347864 Nov  1 18:08 com32/hdt/hdt.c32

Grand total: 2,291,814 bytes, or about 2,238.10 KiB or about 2.19 MiB.

In this example, the DOS installer has not been compressed with UPX. 
With UPX installed on the computer performing the 'make', its size 
changes from the 54,624 above to 40,694.

It might be worth noting that since all of the installers contain much 
common code, they compress when packed together...

1  54624 Nov  1 18:09 dos/syslinux.com
1  87040 Nov  1 18:09 win32/syslinux.exe
1  90624 Nov  1 18:09 win64/syslinux64.exe
1  97799 Nov  1 18:09 mtools/syslinux
2  98559 Nov  1 18:09 linux/syslinux
1 125304 Nov  1 18:09 extlinux/extlinux

packed as a .tar.gz with 'gzip -9' yields:

1 351726 Nov  1 18:24 installers.tar.gz

Just the .c32 modules:

1    800 Nov  1 18:08 com32/modules/cmd.c32
1    800 Nov  1 18:08 com32/modules/reboot.c32
1   1312 Nov  1 18:08 com32/modules/ifcpu64.c32
1   1932 Nov  1 18:08 com32/modules/pwd.c32
1   1982 Oct 30 12:21 com32/modules/hello.c32
1   2444 Nov  1 18:08 com32/modules/ifplop.c32
1   2448 Nov  1 18:08 com32/modules/gpxecmd.c32
1   2448 Nov  1 18:08 com32/modules/sanboot.c32
1   2960 Nov  1 18:08 com32/modules/whichsys.c32
1   4620 Nov  1 18:08 com32/modules/host.c32
1   4876 Nov  1 18:08 com32/modules/config.c32
1   5084 Nov  1 18:08 com32/modules/kbdmap.c32
1   5300 Nov  1 18:08 com32/modules/meminfo.c32
1   5388 Nov  1 18:08 com32/modules/vesainfo.c32
1   5516 Nov  1 18:08 com32/modules/disk.c32
1   5644 Nov  1 18:08 com32/modules/cpuid.c32
1   5952 Nov  1 18:08 com32/modules/cat.c32
1   6180 Nov  1 18:08 com32/modules/vpdtest.c32
1   6988 Nov  1 18:08 com32/modules/ifmemdsk.c32
1   8892 Nov  1 18:08 com32/modules/kontron_wdt.c32
1   9516 Nov  1 18:08 com32/modules/ls.c32
1   9744 Nov  1 18:08 com32/modules/zzjson.c32
1  11356 Oct  2 22:16 com32/modules/pxedump.c32
1  12752 Nov  1 18:08 com32/modules/prdhcp.c32
1  13276 Nov  1 18:08 com32/modules/pmload.c32
1  15448 Nov  1 18:08 com32/modules/cpuidtest.c32
1  18536 Nov  1 18:08 com32/modules/linux.c32
1  20192 Nov  1 18:08 com32/modules/ifcpu.c32
1  21256 Nov  1 18:08 com32/rosh/rosh.c32
1  22204 Nov  1 18:08 com32/gfxboot/gfxboot.c32
1  25936 Nov  1 18:08 com32/modules/sdi.c32
1  28496 Nov  1 18:08 com32/modules/elf.c32
1  28496 Nov  1 18:08 com32/modules/ethersel.c32
1  29200 Nov  1 18:08 com32/modules/pxechn.c32
1  32356 Nov  1 18:08 com32/modules/pcitest.c32
1  34140 Nov  1 18:08 com32/mboot/mboot.c32
1  36632 Nov  1 18:08 com32/modules/dmitest.c32
1  38568 Nov  1 18:08 com32/chain/chain.c32
1  40304 Nov  1 18:08 com32/sysdump/sysdump.c32
1  55140 Nov  1 18:08 com32/menu/menu.c32
1 135939 Nov  1 17:15 com32/lua/src/liblua.c32
1 154128 Nov  1 18:08 com32/menu/vesamenu.c32
1 255188 Nov  1 18:08 com32/lua/src/lua.c32
1 347864 Nov  1 18:08 com32/hdt/hdt.c32

Total for just the .c32 modules: 1,478,233 bytes, or about 1,143.59 KiB 
or about 1.41 MiB.

-----

5.00-pre9:

1     55 Sep 22 22:23 modules/int18.com
1    108 Oct 31 21:44 version.mk
1    138 Oct 31 21:44 version.gen
1    138 Oct 31 21:44 version.h
1    239 Sep 22 22:23 modules/poweroff.com
1    408 Sep 22 22:25 dosutil/copybs.com
1    432 Sep 23 23:51 mbr/isohdpfx.bin
1    432 Sep 23 23:51 mbr/isohdpfx_c.bin
1    432 Sep 23 23:51 mbr/isohdpfx_f.bin
1    432 Sep 23 23:51 mbr/isohdppx.bin
1    432 Sep 23 23:51 mbr/isohdppx_c.bin
1    432 Sep 23 23:51 mbr/isohdppx_f.bin
1    439 Sep 23 23:51 mbr/altmbr.bin
1    439 Sep 23 23:51 mbr/altmbr_c.bin
1    439 Sep 23 23:51 mbr/altmbr_f.bin
1    440 Sep 23 23:51 mbr/gptmbr.bin
1    440 Sep 23 23:51 mbr/gptmbr_c.bin
1    440 Sep 23 23:51 mbr/gptmbr_f.bin
1    440 Sep 23 23:51 mbr/mbr.bin
1    440 Sep 23 23:51 mbr/mbr_c.bin
1    440 Sep 23 23:51 mbr/mbr_f.bin
1    998 Sep 22 22:23 modules/pxechain.com
1   1300 Oct 31 21:45 modules/ver.com
1   1974 Nov  1 17:14 com32/modules/cmd.c32
1   1982 Oct 30 12:21 com32/modules/hello.c32
1   1983 Nov  1 17:14 com32/modules/reboot.c32
1   2132 Nov  1 17:14 com32/modules/config.c32
1   2135 Nov  1 17:14 com32/modules/pwd.c32
1   2257 Nov  1 17:14 com32/modules/cat.c32
1   2270 Nov  1 17:14 com32/modules/gpxecmd.c32
1   2302 Nov  1 17:14 com32/modules/sanboot.c32
1   2351 Nov  1 17:14 com32/modules/kbdmap.c32
1   2463 Nov  1 17:14 com32/modules/cpuid.c32
1   2466 Nov  1 17:14 com32/modules/ifcpu64.c32
1   2508 Nov  1 17:14 com32/modules/vpdtest.c32
1   2561 Nov  1 17:14 com32/modules/host.c32
1   2647 Nov  1 17:14 com32/modules/ifplop.c32
1   2715 Nov  1 17:14 com32/modules/disk.c32
1   2865 Nov  1 17:14 com32/modules/vesainfo.c32
1   3205 Nov  1 17:14 com32/modules/meminfo.c32
1   3382 Nov  1 17:14 com32/modules/whichsys.c32
1   3467 Nov  1 17:14 com32/modules/cpuidtest.c32
1   3692 Nov  1 17:14 com32/modules/ethersel.c32
1   3890 Sep 22 22:25 dosutil/eltorito.sys
1   4031 Nov  1 17:14 com32/modules/prdhcp.c32
1   4087 Nov  1 17:14 com32/modules/sdi.c32
1   4115 Nov  1 17:14 com32/modules/pmload.c32
1   4141 Nov  1 17:14 com32/modules/ls.c32
1   4354 Nov  1 17:14 com32/modules/pcitest.c32
1   4364 Nov  1 17:14 com32/modules/elf.c32
1   4946 Nov  1 17:14 com32/modules/ifcpu.c32
1   4979 Nov  1 17:14 com32/modules/zzjson.c32
1   5598 Nov  1 17:14 com32/modules/ifmemdsk.c32
1   5912 Nov  1 17:15 memdump/memdump.com
1   5929 Nov  1 17:14 com32/modules/linux.c32
1   6306 Nov  1 17:14 com32/modules/kontron_wdt.c32
1   6488 Nov  1 17:15 utils/gethostip
1   8106 Sep 22 22:20 dosutil/mdiskchk.com
1   8349 Nov  1 17:15 com32/lua/src/lua.c32
1   8774 Nov  1 17:15 utils/mkdiskimage
1  11356 Oct  2 22:16 com32/modules/pxedump.c32
1  12244 Nov  1 17:14 com32/mboot/mboot.c32
1  12611 Nov  1 17:14 com32/gfxboot/gfxboot.c32
1  14070 Nov  1 17:14 com32/modules/dmitest.c32
1  14761 Nov  1 17:14 com32/modules/pxechn.c32
1  16069 Nov  1 17:14 com32/rosh/rosh.c32
1  18772 Nov  1 17:14 com32/sysdump/sysdump.c32
1  24755 Nov  1 17:15 utils/isohybrid
1  25884 Nov  1 17:15 memdisk/memdisk
1  26034 Nov  1 17:15 com32/chain/chain.c32
1  26961 Nov  1 17:14 com32/libutil/libutil_com.c32
1  30740 Nov  1 17:14 com32/menu/menu.c32
1  31560 Nov  1 17:14 com32/menu/vesamenu.c32
1  38912 Nov  1 17:15 core/isolinux-debug.bin
1  38912 Nov  1 17:15 core/isolinux.bin
1  42406 Nov  1 17:15 core/pxelinux.0
1 106848 Nov  1 17:15 gpxe/gpxelinux.0
1 135939 Nov  1 17:15 com32/lua/src/liblua.c32
1 181045 Nov  1 17:14 com32/hdt/hdt.c32
1 243368 Nov  1 17:14 com32/gpllib/libcom32gpl.c32
1 427507 Nov  1 17:14 com32/elflink/ldlinux/ldlinux.c32
1 496624 Nov  1 17:15 dos/syslinux.com
1 529408 Nov  1 17:15 win32/syslinux.exe
1 532992 Nov  1 17:15 win64/syslinux64.exe
1 541068 Nov  1 17:15 mtools/syslinux
2 542083 Nov  1 17:15 linux/syslinux
1 568659 Nov  1 17:15 extlinux/extlinux
1 747916 Nov  1 17:14 com32/lib/libcom32.c32

Grand total: 5,595,163 bytes, or about 5,464.03 KiB or about 5.34 MiB.

In this example, the DOS installer has not been compressed with UPX. 
With UPX installed on the computer performing the 'make', its size 
changes from the 496,624 above to 192,574.

It might be worth noting that since all of the installers contain much 
common code, they compress when packed together...

1 496624 Nov  1 17:15 dos/syslinux.com
1 529408 Nov  1 17:15 win32/syslinux.exe
1 532992 Nov  1 17:15 win64/syslinux64.exe
1 541068 Nov  1 17:15 mtools/syslinux
2 542083 Nov  1 17:15 linux/syslinux
1 568659 Nov  1 17:15 extlinux/extlinux

packed as a .tar.gz with 'gzip -9' yields:

1 1488453 Nov  1 17:46 installers.tar.gz

That doesn't fit on a floppy, but I'm not sure why you'd want such an 
archive on a floppy.

Just the .c32 modules:

1   1974 Nov  1 17:14 com32/modules/cmd.c32
1   1982 Oct 30 12:21 com32/modules/hello.c32
1   1983 Nov  1 17:14 com32/modules/reboot.c32
1   2132 Nov  1 17:14 com32/modules/config.c32
1   2135 Nov  1 17:14 com32/modules/pwd.c32
1   2257 Nov  1 17:14 com32/modules/cat.c32
1   2270 Nov  1 17:14 com32/modules/gpxecmd.c32
1   2302 Nov  1 17:14 com32/modules/sanboot.c32
1   2351 Nov  1 17:14 com32/modules/kbdmap.c32
1   2463 Nov  1 17:14 com32/modules/cpuid.c32
1   2466 Nov  1 17:14 com32/modules/ifcpu64.c32
1   2508 Nov  1 17:14 com32/modules/vpdtest.c32
1   2561 Nov  1 17:14 com32/modules/host.c32
1   2647 Nov  1 17:14 com32/modules/ifplop.c32
1   2715 Nov  1 17:14 com32/modules/disk.c32
1   2865 Nov  1 17:14 com32/modules/vesainfo.c32
1   3205 Nov  1 17:14 com32/modules/meminfo.c32
1   3382 Nov  1 17:14 com32/modules/whichsys.c32
1   3467 Nov  1 17:14 com32/modules/cpuidtest.c32
1   3692 Nov  1 17:14 com32/modules/ethersel.c32
1   4031 Nov  1 17:14 com32/modules/prdhcp.c32
1   4087 Nov  1 17:14 com32/modules/sdi.c32
1   4115 Nov  1 17:14 com32/modules/pmload.c32
1   4141 Nov  1 17:14 com32/modules/ls.c32
1   4354 Nov  1 17:14 com32/modules/pcitest.c32
1   4364 Nov  1 17:14 com32/modules/elf.c32
1   4946 Nov  1 17:14 com32/modules/ifcpu.c32
1   4979 Nov  1 17:14 com32/modules/zzjson.c32
1   5598 Nov  1 17:14 com32/modules/ifmemdsk.c32
1   5929 Nov  1 17:14 com32/modules/linux.c32
1   6306 Nov  1 17:14 com32/modules/kontron_wdt.c32
1   8349 Nov  1 17:15 com32/lua/src/lua.c32
1  11356 Oct  2 22:16 com32/modules/pxedump.c32
1  12244 Nov  1 17:14 com32/mboot/mboot.c32
1  12611 Nov  1 17:14 com32/gfxboot/gfxboot.c32
1  14070 Nov  1 17:14 com32/modules/dmitest.c32
1  14761 Nov  1 17:14 com32/modules/pxechn.c32
1  16069 Nov  1 17:14 com32/rosh/rosh.c32
1  18772 Nov  1 17:14 com32/sysdump/sysdump.c32
1  26034 Nov  1 17:15 com32/chain/chain.c32
1  26961 Nov  1 17:14 com32/libutil/libutil_com.c32
1  30740 Nov  1 17:14 com32/menu/menu.c32
1  31560 Nov  1 17:14 com32/menu/vesamenu.c32
1 135939 Nov  1 17:15 com32/lua/src/liblua.c32
1 181045 Nov  1 17:14 com32/hdt/hdt.c32
1 243368 Nov  1 17:14 com32/gpllib/libcom32gpl.c32
1 427507 Nov  1 17:14 com32/elflink/ldlinux/ldlinux.c32
1 747916 Nov  1 17:14 com32/lib/libcom32.c32

Total for just the .c32 modules: 2,063,509 bytes, or about 2,015.15 KiB 
or about 1.97 MiB.

---EDIT---

It seems 'make clean' left some 5.00-pre9 stuff around for my listings 
after rebuilding as 4.06, which should be clear from the timestamps for 
a couple of files.  I'm not bothering to recalculate it all; sorry. :)

- Shao Miller



More information about the Syslinux mailing list