임베디드 리눅스 개발시 크로스 컴파일을 필수이며 그러기 위해서는 SSH를 활성화 해야한다.
빌드루트는 이더넷이 기본으로 활성화가 되어있어 랜선을 꽃고 SSH만 활성화 해서 크로스 컴파일을 할 수 있지만 필자의 경우 이더넷을 못쓰고 와이파이만 쓸 수 있어 와이파이와 같이 SSH를 활성화하는 방법을 이 글을 통해 쓰도록 하겠다.
패키지 활성화
System configuration
ㄴ (buildroot) System hostname
ㄴ /dev management (Dynamic using devtmpfs + eudev) *mdev 가능
ㄴ (root) Root password *SSH
Target packages
ㄴ Hardware handling
ㄴ Firmware
ㄴ brcmfmac-sdio-firmware-rpi
ㄴ brcmfmac-sdio-firmware-rpi-wifi
ㄴ Networking applications
ㄴ openssh *SSH
ㄴ wireless-regdb
ㄴ wireless tools
ㄴ wpa_supplicant
위와 같이 패키지 활성화 및 설정을 해준다.
System hostname : 내부 네트워크에서 IP주소가 아닌 호스트명으로 접속할 수 있게끔 호스트명을 설정할 수 있다.
dev management : 추후에 원활한 디바이스 트리 오버레이를 위해서 'eudev' 설정
Root password : SSH 활성화 후 접속을 위해서 비밀번호를 설정해주도록 한다.
brcmfmac-sdio-firware-rpi-wifi : 라즈베리파이 커널 드라이버와 와이파이 모듈이 통신할 수 있게 와이파이 펌웨어를 활성화 해준다.
openssh : SSH 관련 애플리케이션 패키지
wireless-regdb, wireless tools, wpa_supplicant : 와이파이 관련 애플리케이션 패키지
rootfs 오버레이
이제 와이파이와 SSH가 활성화 되었는데 부팅시 자동으로 와이파이를 활성화하고 지정한 와이파이와 연결하려면 아래 2가지 파일을 만들어줘야 한다.
rootfs 오버레이를 통해 해당 경로에 파일을 만들도록 하자
rootfs 오버레이 설정에 대한 게시글은 아래 게시글을 참고하면 된다.
[Buildroot] 빌드루트 rootfs 오버레이 설정
빌드루트를 빌드 할 때마다 테스트 애플리케이션을 넣어야 하는 번거로움을 덜기 위해 빌드루트는 rootfs-overlay를 지원한다. 특정 폴더에 rootfs를 구성해놓으면 빌드 후 생성된 이미지를 SD카드에
gun-ny.tistory.com
#ctrl_interface=/var/run/wpa_supplicant
#ap_scan=1
network={
ssid="공유기 SSID"
psk="공유기 비밀번호"
#key_mgmt=NONE
}
board/raspberrypi5/rootfs-overlay/etc/wpa_supplicant.conf
psk 옵션에는 평문 비밀번호를 넣어도 되지만 보안을 위해서는 wpa_passphrase 애플리케이션을 통해 암호화된 해시값을 넣는 것을 권장한다.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
pre-up /etc/network/nfs_check
wait-delay 15
hostname $(hostname)
auto wlan0
iface wlan0 inet static
address 192.168.219.199
netmask 255.255.255.0
gateway 192.168.219.1
pre-up wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant
hostname $(hostname)
board/raspberrypi5/rootfs-overlay/etc/network/interfaces
'eth0' 인터페이스와 같이 'inet dhcp'를 통해 동적으로 아이피를 받아올 수 있지만 추후 고정된 아이피를 통해 SSH에 쉽게 접속하기 위해 'inet static' 구문으로 'address', 'netmask', 'geteway'를 지정하여 고정 아이피를 지정하도록 한다.
위 3가지는 사용자 네트워크에 따라 다르므로 필자와 똑같이 설정하면 안된다.
와이파이 및 SSH 설정
그렇게 빌드 후 부팅을 하면 아래와 같은 파일이 생긴 것을 볼 수 있다.
vi /etc/ssh/sshd_config
위 명령어를 통해 파일을 열어 수정해야 한다.
PermitRootLogin yes
/etc/ssh/sshd_config
수 많은 구문들 중 'PermitRootLogin' 구문이 있는데 주석처리 되어있을 것이다.
그 아래 위와 같은 구문을 추가해준다.
이렇게 하면 다른 기기에서 SSH 접속시 Root 계정으로도 접속할 수 있다.
그리고 다시 한번 재부팅을 해준다.

ssh root@192.168.219.199
모든 설정을 마치고 다른 기기(윈도우)에서 위 명령어를 통해 SSH 접속을 할 수 있게 되었다.

ssh-keygen -R 192.168.219.199
만약 위와 같은 해시 캐시 오류가 발생한다면 위 명령어를 통해 해시 초기화를 하여 다시 시도를 한다.
이로써 크로스 컴파일 환경을 구축할 수 있는 환경이 조성 되었다.
아래 글을 통해 호스트 컴퓨터(우분투)에서 개발하고 타겟 보드(빌드루트 임베디드 리눅스)에서 실행하는 크로스 컴파일 환경을 구축 해보도록 하겠다.
[Buildroot] 빌드루트 Qt 크로스 컴파일 환경 구축
[Buildroot] 빌드루트 와이파이(WiFi) 및 SSH 활성화 설정임베디드 리눅스 개발시 크로스 컴파일을 필수이며 그러기 위해서는 SSH를 활성화 해야한다.빌드루트는 이더넷이 기본으로 활성화가 되어있
gun-ny.tistory.com
참고 문서
¹⁾ https://www.youtube.com/watch?v=yxj8ynXXgbk
²⁾ https://dev.to/pfs/enabling-raspberry-pi-5-onboard-wi-fi-with-buildroot-1p59
³⁾ https://blog.crysys.hu/2018/06/enabling-wifi-and-converting-the-raspberry-pi-into-a-wifi-ap
'Buildroot' 카테고리의 다른 글
| [Buildroot] 빌드루트 Qt 크로스 컴파일 환경 구축 (0) | 2025.12.29 |
|---|---|
| [Buildroot] 빌드루트를 올린 라즈베리파이5에서 Qt 애플리케이션 실행 (0) | 2025.12.26 |
| [Buildroot] cmdline.txt quiet 부팅 옵션으로 부팅 로그 숨기기 (0) | 2025.12.24 |
| [Buildroot] Busybox 초기화 시스템의 init.d를 통해 시작 프로그램 등록 (0) | 2025.12.24 |
| [Buildroot] make -dirclean 빌드 최적화를 통해 Pakage, rootfs, cmdline.txt, config.txt 재구성 (0) | 2025.12.24 |