IoT 임베디드 4

우분투에서 arm 크로스컴파일 및 디버깅

우분투에서 arm 크로스컴파일 및 디버깅 주의 : arm 종류는 굉장히 다양하고 안드로이드, ios 디바이스 등 여기에 맞게 크로스컴파일 해야함. (ELF 64-bit ARM aarch64, Mach-O 64-bit ARM aarch64 등 디바이스에서 돌아가게 하려면 맞춰줘야함) 여기서는 간단하게 ubuntu에서 단순히 arm 어셈블리 연습겸 크로스컴파일하고 qemu와 gdb-multiarch를 이용하여 디버깅 하는 방법을 다룸. 크로스컴파일러 설치 arm 32bit sudo apt-get install gcc-arm-linux-gnueabi sudo apt-get install g++-arm-linux-gnueabi arm 64bit sudo apt-get install gcc-aarch64-linu..

IoT 임베디드 2020.02.05

[오류] /bin/sh 실행 시 "no such file or directory"

[오류] /bin/sh 실행 시 "no such file or directory" 나는 지금 Qemu에 firmware를 올려놓고 fimware RootFS의 root path를 새로운 root 경로로 chroot 한 상태이다. 여기서 펌웨어에 있는 /bin/sh를 실행시키려 하는데, 분명히 파일이 존재함에도 "no such file or directory"라는 문구가 뜬다. 왜? 이 진짜 의미는 "내가 지금 얘를 실행시킬 수가 없어, 뭔가가 없잖아!" 라는 뜻이다. library dependency를 충족시켜주자. ldd /bin/bash : 의존성 라이브러리를 확인. mount -o bind : 의존성 띄는 라이브러리가 있는 폴더를 마운트 시켜도 됨. (chroot가 아닌 원본에는 라이브러리가 있을테..

IoT 임베디드 2019.09.30