I build an image (fsl-image-validation-imx) for board i.MX 8QuadXPlus MEK. The .sdcard image is about 2GB. The board can boot from SD card or eMMC. To boot from a 512MB QSPI NOR flash, the image is too big. I don't need graphics. How to reduce the size of the image?
Thanks gusarambula. I played with IMAGE_ROOTFS_SIZE and IMAGE_OVERHEAD_FACTOR. It reduced image size a little bit (14%). To reach my goal of cutting 50%, it looks like I need to remove some recipes. This is not easy because there are so many recipes and I don't know the details. All my feature is DVR (digital video recording). Any suggestions?
Hello Chad Gong,
It would be hard to tell you what can be removed on your application, but I would start with any libraries and packages that you know won’t be used. For example, chances are you won’t need the gcc toolchain on your application or some of the core-tools that are in the larger images. I would recommend that you review the packages on your image and trim as much as possible depending on what you are not actively using on your application.
Regards,
Hello Chad Gong,
You can list all packages of an image with the command:
bitbake -g <image> && cat pn-buildlist | grep -ve "native" | sort | uniq
And then work from there removing unnecessary packages by adding the following line on the conf/local.conf file inside the build directory like so:
IMAGE_INSTALL_remove += “ package package1 package2”
Also, the .sdcard image has some free space build in. You can find mode information of the .sdcard partitions on the following document:
https://community.nxp.com/docs/DOC-105521
I hope this helps!
Regards,