리눅스 커널을 개발하는 분들은 가벼운 환경을 선호하시는 분들이 많다보니, TUI 환경을 선호 하시는데요.
VS Code 와 같은 GUI 환경에 친숙한 분들을 위해서 리눅스 커널 메일링, 컨트리뷰션 환경 셋업에 필수적인 부분을 한데모아 공유가 되었으면 해요.
Many Linux kernel developers prefer to use a lightweight environment, which is why they prefer the TUI environment.
For those who are familiar with GUI environments like VS Code, I would like to share the essential parts of setting up a Linux kernel mailing and contribution environment.
Each Linux kernel subsystem has its own forked repositories maintained by maintainers, and it's a good idea to check them out. I usually look at the repositories below.
Step 1. Commit and Make .patch file
Staging your updated code.
git status
git add <updated file path>
기존 커밋을 참고하여 내용, 포맷등을 맞춰서 커밋 메시지를 작성합니다.
Create a commit message using an existing commit as a reference and customizing the content, formatting, etc.
# add summary commit message
git commit
커밋 메시지 보완이 필요하면 다음과 같이 진행합니다.
If you need some update your commit, then do ammend.
# update your commit
git commit --amend
커밋이 제대로 되었는지 확인합니다.
# check commit
git log -p
패치 파일을 생성합니다.
Make patch file.
git format-patch -1
패치 포맷 유효성 검사를 합니다.
Check my patch file. And update if there are messages.
linux-source-code-root/scripts/checkpatch.pl 0000-MY-PATCH.patch
이제 첨부할 패치 파일을 만들었습니다.
Step 2. Git Send Mail Setup (Contribution Environment Setup) : Linux kernel 컨트리뷰션 할 수 있도록 환경 준비하기
gmail 로 들어가서 IMAP 설정을 활성화합니다.
구글 보안설정 페이지로 접속합니다.
우선 2단계 인증을 활성화하고 앱 비밀번호 항목에서 기타 항목으로 새로운 비밀번호를 발급 받습니다.
Go to App Passwords Page and Setup App Passwords!
~/.gitconfig 파일에 구글 2단계 앱 비밀번호를 smtpPass 넣어서 사용할 수 있습니다.
Setup ~/.gitconfig like below :)
[user]
email = my-email@my-email.com
name = 영문이름 영문성
[sendemail]
confirm = auto
smtpServer = smtp.gmail.com
smtpServerPort = 587
smtpEncryption = tls
smtpUser = my-email@my-mail.com
smtpPass = ????????????
또는 매번 이메일을 보낼 때 앱 비밀번호를 인자로 같이 보낼 수 있습니다.
Also, we can use smtp-pass parameters.
scripts/get_maintainer.pl $FIXED_FILE # to, cc 할 메일 확인
git send-email --smtp-pass="*구글 2단계 인증 활성화 할 수 있는 앱 비밀번호" --to="maintainer@mail.com; reviewer@kernel.org" --cc="linux-perf-users@vger.kernel.org; linux-kernel@vger.kernel.org;" --confirm=always -M -1
메일 컨텐츠와 내용, 포맷 등은 메일링 리스트에서 다른 분들의 [PATCH] 관련 내용을 참고하여 작성합니다.
git send email 관련 상세한 내용은 아래 도큐먼트를 참고하면 됩니다.
git-send-email documents
Step 3. Setup Thunderbird: 썬더버드 이메일 클라이언트 설정하기
이메일 클라이언트 프로그램이 있으면 내가 보낸 패치에 대해서 의논이 이루어질 때 답장하고, 코드 리뷰를 부분을 확인할 수 있어요. gmail 내에서 답장하면 웹 메일이기 때문에 커널 메일링 리스트의 포맷에 맞지 않습니다. 따라서 추가적인 설정을 해줘야해요.
우선 썬더 버드를 설치해요. 패키지 매니저나 직접 다운로드 모두 좋습니다.
1. Uncheck account setting > HTML format
2. Go to Advance > Config Editor
Go to Advance (설정 편집)
Update parameter mailnews.send_plaintext_flowed to false
mailnews.send_plaintext_flowed -> false
3. Enable the thread view
Default wraplength is 72, edit 0 value make me to copy and paste .patch file!
Preferences → (Scroll down) → Config Editor → mailnews.wraplength → 0
Comments