본문 바로가기
Embedded/Linux

[Yocto Project] 라즈베리파이 WIFI 연결

by Gordon_ 2025. 3. 31.

- 개발 환경

개발 보드 : Raspberrypi 4

WSL2 (Ubuntu 22.04 LTS)

Yocto Project : Scarthgap

Initialization Manager : sysvinit

 

0. 사전 작업 (리눅스 이미지 빌드)

https://littlebitodd-developer.tistory.com/27

 

[Yocto Project] RaspberryPI4를 위한 리눅스 이미지 빌드

1. 개발 환경WSL2 (Ubuntu 22.04 LTS)개발 보드 : Raspberrypi 4 2. 필요 패키지 설치sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3-jinja2

littlebitodd-developer.tistory.com

1. local.conf 파일 수정

<build 폴더>/conf/local.conf 에 다음과 같은 내용을 추가하여 네트워크 관련 레시피를 추가합니다.

해당 레시피들은 meta 라는 기본 레이어에 포함되어 있기 때문에 추가적으로 레이어를 추가할 필요가 없습니다.

IMAGE_INSTALL:append = " wpa-supplicant dhcpcd"

네트워크 관련 레시피 추가

 

레시피를 추가한 후 이미지를 빌드 한 후 라즈베리파이를 부팅 하도록 합니다.

2. 와이파이 연결

2.1. 무선 네트워크 사용 설정

처음 부팅을 하게 되면 무선 연결을 하기 위한 무선 네트워크가 없는 것을 확인 할 수 있습니다.

# 현재 사용중인 네트워크 확인
ifconfig

wlan0가 없음을 확인

 

하지만, 다음 명령어를 사용하게 되면 우리가 사용할 wlan0가 있다는 것을 확인 할 수 있습니다.

ifconfig -a

# wlan0 을 사용하기 위한 명령어
ifconfig wlan0 up

 

ifconfig 에서 wlan0을 확인

 

2.2. 무선 네트워크 검색

# 연결할 수 있는 무선 네트워크 검색
iw wlan0 scan | grep SSID:

연결할 수 있는 무선 네트워크 SSID 나열

2.3. 무선 네트워크 연결

2.3.1.  wpa_supplicant.conf 파일 위치 확인

 먼저 wpa_supplicant.conf 파일의 위치를 확인 해야 합니다. 저는 /etc/wpa_supplicant.conf 이지만, 경우에 따라 etc/wpa_supplicant/wpa_supplicant.conf에 있을 수도 있습니다.

wpa_supplicant.conf 위치 확인

2.3.2.  wpa_supplicant.conf 에 무선 네트워크 정보 추가

wpa_passphrase <SSID 이름> <SSID 비밀번호>  >> /etc/wpa_supplicant.conf

 

예시)

SSID : AN_WIFI

SSID 비밀번호: 0123456789

wpa_passphrase AN_WIFI 0123456789 >> /etc/wpa_supplicant.conf

연결할 네트워크 정보를 wpa_supplicant.conf 에 추가

2.3.3.  wpa_supplicant.conf 내용으로 무선 네트워크 연결

# wpa_suplicant 파일 적용
wpa_supplicant -B -i wlan0 -D wext -c /etc/wpa_supplicant.conf

# 무선 네트워크 연결
iw wlan0 link

실행 결과

정상적으로 무선 네트워크에 연결 되어 ipv6가 할당된 것을 확인 할 수 있습니다.

정상적으로 ipv6 할당

2.3.4.  ipv4 할당

만약 , 아래의  명령어를 실행해도 아래 그림과 같이 나오지 않는다면, 현재 "systemd"로 설정했는지 local.conf파일을 확인 보아야합니다. 확인한 결과 "sysemd"라면 약 5분뒤 자동적으로 ipv4를 할당할 것입니다.

# ipv4 할당
dhcpcd

정상적으로 ipv4 할당
정상적으로 ip 할당 완료

 

2.4. 인터넷 연결 확인

ping www.google.com -c 8

google에 ping이 정상적으로 전달 되는 것을 확인

 

3. 단점

  매 부팅 마다 이러한 과정을 거쳐야 무선 네트워크에 연결을 할 수 있다는 점이 매우 불편합니다. 부팅시 쉘 스크립트를 실행시 킬 수 있지만 추가적인 설정을 해주어야 하기에 귀찮은 작업이 필요합니다. 이러한 단점을 보안하기 위해 NetworkManager를 통해 해결하려고 합니다.

https://littlebitodd-developer.tistory.com/32

 

[Yocto Project] networkmanager를 통해 wifi 연결

- 개발 환경개발 보드 : Raspberrypi 4WSL2 (Ubuntu 22.04 LTS)Yocto Project : Scarthgap0. 사전 작업 (리눅스 이미지 빌드)https://littlebitodd-developer.tistory.com/27 [Yocto Project] RaspberryPI4를 위한 리눅스 이미지 빌드1. 개

littlebitodd-developer.tistory.com