Где скачать исходный код ядра Linux конкретной версии?


24

Есть ли ресурс для загрузки определенного источника версии ядра? Например, я хочу получить исходники 2.6.36.2 для сравнения с этим пакетом и посмотреть, какие изменения были внесены?


1
Ссылка в этом вопросе, кажется, не работает.
Фахим Митха

Ответы:


28

Самый простой и наиболее благоприятный для полосы пропускания способ, если вы собираетесь делать это более одного раза, - это клонировать репозиторий git ядра и проверить версию, которую вы хотите, основываясь на ее теге. Вероятно, лучше всего клонировать Linux-стабильный репозиторий , поскольку он будет включать теги для всех стабильных выпусков:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux
git checkout v2.6.36.2

Чтобы позже переключиться на другую версию, это легко:

git checkout v3.5.2

Чтобы обновить свой репозиторий, чтобы включить все последние теги и коммиты:

git fetch

1
Любая подсказка, почему второстепенные теги не отображаются на GitHub? Например , github.com/torvalds/linux/releases/tag/v3.5.2 против github.com/torvalds/linux/releases/tag/v3.5 Nor на git.kernel.org/pub/scm/linux/kernel/git/ torvalds / linux.git / refs
Сиро Сантилли 事件 改造 中心 法轮功 六四 事件

1
--depthа --branchтакже может резко уменьшить размер клона: unix.stackexchange.com/a/473373/32558
Сиро Сантилли,


9

Если вы не хотите загружать всю историю коммитов ядра (которая значительно превышает 1 ГиБ), вы можете загрузить только ту часть ядра Git-репо, которая ведет к нужной вам ветке. Например, чтобы локально получить ядро ​​Ubuntu в версии 4.5, вы должны сделать:

git clone --depth 1 --single-branch --branch v4.5  git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack

Таким образом, клон составляет около 150 МиБ.


1
--depthподразумевает --single-branchBTW, в соответствии с man git-clone.
Сиро Сантилли 事件 事件 中 at 法轮功 六四 事件

0

Если вы просто хотите получить один тег для быстрой компиляции, выполните:

git clone --depth 1 --branch v4.18 \
  git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

--depth 1 делает неглубокий клон, что резко сокращает время клонирования и использование диска.

К сожалению, в настоящее время он работает только для тегов, а не для произвольных фиксаций, из-за того, как работает и настроен сервер gg git. Смотрите также: /programming/3489173/how-to-clone-git-repository-with-specific-revision-changeset

См. Также: Почему git-клон исходного кода ядра Linux намного больше, чем извлеченный tar.xz?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.