Project

General

Profile

Actions

Bug #2127

closed

Full Update Image Size is too large on 2.1

Added by Jim Pingle almost 10 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Upgrade
Target version:
Start date:
01/21/2012
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
2.1
Affected Architecture:
All

Description

The full update image size from the initial test builds on FreeBSD 9 is more than 100MB. The upload size limit on pfSense 1.2.3 and 2.0 is 100MB.

We increased the limit on 2.1 but unless we can find a way to shrink the update file, uploading firmware for in-GUI upgrades may not work on 1.2.3 and 2.0 without first bumping that size up.

Auto Update and Console Update will still work because they are not bound by the same limit.

See 199c320bc831dce3e945387c247e18df5d36a430

Actions #1

Updated by Jim Pingle almost 10 years ago

  • Subject changed from Full Update Image Size to Full Update Image Size is too large on 2.1
Actions #2

Updated by Chris Buechler almost 10 years ago

I expect we can shrink that down considerably to get under 100 MB. It has to be including a number of unnecessary things to get to be that big, and even 2.0 and prior have at least a few unnecessary binaries that should be removed.

Actions #3

Updated by Jim Pingle almost 10 years ago

I'm sure there is a way to shrink it. Currently the kernels take up more room than anything else (combined, essentially)

Here are the largest things in the Full Update amd64 image for 2.1 on 9.x:

$ tar tvzf pfSense-Full-Update-2.1-DEVELOPMENT-amd64-20120121-1456.tgz | sort +4 -rn | more
-rw-r--r--  0 root   wheel 11225044 Jan 21 08:58 ./kernels/kernel_wrap_Dev.gz
-rw-r--r--  0 root   wheel 11087189 Jan 21 08:58 ./kernels/kernel_Dev.gz
-rw-r--r--  0 root   wheel 10976697 Jan 21 08:58 ./kernels/kernel_SMP.gz
-rw-r--r--  0 root   wheel 10976695 Jan 21 08:58 ./kernels/kernel_uniprocessor.gz
-r-xr-xr-x  0 root     wheel 10152659 Jan 21 04:25 ./boot/kernel/kernel.gz
-rw-r--r--  0 root   wheel  8624207 Jan 21 08:58 ./kernels/kernel_wrap.gz
-r-xr-xr-x  0 root     wheel  6223104 Jan 21 08:57 ./usr/libexec/cc1
-r--r--r--  0 root     wheel  3794596 Jan 21 08:56 ./usr/lib/libc_pic.a
-r--r--r--  0 root     wheel  3288542 Jan 21 08:57 ./usr/lib/libcrypto.a
-r--r--r--  0 root     wheel  3248914 Jan 21 08:56 ./usr/lib/libc.a
-r-xr-xr-x  0 root     wheel  2964432 Jan 21 08:59 ./usr/local/bin/php
-r--r--r--  0 root     wheel  2866812 Jan 21 08:57 ./usr/lib32/libc_pic.a
-r--r--r--  0 root     wheel  2188798 Jan 21 08:57 ./usr/lib32/libcrypto.a
-r--r--r--  0 root     wheel  2180154 Jan 21 08:57 ./usr/lib32/libc.a
-r-xr-xr-x  0 root     wheel  1952543 Jan 21 08:59 ./usr/local/lib/php/20090626/mbstring.so
-r-xr-xr-x  0 root     wheel  1930032 Jan 21 08:58 ./boot/kernel/zfs.ko
-r-xr-xr-x  0 root     wheel  1849824 Jan 21 08:59 ./usr/local/sbin/dhcpd
-r--r--r--  0 root     wheel  1751200 Jan 21 08:57 ./usr/share/misc/magic.mgc
-r-xr-xr-x  0 root     wheel  1739616 Jan 21 08:59 ./usr/bin/dig
-r-xr-xr-x  0 root     wheel  1729088 Jan 21 08:59 ./usr/bin/nslookup
-r-xr-xr-x  0 root     wheel  1728784 Jan 21 08:59 ./usr/bin/host
-rwxr-xr-x  0 root     wheel  1717360 Jan 21 08:59 ./lib/libcrypto.so.6
-r-xr-xr-x  0 root     wheel  1698280 Jan 21 08:59 ./usr/bin/nsupdate
-rwxr-xr-x  0 root     wheel  1514872 Jan 21 08:59 ./usr/local/lib/libxml2.so.5
-r-xr-xr-x  0 root     wheel  1455184 Jan 21 08:59 ./usr/local/sbin/dhcrelay
-r--r--r--  0 root     wheel  1435640 Jan 21 08:57 ./usr/lib32/libcrypto.so.6
-r--r--r--  0 root     wheel  1343488 Jan 21 08:57 ./usr/share/misc/termcap.db
-rwxr-xr-x  1 root     wheel  1315160 Jan 21 08:59 ./lib/libc.so.7
-r-xr-xr-x  0 root     wheel  1284920 Jan 21 08:59 ./usr/local/bin/links
-r-xr-xr-x  0 root     wheel  1276200 Jan 21 08:57 ./usr/bin/ld
-r-xr-xr-x  0 root     wheel  1172096 Jan 21 08:57 ./usr/bin/as
-r--r--r--  1 root     wheel  1096236 Jan 21 08:57 ./usr/lib32/libc.so.7
-rwxr-xr-x  0 root     wheel  1077061 Jan 21 08:59 ./usr/local/lib/libiconv.so.3
-rwxr-xr-x  0 root     wheel  1039640 Jan 21 08:59 ./usr/lib/libstdc++.so.6
-r-xr-xr-x  0 root     wheel  1011008 Jan 21 08:57 ./usr/bin/objdump

(That is every object >1MB)

About half the size of the entire image is kernels.

Actions #4

Updated by Jim Pingle almost 10 years ago

Not sure why the UP kernel is in that list either, since we don't use it. There's ~11MB right there...

Actions #5

Updated by Ermal Luçi almost 10 years ago

  • Status changed from New to Feedback

I removed the 3 biggest files there _Dev kernels and uniprocessor one since their presence is not really needed these days.

More cleanup needs to be done on what gets putted on the image itself.
For example cc/objdump/as, full /etc/rc.d dir is not needed apart some specific scripts, /usr/local/share, etc...

Actions #6

Updated by Jim Pingle almost 10 years ago

  • Parent task deleted (#2109)
Actions #7

Updated by Jim Pingle over 9 years ago

  • Status changed from Feedback to Resolved

This has been OK for a while, the images are now under 90MB, which is down considerably from where they started.

Actions

Also available in: Atom PDF