Ubuntu 20.04가 구워진 SD 카드가 준비되었으면 이제 라즈베리파이를 부팅해야 한다.
이 글에서는 ssh 원격 접속하는 것까지 다루며, 그러기 위해서는 라즈베리파이에 원격접속하기 위한
내 PC에도 Ubuntu 20.04 가 설치되어 있어야 한다. 그 방법은 아래의 글을 참고하자.
[내 pc에 Ubuntu 20.04 설치하는 법]
2024.01.23 - [ROS(Robot Operating System)] - ROS 개발 환경 구축하기 [VMware 17/Ubuntu 20.04/ROS noetic]
ROS 개발 환경 구축하기 [VMware 17/Ubuntu 20.04/ROS noetic]
1. VMware 설치하기 -VMware Customer Connect > Downloads > VMware Workstation Player 17.5.0 > Goto downloads > 운영체제에 맞는 VMware 설치 [Windows 64-bit] 2. Ubuntu 20.04 설치하기 -google 검색 > Ubuntu 20.04 downlad > 64-BIT pc(amd64) de
kysf.tistory.com
1. SD 카드를 라즈베리파이에 세팅
라즈베리파이에 HDMI로 모니터를 연결하고, 전원공급용 USB-C를 꽂아주면 즉시 전원이 켜진다.

2. Ubuntu 20.04 server Booting
1) 아이디/ 비밀번호 입력
login: ubuntu
password: ubuntu
2) 새로운 비밀번호로 변경
Current password: ubuntu
New password: 새로운 비밀번호

3) wpa_supplicant.conf 파일 생성 후, 아래와 같이 입력
sudo nano /etc/wpa_supplicant.conf
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Your Wi-Fi SSID"
scan_ssid=1
psk="Your Wi=Fi Password"
key_mgmt=WPA-PSK
}
만약 부팅 전, network-config 파일을 수정하지 않아서 wifi 연결해야하는 경우, 아래의 코드를 써주면 된다.
sudo apt-get install network-manager
sudo nmtui
4) 최종 update/upgrade
sudo killall wpasupplicant
sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf
sudo dhclient -v
ping -c5 google.com

sudo apt update
sudo apt upgrade
*여기서 Waiting for cache lock 에러가 발생하고 업데이트가 정상적으로 진행되지 않는다 아래와 같이 해결해보자.
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 15973 (unattended-upgr)... 11s
^Citing for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 15973 (unattended-upgr)... 19s

[해결방법]
해당 문제는 apt 내 lock 파일이 존재하기 때문에 발생하기 때문에 lock 파일을 제거해주어 문제를 해결하면 된다.
A) 진행중인 모든 프로세스 죽이기
sudo killall apt apt-get
B) 디렉토리 하나하나 삭제해주기
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
C) 다시 진행
sudo dpkg --configure -a
sudo apt update
sudo apt upgrade

이와 같이 간단하게 해결할 수 있다. 이제 다시 이어서 진행해주자
5) ifconfig 명령어로 라즈베리파이 IP 확인
sudo apt install net-tools
ifconfig

6) Ubuntu 시간 변경 및 ssh 설치
A) tzdata > Asia > Seoul > enter 키 누르기
sudo dpkg-reconfigure tzdata
B) 시간 변경된 것 확인
date
C) reboot 후, 패키지 인덱스 정보 업데이트
sudo apt-get install update
sudo apt-get upgrade
D) ssh 설치
sudo apt-get install ssh
7) GUI 인터페이스 설치
지금까지 설치한 Ubuntu Server는 OS 구동에 필요한 최소의 툴만 설치한 것이므로 GUI 환경을 제공하지 않는다. 따라서 로그인 후에는 Bash 쉘이 뜨는 것이 정상이며, 이는 부팅이 완료되어 사용 준비 가능하다는 뜻이다.
이에 Ubuntu 웹브라우저를 띄우려면 GUI 인터페이스를 설치해주어야 한다.
*아래 코드 실행 시, 3~6시간까지 걸릴 수 있음.
sudo apt-get install ubuntu-desktop
reboot

