[Buildroot] 빌드루트 Qt 크로스 컴파일 환경 구축
·
Buildroot
[Buildroot] 빌드루트 와이파이(WiFi) 및 SSH 활성화 설정임베디드 리눅스 개발시 크로스 컴파일을 필수이며 그러기 위해서는 SSH를 활성화 해야한다.빌드루트는 이더넷이 기본으로 활성화가 되어있어 랜선을 꽃고 SSH만 활성화 해서 크로스 컴파일을gun-ny.tistory.com이전 글에서 빌드루트 설정을 통해 와이파이 및 SSH 활성화를 했으면 이제 호스트 컴퓨터에서 SSH를 이용하여 타겟보드를 대상으로 크로스 컴파일이 가능하다. 현재까지 써왔던 글들과 마찬가지로 라즈베리파이5를 타겟보드로 크로스 컴파일을 해보도록 하겠다. Qt는 Qt6부터 qmake이 아닌 CMake를 권장한다.이번 글에서는 CMake 프로젝트 기준으로 작성토록 하겠다. Qt 크로스 컴파일 Kit 설정Edit -> Prefe..
[Buildroot] 빌드루트 와이파이(WiFi) 및 SSH 활성화 설정
·
Buildroot
임베디드 리눅스 개발시 크로스 컴파일을 필수이며 그러기 위해서는 SSH를 활성화 해야한다.빌드루트는 이더넷이 기본으로 활성화가 되어있어 랜선을 꽃고 SSH만 활성화 해서 크로스 컴파일을 할 수 있지만 필자의 경우 이더넷을 못쓰고 와이파이만 쓸 수 있어 와이파이와 같이 SSH를 활성화하는 방법을 이 글을 통해 쓰도록 하겠다. 패키지 활성화System configuration ㄴ (buildroot) System hostname ㄴ /dev management (Dynamic using devtmpfs + eudev) *mdev 가능 ㄴ (root) Root password *SSHTarget packages ㄴ Hardware handling  ㄴ Firmware   ㄴ brcmfmac-sdio-firmw..
[Buildroot] 빌드루트를 올린 라즈베리파이5에서 Qt 애플리케이션 실행
·
Buildroot
[STM32/라즈베리파이/Qt] TA모닝 아날로그 계기판 디지털 계기판으로 만들기* 이번 프로젝트 작업기는 포트폴리오용으로 쓰는 것이라 이전 프로젝트의 작업기보다 조금 더 자세히 쓴 글이라는 점을 참고 바랍니다. 1. 프로젝트 기술 스택언어: C, C++, QML플랫폼: STM32, ESP32, Rgun-ny.tistory.com [Buildroot] 빌드루트로 임베디드 리눅스를 구축하여 라즈베리파이5에 올리기[STM32/라즈베리파이/Qt] TA모닝 아날로그 계기판 디지털 계기판으로 만들기* 이번 프로젝트 작업기는 포트폴리오용으로 쓰는 것이라 이전 프로젝트의 작업기보다 조금 더 자세히 쓴 글이라는 점gun-ny.tistory.com [Buildroot] 빌드루트를 올린 라즈베리파이5에서 Qt 애플리케이션..
[Buildroot] cmdline.txt quiet 부팅 옵션으로 부팅 로그 숨기기
·
Buildroot
부팅시간을 단축시키려다 보니 거슬리는게 하나 있는데 위와 같은 부팅 로그이다.이번 글에서는 간단하게 quiet 부팅 옵션을 통해 부팅 로그를 출력하지 않도록 만들어보겠다. boot 파티션을 root 파티션에 마운트mkdir /bootmount /dev/mmcblk0p1 /bootvi /boot/cmdline.txt루트(/) 경로에 boot 폴더를 만들고 boot 파티션을 마운트 해준다.참고로 mmcblk0 디바이스의 mmcblk0p1은 boot 파티션, mmcblk0p2는 rootfs 파티션이다.그리고 vi를 통해 boot 파티션 내부에 있는 cmdline.txt 파일을 수정하면 된다. cmdline.txt 수정root=/dev/mmcblk0p2 rootwait console=tty1 console=tt..
[Buildroot] Busybox 초기화 시스템의 init.d를 통해 시작 프로그램 등록
·
Buildroot
빌드루트를 통해 임베디드 리눅스를 구성하게 되면 전원이 인가되고 목적 프로그램이 자동으로 실행되어야 한다.이번 글에서는 빌드루트의 기본 초기화 시스템인 BusyBox의 init.d를 통해 시작 프로그램을 등록해보도록 하겠다. Init system 설정System configuration -> Init system -> BusyBox 선택을 하여 초기화 시스템을 BusyBox로 지정해준다.빌드루트는 기본 초기화 시스템이 BusyBox로 지정되어 있다. init.d 스크립트 작성#!/bin/shcase "$1" in start) echo "Starting Cluster App..." # 필요한 환경 변수 설정 export LANG=ko_KR.UTF-8 # export QT_QPA_PL..
[Buildroot] make -dirclean 빌드 최적화를 통해 Pakage, rootfs, cmdline.txt, config.txt 재구성
·
Buildroot
빌드루트로 패키지를 구성하면서 이 패키지 저 패키지 활성화 했다가 비활성화 하다보면 패키지들끼리 꼬여서 나중에 빌드를 했을때 정작 생겨야할 패키지 라이브러리가 생기지 않을때가 있다. make clean그럼 깔끔한 상태에서 빌드를 하기 위해 위 명령어로 빌드 폴더를 제거하고 make를 통해 다시 빌드하게 되는데 빌드하는 시간만 30분 가량이 소요되어 패키지가 꼬였을까봐 계속 위와 같은 방법으로 빌드하는 것은 시간낭비다. 이는 빌드루트 개발팀에서도 알고 있는 내용이다.그래서 전체 빌드 패키지에서 선택한 패키지 부분만 골라서 제거할 수 있게 dirclean 명령어를 제공한다.비슷한 역할을 하는 다른 명령어들도 제공하지만 필자의 경우 dirclean 명령어로 패키지 제거 후 make를 통해 다시 빌드하는 방법을..
[Buildroot] 빌드루트 menuconfig GUI 인터페이스(xconfig) 설정
·
Buildroot
make menuconfig빌드루트를 구성할 때 menuconfig를 통해 config 파일을 구성한다.해당 메뉴에서 '?'를 누르면 설명을 표시해주고 '/'를 누르면 검색을 통해 메뉴를 찾을 수 있다.하지만 ncurses 기반 TUI 인터페이스는 꽤 불편하다. 이번에는 menuconfig를 TUI 인터페이스가 아닌 GUI 인터페이스를 띄울 수 있게 설정할 것이다. 빌드루트 메뉴얼 중 선택 패키지쪽을 보면 qt5를 통해 xconfig를 쓸 수 있다고 기재되어 있다. sudo apt install qtbase5-dev필수 패키지가 설치되어 있는 상태에서 위 명령어를 통해 qt5 패키지를 설치해주면 GUI 인터페이스 xconfig를 사용할 준비는 끝났다. make xconfig자주 사용하던 'make men..
[Buildroot] 빌드루트 rootfs 오버레이 설정
·
Buildroot
빌드루트를 빌드 할 때마다 테스트 애플리케이션을 넣어야 하는 번거로움을 덜기 위해 빌드루트는 rootfs-overlay를 지원한다. 특정 폴더에 rootfs를 구성해놓으면 빌드 후 생성된 이미지를 SD카드에 구웠을때 SD카드의 rootfs에 테스트 애플리케이션이 구성되어 있는것이다. System configuration 메뉴에서 Root filesystem overlay directories 값이 비어있는데 'board/raspberrypi5/rootfs-overlay' 지정 cd board/raspberrypi5mkdir -p rootfs-overlay/rootcd rootfs-overlay/rootecho "Test" >> test.txtcat test.txt빌드루트 폴더에서 board/raspber..
[Buildroot] 빌드루트 rootfs 파티션 용량 설정
·
Buildroot
빌드루트에서 필요한 패키지들을 추가하다 보면 빌드 중에 용량이 부족하다며 빌드가 실패하는 경우가 있다. Filesystem images 메뉴에서 exact size 값이 기본값인 '120M'로 설정되어 있는데 '250M'로 바꿔보도록 하겠다. 빌드하여 SD카드를 굽고보면 기존 126MB에서 262MB로 늘어난 것을 확인할 수 있다. 오차는 하드디스크 제조사의 용량과 컴퓨터 인식 용량이 다른 것처럼 SI 단위와 이진 단위의 차이이다.
[Buildroot] 라즈베리파이5 빌드루트 부팅 에러 0xbe000011 -- SError (end Kernel panic - not syncing: Asynchronous SError Interrupt) 해결법
·
Buildroot
빌드루트에서 'make raspberrypi5_defconfig' 설정 후 바로 'make'로 빌드하여 바로 라즈베리파이5에 올렸다면 몇몇 라즈베리파이5 보드에서는 위 에러를 띄울 것이다. 라즈베리파이5 빌드루트 자료는 찾아봐도 나오질 않았는데 맨 아래 기재한 참고 링크 페이지 두곳에서 Yocto 빌드 시스템 개발 중에 똑같은 문제를 겪었던 사람이 있어 해결했던 과정을 잘 읽어보니 디바이스 트리 오버레이 문제라는 단서를 얻었다. 확실하지는 않으나 'Hardware name: Raspberry Pi 5 Model B Rev 1.1 (DT)' 구문이 있는데 Rev 1.0 보드들은 문제가 없는듯 하나 Rev 1.1 보드에서 문제가 생긴다.Rev 1.1 보드에서 하드웨어 구성 변경이 있었는지 Rev 1.1 디바..