From: Grant Edwards <grant.b.edwards@gmail.com>
To: buildroot@busybox.net
Cc: buildroot@uclibc.org
Subject: Re: [Buildroot] Upgrading buildroot and rootfs/kernel compatibility
Date: Sun, 15 Sep 2024 01:24:46 -0000 (UTC) [thread overview]
Message-ID: <vc5d0u$n98$1@ciao.gmane.io> (raw)
In-Reply-To: 20240914094334.1228db8e@windsurf
On 2024-09-14, Thomas Petazzoni via buildroot <buildroot@buildroot.org> wrote:
>> With the linaro-7.3.1-2018.05 toolchain, the rootfs builds cleanly
>> and the resulting image appears to work, though it's about 20%
>> larger than before with the same set of packages selected. Is that
>> sort of size increase typical? (I know, it depends on the
>> packages.)
>
> A 20% increase obviously seems like a lot. Is this only with this
> toolchain, or also with the ARM 13.2 toolchain above?
I don't have detailed size info for the ARM toolchain (yet), but I've
gathered some data for the three Linaro toolchain cases:
* 2020.02.07 linaro-6.3.1-2017.02
* 2020.02.06 linaro-7.3.1-2018.05
* 2024.02.06 linaro-7.3.1-2018.05
$ du -s target-2020-old target-2020-new target-2024
13060 target-2020-old
13304 target-2020-new
17048 target-2024
Looking at the individual file sizes for the BR 2020 builds, most of
them shrank when switching from gcc 6.3.1 to 7.3.1:
File 6.3.1 7.3.1 Diff
------------------------------------- ------ ------ ----
bin/busybox 740624 740328 -0%
....
lib/libm-2.23.so 431620 439712 2%
lib/libnsl-2.23.so 63364 55072 -13%
lib/libnss_dns-2.23.so 22060 13760 -38%
lib/libnss_files-2.23.so 34412 30232 -12%
lib/libpthread-2.23.so 115588 106716 -8%
lib/libresolv-2.23.so 63216 50868 -20%
lib/librt-2.23.so 30676 22388 -27%
....
usr/bin/nano 115028 112492 -2%
usr/bin/opkg 21364 18764 -12%
usr/bin/opkg-check-config 1887 1887 0%
usr/bin/rz 48708 44316 -9%
usr/bin/scp 91660 83420 -9%
usr/bin/sftp 132720 124480 -6%
usr/bin/ssh 612140 599804 -2%
....
usr/lib/libform.so.6.1 48180 43076 -11%
usr/lib/libjson-c.so.5.1.0 54192 46788 -14%
usr/lib/libmbedcrypto.so.2.16.8 303460 290352 -4%
usr/lib/libmbedtls.so.2.16.8 168340 161876 -4%
usr/lib/libmbedx509.so.2.16.8 113080 108312 -4%
usr/lib/libmenu.so.6.1 28364 22076 -22%
usr/lib/libncurses.so.6.1 214100 208344 -3%
usr/lib/libopkg.so.1.0.0 151340 143260 -5%
usr/lib/libpanel.so.6.1 17388 9412 -46%
usr/lib/libssl.so.1.1 413112 403644 -2%
usr/lib/libz.so.1.2.11 77900 71188 -9%
However, the additon of two new files (below) when using 7.3.1 more
than offset those file size decreases so that the total size of the
target filesystem is larger when switching from 6.3.1 to 7.3.1.
lib/libgfortran.so.4.0.0 502652
lib/libgomp.so.1.0.0 120768
Why those two new library files appeared when switching toolchains is
another question...
When switching from BR 2020 to BR 2024 (both usng linaro 7.3.1), the
size increases from 13304k to 17048k (+28%). Almost all compiled files
are larger. But, none of the packages are the same version in the 2020
and 2024 builds. I assume some of the size increase is due to new
protocols, features, etc. Size never decreases as the version
increases.
It would be interesting to add a couple packages that are the same
version in 2020 and 2024 to see what the difference is betwewn -Os and
-O2. Or is it easy to change that flag in the 2024 build to match the
2020 build?
File BR2020 BR2024 Diff
------------------------------------- ------ ------ ----
bin/busybox 740328 853668 15%
....
usr/bin/nano 112492 140876 25%
usr/bin/opkg 18764 18588 -1%
usr/bin/opkg-check-config 1887 1887 0%
usr/bin/rz 44316 60344 36%
usr/bin/scp 83420 185940 123%
usr/bin/sftp 124480 194112 56%
usr/bin/ssh 599804 812788 36%
usr/bin/ssh-add 280000 361936 29%
usr/bin/ssh-agent 267720 349640 31%
usr/bin/ssh-copy-id 10658 13078 23%
usr/bin/ssh-keygen 362028 476692 32%
usr/bin/ssh-keyscan 345636 427600 24%
usr/bin/sz 48424 68548 42%
usr/lib/libarchive.so.13.4.2 531864 615740 16%
usr/lib/libcrypto.so.1.1 1915160 3221128 68%
usr/lib/libform.so.6.1 43076 46832 9%
usr/lib/libjson-c.so.5.1.0 46788 54728 17%
usr/lib/libmbedcrypto.so.2.16.8 290352 374116 29%
usr/lib/libmbedtls.so.2.16.8 161876 177360 10%
usr/lib/libmbedx509.so.2.16.8 108312 111892 3%
usr/lib/libmenu.so.6.1 22076 25928 17%
usr/lib/libncurses.so.6.1 208344 264020 27%
usr/lib/libopkg.so.1.0.0 143260 174528 22%
usr/lib/libpanel.so.6.1 9412 9324 -1%
usr/lib/libssl.so.1.1 403644 762852 89%
usr/lib/libz.so.1.2.11 71188 79164 11%
....
usr/sbin/flash_erase 26096 38260 47%
usr/sbin/flash_lock 9596 34160 256%
usr/sbin/flash_unlock 9600 34164 256%
usr/sbin/flashcp 9632 38264 297%
usr/sbin/mtd_debug 9640 38256 297%
usr/sbin/mtdinfo 34292 42352 24%
usr/sbin/nanddump 30196 38260 27%
usr/sbin/nandtest 9636 13680 42%
usr/sbin/nandwrite 30192 42356 40%
usr/sbin/sshd 632696 845796 34%
usr/sbin/ubiattach 22016 50568 130%
usr/sbin/ubiblock 17868 21872 22%
usr/sbin/ubicrc32 9612 9584 -0%
usr/sbin/ubidetach 21984 25984 18%
usr/sbin/ubiformat 54868 71088 30%
usr/sbin/ubihealthd 21880
usr/sbin/ubimkvol 22036 50584 130%
usr/sbin/ubinfo 26108 54660 109%
usr/sbin/ubinize 26156 58784 125%
usr/sbin/ubirename 17852 21820 22%
usr/sbin/ubirmvol 17884 25980 45%
usr/sbin/ubirsvol 22028 50576 130%
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2024-09-15 1:25 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 19:29 [Buildroot] Upgrading buildroot and rootfs/kernel compatibility Grant Edwards
2024-09-14 7:43 ` Thomas Petazzoni via buildroot
2024-09-14 22:02 ` Grant Edwards
2024-09-15 9:55 ` Edgar Bonet
2024-09-15 1:24 ` Grant Edwards [this message]
2024-09-18 16:46 ` Grant Edwards
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='vc5d0u$n98$1@ciao.gmane.io' \
--to=grant.b.edwards@gmail.com \
--cc=buildroot@busybox.net \
--cc=buildroot@uclibc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox