리눅스 커널 기여(Contribution) 및 참여하기 - 설정
<< Overview >>
리눅스 커널을 익히기 위한 방법은 여러 가지가 있습니다. 예를 들면 다음과 같습니다.
리눅스 커널 스터디 모임에 참석한다.
리눅스 커널을 디버깅해본다.
리눅스 커널 소스를 직접 분석해본다.
이렇게 다양한 방식으로 리눅스 커널을 접할 수 있습니다. 그런데 리눅스 커널을 익히고 접하는 좋은 방법은...
리눅스 커널 오픈 소스 프로젝트에 직접 참여하는 것입니다.
리눅스 커널은 가장 유명한 오픈 소스 프로젝트로 어느 누구나 리눅스 커널 프로젝트에 참여할 수 있습니다.
우리가 작성한 커널 코드가 전 세계 리눅스 시스템에 적용이 될 수 있는 것입니다.
"여러분이 작성한 리눅스 커널 소스를 전 세계 리눅스 개발자들이 쓴다."
참 뿌듯하고 가슴 떨리는 일이 아닐 수 없습니다.
이번 시간에는 리눅스 커널 코드를 수정한 후 리눅스 커널 패치를 '리눅스 커널' 프로젝트에 반영하는 방법을 소개합니다.
<< 준비 사항 >>
제가 사용한 리눅스 배포판은 ubuntu로 16.04 버전을 쓰고 있습니다.
austindh.kim~/src$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04 Codename: xenial
<< mutt와 git 설치해보기 >>
먼저 리눅스 컴퓨터에는 mutt와 git 프로그램이 설치돼 있어야 합니다.
apt-get install mutt git
위 명령어를 입력하면 mutt와 git 프로그램을 설치할 수 있습니다.
이 프로그램이 제대로 설치됐는지 확인해볼까요? 이를 위해 다음 명령어를 입력합시다.
austindh.kim~/src$ which mutt /usr/bin/mutt austindh.kim~/src$ which git /usr/local/bin/git
'cd ~' 명령어를 입력해 계정 홈 디렉토리로 이동합니다.
austindh.kim~$ cd ~
다음 .muttrc 파일을 생성하고 .muttrc 파일에 읽기+쓰기 권한을 부여합니다.
austindh.kim~$ touch .muttrc austindh.kim~$ chmod 777 .muttrc
이번에는 .muttrc 파일을 vi 에디터로 열고 다음 정보를 입력합니다.
austindh.kim~$ vi .muttrc set realname = "Austin Kim" set from = "austindh.kim@gmail.com" set use_from = yes set envelope_from = yes set smtp_url = "smtps://austindh.kim@gmail.com@smtp.gmail.com:465/" set smtp_pass = "enter_your_passwd" set imap_user = "austindh.kim@gmail.com" set imap_pass = "enter_your_passwd" set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set ssl_starttls=yes set ssl_force_tls = yes # G to get mail bind index G imap-fetch-mail set editor = "vim" set charset = "utf-8" set record = ''
이제 mutt 설정이 끝났습니다.
<< 리눅스 커널 소스 코드 내려받기 >>
리눅스 커널 소스 코드를 수정하려면 최신 리눅스 커널 소스를 내려받아야 합니다.
이를 위해 다음 명령어를 입력할 필요가 있습니다.
git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next
아래는 리눅스 터미널에서 리눅스 커널 소스 코드를 내려받기 위해 사용한 명령어입니다.
austindh.kim~/src$ mkdir linux_kernel_source
austindh.kim~/src$ cd linux_kernel_source/
austindh.kim~/src/linux_kernel_source$ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next
Cloning into 'linux-next'...
remote: Sending approximately 1.32 GiB ...
remote: Counting objects: 13164, done
remote: Finding sources: 100% (7076597/7076597)
remote: Total 7076597 (delta 5964592), reused 7076255 (delta 5964592)
Receiving objects: 100% (7076597/7076597), 1.31 GiB | 10.35 MiB/s, done.
Resolving deltas: 100% (5964592/5964592), done.
Checking connectivity... done.
Checking out files: 100% (65459/65459), done.
linux_kernel_source 디렉토리를 생성한 후 해당 디렉토리에 이동해 소스를 내려 받았습니다.
소스를 다 내려 받고 나면 linux-next 폴더가 생성됐음을 확인할 수 있습니다.
austindh.kim~/src/linux_kernel_source$ ls linux-next
이어서 linux-next 디렉토리에 이동해 커밋을 확인해볼까요?
austindh.kim~/src/linux_kernel_source$ cd linux-next/ austindh.kim~/src/linux_kernel_source/linux-next$ git log commit 5d18cb62218608a1388858880ad3ec76d6cb0d3b Author: Stephen Rothwell <sfr@canb.auug.org.au> Date: Wed Aug 28 19:59:14 2019 +1000 Add linux-next specific files for 20190828 Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
이렇게 커밋 정보를 볼 수 있습니다.
리눅스 커널 git 정보
참고로, 세부 커밋 정보는 다음 사이트에서 확인할 수 있습니다.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/
리눅스 커널에서는 세부 서브 시스템별로 git을 운영합니다. 이 정보를 확인하려면 다음 사이트에 접속하면 됩니다.
https://kernel.googlesource.com/pub/scm/linux/kernel/git/
next/linux-next The linux-next integration testing tree
next/linux-next-history The linux-next integration testing tree
nferre/linux-at91 Nicolas Ferre's fork of linux.git
다음 글...
리눅스 커널 기여(Contribution) - 패치 작성 및 패치 반영(Upstream) 확인하기
https://kldp.org/node/162104
(개인블로그)
http://rousalome.egloos.com/
+1 kldp에도 좋아요 버튼이 있으면 좋겠네요. :
+1 kldp에도 좋아요 버튼이 있으면 좋겠네요. :-)
_________________________
http://joone.net
https://kldp.org/blog/2725
http://opensoftware.tistory.com
http://joone4u.blogspot.com
https://gnome.or.kr
+1 좋아요 감사합니다...
+1 좋아요 감사합니다...
(개인블로그)
http://rousalome.egloos.com
좋은 글 고맙습니다.
좋은 글 고맙습니다.
리눅스 커널에 기여하는 우리나라 사람은 몇 명이나 되나 궁금해집니다.
AustinKim 님이 계시니까, 적어도 0명은 아니네요 :)
세벌 https://sebuls.blogspot.kr/
응원 감사합니다.. 많은 분들이 참여했으면 좋겠습니다.
응원 감사합니다.. 많은 분들이 참여했으면 좋겠습니다.
(개인블로그)
http://rousalome.egloos.com
오 저도 이글 +1 좋아요 누르고 싶어요!!!
오 저도 이글 +1 좋아요 누르고 싶어요!!! 감사합니다^^^
[크롬북 우분투 18.04에서 적었어요]
댓글 달기