scribnote5 on Feb 20, 20202020-02-20T00:00:00+09:00
Updated Feb 20, 20202020-02-20T00:00:00+09:00 7 min read
- ARM Sabre Lite에 리눅스 커널을 포팅한다.
- 본 글은 NXP 공식 홈페이지를 참고하여 작성하였다.
출처: https://boundarydevices.com/ubuntu-bionic-18-04-lts-for-i-mx6-7-boards-june-2018-kernel-4-9-x/
설치 환경
- 호스트: Ubuntu 18.04(x86-64)
- 타겟: Sabre Lite에 NXP에서 제공하는 Ubuntu Bionic 18.04 LTS for i.MX6/7 boards - June 2018 (kernel 4.9.x) 리눅스 커널 포팅
Sabre Lite 커널 이미지 다운로드
출처: https://boundarydevices.com/blog/ubuntu/
Sabre Lite 커널 이미지 쓰기
1
2
3
4
5
6
7
8
9
10
11
12
| $ sudo apt-get install -y gddrescue xz-utils util-linux
# 압축 해제
$ gunzip 20180729-nitrogen-4.9.x_1.0.0_ga-bionic-en_US-xfce_armhf.img.gz
# 인식한 micro SD 카드의 문자열 확인
$ lsblk
# 인식한 문자열로 micro SD 카드에 이미지 파일 write
# 해당 작업 진행을 종료하면 micro SD 카드에 우분투가 설치되어 있으며, 해당 micro SD 카드를 타겟으로 부팅하면 우분투가 시작됨
$ sudo ddrescue -D --force 20180729-nitrogen-4.9.x_1.0.0_ga-bionic-en_US-console_armhf.img /dev/sdb
|
설정된 타겟 아이디/비밀번호
- 해당 로그인 정보를 입력하여 리눅스에 로그인한다.
- 아이디/비밀번호: root/Boundary
- 아이디/비밀번호: ubuntu/Boundary
고정 IP 할당
- vi 에디터가 설치되어 있지 않으므로 nano 에디터를 사용하여 IP 정보를 변경해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| </etc/network/interfaces>
# 기존 ip 정보
# auto eth0
# allow-hotplug eth0
# iface eth0 inet dhcp
# 자신의 ip 정보 입력
allow-hotplug eth0
iface eth0 inet static
address 168.188.127.63
netmask 255.255.255.0
gateway 168.188.127.1
dns-nameservers 168.126.1.1
|
- Ctrl + x -> y -> Enter: nano 종료 단축키
출처: https://www.lesstif.com/pages/viewpage.action?pageId=24445571#id-%EC%9A%B0%EB%B6%84%ED%88%AC%EC%84%9C%EB%B2%84%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%84%A4%EC%A0%95(ubuntuservernetworkconfig)-static
https://lwk24.tistory.com/403
Timeserver 동기화
- 해당 설정을 진행하지 않으면 ‘Temporary failure in name resolution’ 에러가 발생한다. 이를 해결하기 위해 ,리눅스 timeserver와 동기화 작업이 필요하다.
1
2
3
4
5
6
7
8
9
10
| </etc/resolv.conf>
# 기존 nameserver 정보
# Generated by pump for interface eth0
# nameserver 168.188.1.1
# nameserver 168.126.63.1
# nameserver를 다음과 같이 변경
nameserver 58.277.183.227
nameserver 221.143.20.131
|
- Ctrl + x -> y -> Enter: nano 종료 단축키
출처: https://lwk24.tistory.com/403
https://gracefulprograming.tistory.com/91
타겟에 필요한 기본 패키지 설치
- 타겟에는 기본적인 패키지가 설치되어 있지 않다.
- 개발 및 연구 환경에 필요한 기본 패키지를 설치하며, 해당 부분은 선택사항이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| # update
$ sudo apt-get update
# git
$ sudo apt-get install -y git
# vim
$ sudo apt-get install -y vim
# 압축 패키지
$ sudo apt-get install -y zip unzip
# 블럭 디바이스 마운트를 위한 패키지
$ sudo apt-get install -y nfs-common cifs-utils cloud-guest-utils
# ssh 접속 편의성을 위한 패키지
$ sudo apt-get install -y sshpass
# wget
$ sudo apt-get install -y wget
# htop
$ sudo apt-get install -y htop
# valgrind
$ sudo apt-get install -y valgrind
|
vim 설정
- 리눅스 환경에서 사용하는 vim 설정은 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| ~/.vimrc
"=== Indent ===
set autoindent
set smartindent
set cindent
set tabstop=4
set shiftwidth=4
"=== View ===
set number
set title
set wrap
set showmatch
set ruler
set cursorline
set linebreak
set autoindent
"=== Search ===
set hlsearch
set ignorecase
set incsearch
"=== Edit ===
syntax on
syntax enable
set history=1000
set fileencoding=utf-8
set nobackup
"=== VIM-AIRLINE ===
set laststatus=2 "선택
"=== 마지막 수정된 곳에 커서 위치 ===
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("") |
\ exe "norm g`\"" |
\ endif
"=== Theme ===
"colo pablo
|
Micro sd 카드의 메모리 용량 늘리기
- 리눅스 커널을 micro sd 카드에 포팅할 때, micro sd 카드의 최소한의 용량만 사용하도록 설정한다.
- micro sd 카드에서 인식하는 메모리 용량이 매우 적으며, 패키지 몇 개만 설치하면 용량이 부족하다.
- 따라서 micro sd 카드의 기존 용량에 맞게 파티션 변경 필요하다.
타겟(Sabre Lite)에서 수행
1
2
3
4
5
6
7
8
9
10
| # 블럭 디바이스의 상태를 확인
$ lsblk
![image](/assets/img/2020-02-20-Linux3/image1.png)
# micro sd 카드 메모리의 파티션 확장
$ sudo growpart /dev/mmcblk1 1
$ lsblk
![image](/assets/img/2020-02-20-Linux3/image2.png)
|
호스트에서 수행
- Micro sd 카드를 호스트에 삽입한다.
- Sabre Lite에서는 이미 sd 카드를 사용 중이므로 파티션 크기 조절 불가하기에, 호스트에서 파티션 크기를 재조정 해야한다.
1
2
| # 운영체제가 micro sd 카드 메모리를 인식하는 크기는 3.4G(sdb1)
$ df -h
|
1
2
3
4
5
6
7
| # micro sd 카드의 크기 변경
# 운영체제가 인식하는 micro sd 카드의 블럭 디바이스 문자를 사용해야 함
$ sudo resize2fs /dev/sdb1
# 운영체제가 기존 micro sd 카드를 인식하는 메모리 크기가 3.4G(sdb1) 였지만, 메모리 크기를 재조정함으로써 인식하는 메모리 크기가 59G(sdb1)로 늘어남
# Micro sd 카드를 타겟에 삽입하면, 사용가능한 메모리 용량이 증가한 것을 확인할 수 있음
$ df -h
|
출처: https://blog.lael.be/post/7735
Comments powered by Disqus.