Linux

크로스 툴체인 설치

빌드는 x86 pc로 하는데 구동해야하는 타겟이 arm일 경우에는 arm으로 컴파일 할 수 있게 환경을 구성해야한다. 여기서는 beaglebone black을 사용할 것이므로 linaro의 armv7 컴파일러를 설치할 것이다. 다운로는 링크는 아래와 같다. https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/ 컴파일러의 이름은 arm-linux-gnueabihf이다. 리눅스 환경에서 컴파일 할 것이므로 tar파일을 다운받는다. 크로스 컴파일러를 다운받고 컴파일러/bin 폴더를 경로로 지정해준다. 이 코드를 매번 실행하기는 귀찮으니 Ubuntu를 기준으로 위와 …

크로스 툴체인 설치 더 보기 »

U-boot 컴파일하기

크로스 컴파일러 구성이 완료되었다면, U-BOOT을 컴파일해보자. 이전에 빌드한 파일을 삭제하고 싶다면 distclean이 필요하다 따라서 U-Boot 경로로 이동한 뒤 아래와 같은 명령어를 터미널에서 실행한다. 기본적인 보드 설정을 하고 싶으면 아래와 같은 명령어를 사용한다. 나는 비글 본 블랙을 사용할 것이므로 아래와 같은 명령어를 사용하지만, 다른 보드 파일 빌드가 필요하다면 다르게 설정할 필요가 있다. 먼저 config 폴더에서 사용할 …

U-boot 컴파일하기 더 보기 »

BeagleBone 리눅스 빌드하기

비글본블랙 리눅스 파일은 아래와 같은 링크에 있다. https://github.com/beagleboard/linux 이것도 U-boot과 비슷하다 먼저 보드 설정을 먼저 해준다. 만약에 없다면 config 폴더로 이동해서 디렉토리를 찾아본다. .config 파일이 생성되었다면 menuconfig로 세세한 설정들을 만져준다. 위에서 보이는 것처럼 M으로 되어있는것은 모듈이다. *로 되어 있으면 built-in인데, 모듈로 할 것인지 built-in으로 할 것인지는 알아서 선택하면 된다. 단 built-in으로 모든것을 다 때려박아버리면 커널이미지의 …

BeagleBone 리눅스 빌드하기 더 보기 »

Busybox 사용해보기

Busybox는 하나의 바이너리 파일로 이뤄져 있고, configuration tool을 이용해서 내가 필요로 하는 명령어를 선택할 수 있다. 이 것을 사용하면 제한되어있는 임베디드 시스템의 리소스를 낭비하지 않을 수 있다. busybox는 아래의 링크에서 다운받을 수 있다. https://busybox.net/downloads/ tar파일을 압축해제 한다음 경로로 들어가서 기본 설정 파일을 생성한다 강의에서 이야기하는것처럼 static binary로 설정했다.(나중에 다이내믹으로 수정) static이면 파일 사이즈가 증가한다. 그리고 …

Busybox 사용해보기 더 보기 »

NFS 프로토콜 사용해보기

Root File System을 Host PC 디렉토리로 지정해서 사용하는 방법을 서술한다. 기존에 있던 uEnv.txt파일을 수정해서 NFS를 사용할 수 있게 수정한다. 바꾸기 전 : 바꾸고 난 뒤 loadaddr, fdtaddr 등은 기본 설정 값이 있으므로 생략해도 괜찮다. host pc에서는 /srv/nfs/bbb를 rootpath로 사용하고 absolutepath는 tftpboot 폴더로 지정해 두었다. uimage와 dtb파일은 /var/lib/tftpboot/ 폴더에 넣어두고 빌드한 RFS파일은 /srv/nfs/bbb 폴더에 넣어둔다. 먼저 …

NFS 프로토콜 사용해보기 더 보기 »

buildroot 사용해보기

buildroot는 rootfs를 생성하는 도구 같은 느낌이다. 근데 짱 편리한게 리눅스 커널, busybox, uboot 등 필요한건 다 알아서 다운받고 북치고 장구치고 하는 놈이다. https://buildroot.org/ 다운로드는 위에서 다운받을 수 있다. 다운받고 기본 설정을 할 수 있는데 config 폴더에서 찾으면 있다. 그래서 아래와 같은 코드로 기초 설정을 할 수 있다. 그리고 난 다음에 menuconfig로 들아가서 잡다한 설정을 다할 …

buildroot 사용해보기 더 보기 »

비글본 블랙 TFTP 부팅하기

이 프로젝트는 비글본 블랙 보드를 TFTP 부팅하는 방법을 서술하였다. 보드랑 PC랑 인터넷 케이블로 연결하고, TFTP로 부팅하는 과정을 서술한다. PC는 192.168.7.1로 임의로 설정하고 보드는 192.168.7.2로 임의로 설정한다. 맨처음으로 할 일은 SD카드로 부팅을 하고, SD카드에서 UBOOT까지 부팅을 한다. 그 이후, uEnv로 환경 변수를 설정하고 커널 이미지랑 DTB(Device Tree Blob)파일등을 업로드 한다. 먼저 서버 PC에서 tftp를 설치해야한다. 아래의 …

비글본 블랙 TFTP 부팅하기 더 보기 »

라즈베리파이 3B 라즈비안 설치 및 SSH 설정하기

라즈베리파이 3B 설치 및 SSH 설정하기 오랜만에 라즈베리파이를 꺼내보았다. CMSIS를 써보다가 크고 아름다운 Cortex A 시리즈를 다뤄보고 싶기도 했기 때문이다. 근데 라즈비안은 armv6 filesystem 기반이라 안돌아간단다. Aㅏ… 머신러닝 해보고 싶은 사람은 우분투를 시도해보자. 라즈베리파이는 휴대폰과는 달리 마이크로sd 카드에 os를 설치해서 구동해야한다. 그래서 os를 설치해야하는데, 가장 무난하게 쓸 수 있는 것이 라즈비안이다. 라즈비안은 아래 링크에서 다운 …

라즈베리파이 3B 라즈비안 설치 및 SSH 설정하기 더 보기 »

WSL(Windows Subsystem for Linux)에서 Serial Port 사용하기

 윈도우 시스템의 시리얼 포트를 리눅스에서도 사용이 가능해 졌습니다. 만약에 윈도우에서 COM5포트라면 ttyS5에서 사용이 가능한 식이죠  윈도우 시스템에서 리눅스를 설치하고 싶다면 이전 포스팅을 참고해 주세요. 먼저 장치 관리자를 열어주세요 COM5번 포트에 사용하고 있는 보드의 UART 모듈이 물려 있는 것을 볼 수 있다. 만약 드라이버가 처음부터 잡혀있지 않았다면, 해당 제조사의 홈페이지에서 드라이버를 다운 받을 수 있다. https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers …

WSL(Windows Subsystem for Linux)에서 Serial Port 사용하기 더 보기 »

윈도우 10 에서 우분투 설치하기

윈도우 10 에서 우분투 설치 예제  본 포스팅은 이전에 작성한 포스팅이 오래됨에 따라 다시 리뉴얼 하기 위해 작성합니다. 앞으로 작성되는 예제는 이 포스팅에서 세팅된 것을 기준으로 작성될 것임을 미리 언급합니다.  윈도우가 업데이트 됨에따라 Bash가 많이 좋아졌습니다. 그래서 리눅스를 설치하고 사용할 방법을 미리 언급을 합니다. 마이크로소프트 자료를 인용하여 설명을 이어갑니다. 일단 powershell을 켭니다. 참 관리자 권한으로 …

윈도우 10 에서 우분투 설치하기 더 보기 »