- Для работы с репозиторием ядра вам потребуется git. А для отсылки патчей git-email. Установка этих тулов для ubuntu:1sudo apt-get install -y git git-email
- Настраиваем переменные окружения для гита123456vim ~/.bashrcexport GIT_COMMITTER_EMAIL=mymail@mail.comexport GIT_COMMITTER_NAME='iceberg'export GIT_AUTHOR_EMAIL=myothermail@mail.comexport GIT_AUTHOR_NAME='cromlehg'exec $SHELL - это чтобы перечитать настройки bashrc
- Клонируем репозиторий — ветку Торвальдса:1git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
- Переходим в репозиторий1cd linux-2.6
- Создаем новую ветку для наших патчей и переключаемся на нее1git checkout -b bugfix
- Делаем необходимые изменения1vim ./what/i/whant/to/change.c
- Проверяем на соответствие code-style1./scripts/checkpatch.pl --terse --file file_that_i_changed.c
- Коммитим с комментарием1git commit -a -m"Fix bug in driver"
- Делаем патч1git format-patch -s -n master..bugfix
Должен появиться файл с похожим именем: 0001-Fix_bug_in_driver.patch - Теперь ищем разработчиков, которые отвечают за исправленный нами кусок кода:1./scripts/get_maintainer.pl ./0001-Fix_bug_in_driver.patch
Получим список электронных адресов, по которым и нужно разослать патч - Рассылаем:1git send-email --from "Alexander Strakh" --to "first_developer@dev.org" --cc "second_dev@dev.org" -cc "tobias.lorenz@gmx.net" -cc "linux-media@vger.kernel.org" -cc "linux-kernel@vger.kernel.org" --smtp-server smtp.gmail.com --smtp-user cromlehg@gmail.com --smtp-pass MyPasss --smtp-ssl --subject "Fix bug in driver" *.patch
- Удаляем нашу ветку если больше не нужна:12git checkout mastergit branch -d bugfix