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 - 

'리눅스커널 > 정리' 카테고리의 다른 글

mkbooting  (0) 2016.09.22
mkbootimg.zipunpackbootimg.zip

mkbootimg-master.zip


부트이미지 분해 조립 강좌:"http://itmir.tistory.com/48 "

참고


chmod 777 unpackbootimg

chmod 777 plit_bootimg.pl

chmod 777 mkbootimg


./split_bootimg.pl boot.img  -> Page size , Command line 이 나타난다.

./unpackbootimg -i boot.img 를 입력하면 BOARD_KERNEL_BASE 가나타난다.


램디스크 압축해제

gzip -d boot.img-ramdisk.gz

해제하면 cpio 가나타난다. 이파일을 ramdisk 라는 폴더를 만들어 그 폴더 안에 넣는다.


cpio -i -F boot.img-ramdisk

cpio의 내용이 풀려진다.




./unpackbootimg -i

'리눅스커널 > 정리' 카테고리의 다른 글

[Embedded Linux] 정리1  (0) 2017.10.05

+ Recent posts