reboot 후 다시 켜면 아래와 같이 Ubuntu 화면이 나오는 것을 볼 수 있다!
8) ssh 원격 접속 ((7)단계를 하지않아도 가능)
모든 준비가 마쳤다면 이제 내 PC로 넘어와서 라즈베리파이와 같은 네트워크에 연결해준다.
그리고 아래의 코드를 입력하여 Ubuntu에 ssh 원격 접속 해준다.
ssh <ID>@<IP_address>
Are you sure you want to continue connecting (yes/no/[fingerprint])? : yes 입력
<ID>@<IP_address>'s password: 비밀번호 입력
ssh 원격 접속 성공!

[ssh 원격 접속 시도할 때 해당 오류 발생 시]

이는 이전에 저장된 호스트 키가 남아있기 때문이므로 ssh-keygen 명령어를 사용하여 제거해주어야 한다. 이에 아래의 코드와 같이 경로와 IP 주소를 넣어주면 이전에 저장된 호스트키가 제거되고 다시 ssh 원격 접속을 실행해주면 정상적으로 작동된다.
ssh-keygen -f "/home/yeson/.ssh/known_hosts" -R "192.168.0.71"

여기까지가 라즈베리파이 4에 Ubuntu 20.04를 설치하고 ssh 원격 접속까지 하는 방법이다!
3. ROS noetic 설치하기
*만약 ROS noetic 설치하려고 한다면, 해당 글에 정리해둔 코드를 복붙하지 말고 아래의 ROS Wiki 링크로
들어가 제공되는 코드를 복붙하는 것을 권유한다. (최신 버전으로 계속해서 업데이트될 수 있기 때문에)
https://wiki.ros.org/noetic/Installation/Ubuntu
noetic/Installation/Ubuntu - ROS Wiki
If you rely on these packages, please support OSRF. These packages are built and hosted on infrastructure maintained and paid for by the Open Source Robotics Foundation, a 501(c)(3) non-profit organization. If OSRF were to receive one penny for each downlo
wiki.ros.org
Ubuntu 20.04에 ROS noetic 설치하는 방법은 아래에 자세히 나와있습니다.
2024.01.23 - [ROS(Robot Operating System)] - ROS 개발 환경 구축하기 [VMware 17/Ubuntu 20.04/ROS noetic]
ROS 개발 환경 구축하기 [VMware 17/Ubuntu 20.04/ROS noetic]
1. VMware 설치하기 -VMware Customer Connect > Downloads > VMware Workstation Player 17.5.0 > Goto downloads > 운영체제에 맞는 VMware 설치 [Windows 64-bit] 2. Ubuntu 20.04 설치하기 -google 검색 > Ubuntu 20.04 downlad > 64-BIT pc(amd64) de
kysf.tistory.com
<Unable to correct problems, you have held broken packages. 오류 해결하는 방법>

이러한 오류가 뜨며 패키지 설치가 불가할 경우에 기존 패키지 업데이트 리스트를 백업하고
새 패지키 업데이트 리스트를 받아 해결해야 합니다.
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get update
오류 해결!
이제 roscore을 통해 ROS가 잘 설치되었는지 확인해주자

최종적으로 라즈베리파이에 Ubuntu 20.04를 booting하고 ROS noetic 설치까지 완료!
'ROS(Robot Operating System)' 카테고리의 다른 글
| (6) myCobot 600 pro 동작 [Roboflow/Ubuntu 20.04] (0) | 2024.02.19 |
|---|---|
| (5) ROS 개발툴 및 Moveit / git 패키지 설치 (ROS 환경 세팅) (0) | 2024.02.07 |
| (3) ssh 원격 접속 / wifi 세팅 / 오버클럭 설정 (*선택사항) (0) | 2024.01.30 |
| (2) SD 카드 굽기 (Raspberry Pi Imager / Balena Etcher) (0) | 2024.01.30 |
| (1) SD 카드 포맷하기 (+Fomatter 없이 포맷하는 법) (1) | 2024.01.28 |