Or you can use the library optimizer Libopt, it examines the complete target file system, resolves all shared library symbol references, and rebuilds the shared libraries with only the object files required to satisfy the symbol references.
3. Remove unnecessary documents
Some unused directories, as well as help documents and examples, can be eliminated.
4. Use CRAMFS filesystem.
CRAMFS is a read-only Linux filesystem designed for simplicity and space-efficiency. Conventional filesystems often come as compressed images, before we use them, we need to decompress them. After decompressing, both of the compressed images and decompressed files are stored in the memory. Unlike a conventional filesystem image, a cramfs image can be used without the need to decompress the image first. So space for storing decompressed files are saved.
Appendix: Comparison between C libraries
| GNU C Library | Uclibc | Diet libc | Newlib | |
| Size | largest | Small | Smallest | Small |
| Compatibility | Good | Good | Bad | Normal |
| Speed | Fastest | Fast | Fast | Fast |
| Portability | Yes | Yes | Yes | Yes |
| MMU-less supporting | No | Yes | Yes | Yes |
| Licensing | LGPL | LGPL | LGPL | BSD,GPL |
| Setting | Menuconfig | Only make | ./configure | |
| P.S. | Standard C library | Needs cross-compiler toolchain | Often linked as static library | Managed by Red Hat |