Study: ComputerScience(CS)/CS: Linux

[Linux] RaspberryPi Ubuntu 20.04 ์„ค์น˜ ๋ฐ Wifi ์„ธํŒ…ํ•˜๊ธฐ

DrawingProcess 2023. 7. 1. 12:27
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” 'Install Ubuntu 20.04 on a Raspberry Pi 4' ํฌ์ŠคํŒ…์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
์ถ”๊ฐ€๋กœ ํ•ด๋‹น ๋‚ด์šฉ์„ ํ†ตํ•ด MacOS์—์„œ Raspberry Pi 4์— Ubuntu Server 20.04๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„ธํŒ…์„ ํ•˜์ง€ ์•Š๊ณ  ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์— ์›๊ฒฉ์œผ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. What you'll need

  • A microSD card (4GB minimum, 8GB recommended)
  • A Raspberry Pi 4
  • A micro-USB power cable (USB-C for the Pi 4)
  • A microSD card Reader

์œ„์˜ ๋„ค ๊ฐ€์ง€ ๋ถ€ํ’ˆ์ด ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด, microSD์นด๋“œ์— ubuntu๋ฅผ ๊ตฝ๊ธฐ ์œ„ํ•ด Rasberry Pi Imager๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

์œ„ ๋งํฌ์—์„œ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•ด๋„ ์ƒ๊ด€์—†์œผ๋‚˜, brew๋ฅผ ์ด์šฉํ•˜์—ฌ ํ„ฐ๋ฏธ๋„๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

brew install --cask raspberry-pi-imager

๋งŒ์•ฝ์— homebrew๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ๋ฉด homebrew๋ฅผ ๋จผ์ € ์„ค์น˜ํ•œ๋‹ค.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Flash Ubuntu image into a micro SD card

๋‹ค์Œ ๊ณผ์ •์€ ์นด๋“œ ๋ฆฌ๋”๊ธฐ์— microSD์นด๋“œ๋ฅผ ์žฅ์ฐฉ ํ›„ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐํ•œ ์ƒํƒœ๋ฅผ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค.

microSD์นด๋“œ์— ์šฐ๋ถ„ํˆฌ ์ด๋ฏธ์ง€๋ฅผ ๊ตฝ๊ธฐ ์œ„ํ•ด Raspberry Pi Imager๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

CHOOSE OS๋ฅผ ๋ˆŒ๋Ÿฌ ์šฐ๋ฆฌ๊ฐ€ ์„ค์น˜ํ•  ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ ํƒ.

ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฒ„์ „์„ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ๋Š”๋ฐ, ๋‚˜๋Š” Ubuntu Server 20.04.5 LTS(64-bit)๋ฅผ ์„ ํƒํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Desktop๊ณผ Server๋กœ ๋‚˜๋ˆ„์–ด์ ธ์žˆ๋Š”๋ฐ, ํ•ญ์ƒ ssh๋กœ ์ ‘์†ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— Server๋ฅผ ์„ ํƒํ–ˆ๋‹ค. Server๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ GUI๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ Server ๋ฒ„์ „์œผ๋กœ ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ค์น˜ํ–ˆ๋”๋ผ๋„ ์ถ”ํ›„์— Desktop ํ™˜๊ฒฝ์„ ์ถ”๊ฐ€๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ CHOOSE STORAGE๋ฅผ ๋ˆŒ๋Ÿฌ ์ปดํ“จํ„ฐ์— ๊ฝ‚์€ microSD์นด๋“œ๋ฅผ ์„ ํƒ. ์ดํ›„ WRITE๋ฅผ ๋ˆŒ๋Ÿฌ ์„ค์น˜๋ฅผ ์‹œ์ž‘.

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋ฆฌ๋”๊ธฐ๊ฐ€ ๋ฐ”๋กœ ์ปดํ“จํ„ฐ์—์„œ Eject๋œ ์ƒํƒœ๊ฐ€ ๋˜๋Š”๋ฐ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์œ„ํ•ด ๋‹ค์‹œ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.

3. Setup Wi-Fi and ssh for your Raspberry Pi 4 without a monitor

์ง€๊ธˆ๋ถ€ํ„ด ํ„ฐ๋ฏธ๋„์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์ง„ํ–‰ํ•œ๋‹ค.

nano /Volumes/system-boot/network-config

์ดˆ๊ธฐ network-config ์ƒํƒœ.

# This file contains a netplan-compatible configuration which cloud-init
# will apply on first-boot. Please refer to the cloud-init documentation and
# the netplan reference for full details:
#
# https://cloudinit.readthedocs.io/
# https://netplan.io/reference
#
# Some additional examples are commented out below

version: 2
ethernets:
  eth0:
    dhcp4: true
    optional: true
#wifis:
#  wlan0:
#    dhcp4: true
#    optional: true
#    access-points:
#      myhomewifi:
#        password: "S3kr1t"
#      myworkwifi:
#        password: "correct battery horse staple"
#      workssid:
#        auth:
#          key-management: eap
#          method: peap
#          identity: "me@example.com"
#          password: "passw0rd"
#          ca-certificate: /etc/my_ca.pem

