- Для работы с репозиторием ядра вам потребуется 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-style
1./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