The four elements of embedded Linux
* Toolchain : 타겟 디바이스에 대한 바이너리 코드를 생성해주는 컴파일러
타겟 시스템에서 동작하는 프로그램 개발에 필ㅇ한 호스트 시스템의 소프트웨어들 또는 개발환경을 말한다.
* Bootloader : 보드에 필수 초기화 코드 및 리눅스커널을 로딩한다.
* Kernel
* Root filesystem
바이너리 내부 사용 라이브러리 검색
$ arm-telechips-linux-gnueabi-readelf -a MediaManager | grep "Shared library"
0x00000001 (NEEDED) Shared library: [libcommunicator.so.1] 0x00000001 (NEEDED) Shared library: [libQDltRegistration.so.1] 0x00000001 (NEEDED) Shared library: [libCommonAPI.so.3] 0x00000001 (NEEDED) Shared library: [libCommonAPI-DBus.so.3] 0x00000001 (NEEDED) Shared library: [libdlt.so.2] 0x00000001 (NEEDED) Shared library: [libffmpegthumbnailer.so.4] 0x00000001 (NEEDED) Shared library: [libgstpbutils-1.0.so.0] 0x00000001 (NEEDED) Shared library: [libgstreamer-1.0.so.0] 0x00000001 (NEEDED) Shared library: [libgobject-2.0.so.0] 0x00000001 (NEEDED) Shared library: [libglib-2.0.so.0] 0x00000001 (NEEDED) Shared library: [libQt5MultimediaWidgets.so.5] 0x00000001 (NEEDED) Shared library: [libQt5Multimedia.so.5] 0x00000001 (NEEDED) Shared library: [libQt5Widgets.so.5] 0x00000001 (NEEDED) Shared library: [libQt5Gui.so.5] 0x00000001 (NEEDED) Shared library: [libQt5Sql.so.5] 0x00000001 (NEEDED) Shared library: [libQt5Core.so.5] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libstdc++.so.6] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] |
$ arm-telechips-linux-gnueabi-readelf -a MediaManager | grep "program interpreter"
[Requesting program interpreter: /lib/ld-linux.so.3]
참고
Mastering Embedded Linux Programming -