์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋„คํŠธ์›Œํฌ์™€ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ์˜ ์ด๋ฆ„๊ณผ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ๋“ค์—ฌ์“ฐ๊ธฐ ๊ณต๋ฐฑ์€ ํ•ญ์ƒ ํƒญ์ด ์•„๋‹Œ space ๋‘๋ฒˆ์œผ๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

version: 2
ethernets:
  eth0:
    dhcp4: true
    optional: true
wifis:
  wlan0:
    dhcp4: true
    optional: true
    access-points:
        "my-router-name":
          password: "wifi password here in plain text"
        "some-other-router":
          password: "plain-text-password"
        "Public Hotspot With No Password": {}

ssh ์ ‘์†์„ ์œ„ํ•ด ๋”ฐ๋กœ ์ˆ˜์ •ํ•  ๊ฒƒ์€ ์—†๊ณ  user-data์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์ƒ์ ์œผ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

$ nano /Volumes/system-boot/user-data
...
# On first boot, set the (default) ubuntu user's password to "ubuntu" and
# expire user passwords
chpasswd:
  expire: true
  list:
  - ubuntu:ubuntu

# Enable password authentication with the SSH daemon
ssh_pwauth: true
...

4. Find the Pi’s IP address

๋จผ์ € Raspberry Pi 4๋ฅผ ๋ถ€ํŒ…ํ•˜๊ธฐ ์ „์—, IP List๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋จผ์ € ๋งŒ๋“ค์–ด์ค€๋‹ค.

๋จผ์ € ์ธํ„ฐ๋„ท ์ฐฝ์— http://192.168.0.1 ์ž…๋ ฅํ•ด ๊ณต์œ ๊ธฐ์— ์ ‘์†.

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ํ›„, ๊ด€๋ฆฌ๋„๊ตฌ -> ๊ณ ๊ธ‰ ์„ค์ • -> ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ์„ค์ •์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด, ํ˜„์žฌ ๊ณต์œ ๊ธฐ์— ์ ‘์†๋˜์–ด ์žˆ๋Š” ๋‹จ๋ง๊ธฐ์˜ IP๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

5. Ubuntu 20.04 boot on Raspberry Pi 4

๋ชจ๋“  ์„ธํŒ…์ด ๋๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— microSD์นด๋“œ๋ฅผ ์ปดํ“จํ„ฐ์—์„œ ์ œ๊ฑฐ ํ›„ Raspberry Pi 4์— ์žฅ์ฐฉํ•ด์ค€๋‹ค. ์ด๋•Œ microSD๋ฅผ ์žฅ์ฐฉํ•œ ํ›„์— Power๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค. Power๋ฅผ ์—ฐ๊ฒฐ ํ›„ green LED๊ฐ€ ๊นœ๋นก๊ฑฐ๋ ค์•ผ ์ •์ƒ์ ์œผ๋กœ ๋ถ€ํŒ…๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋ถ€ํŒ…์ด ๋˜๊ณ ๋‚˜๋ฉด ์œ„์—์„œ ์„ค์ •ํ–ˆ๋˜ ๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์ž๋™์œผ๋กœ ๋„คํŠธ์›Œํฌ์— ์ ‘์†๋œ๋‹ค.

์ฃผ์˜! ์ฒซ ๋ถ€ํŒ… ์‹œ์—, IP๊ฐ€ ํ™•์ธ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ๋„คํŠธ์›Œํฌ์— ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ์•ˆ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ๊ฒฝ์šฐ์—๋Š” 2๋ถ„ ์ •๋„ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ Raspberry Pi 4์˜ Power๋ฅผ ๊ป๋‹ค ์ผœ์ค€๋‹ค. ์žฌ๋ถ€ํŒ… ํ›„์— ๋„คํŠธ์›Œํฌ์— ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด IP๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

6. ssh connection to the Raspberry Pi 4

ํ˜„์žฌ Raspberry Pi 4์˜ hostname๊ณผ username์€ ubuntu๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค.

์ฒซ ssh ์ ‘์† ์‹œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜ค๋ฉด yes๋ฅผ ์ž…๋ ฅ.

$ ssh ubuntu@[IP of Raspberry Pi 4]
The authenticity of host '192.168.x.x (192.168.x.x)' can't be established.
ECDSA key fingerprint is SHA256:rNDFgv1H3GqIhNPJ7wYI5963+/vbob2HOY1W4FekG/0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

๋‹ค์Œ ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๊นŒ์ง€ ์ž…๋ ฅํ•ด์ฃผ๊ณ ๋‚˜๋ฉด, Ubuntu๊ฐ€ ์„ค์น˜๋œ Raspberry Pi 4๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋๋‚œ๋‹ค.

์ฐธ๊ณ 

 

 

๋ฐ˜์‘ํ˜•