Hello, I've been able to figure out from all the various HOWTOs about the different kernel trees (main development, -next, -stable, the subsystem trees, etc.) and I see where the files and patches are archived on kernel.org, but I haven't been able to find the actual git repos that I need to clone to work on the main kernel, or any of the others. Can someone please elaborate on exactly where each of these are stored so that I can more easily translate this conceptual knowledge into the actual git commands I have to run to make it work? Thanks, Dolan
On Mon, Jul 29, 2013 at 6:39 AM, Dolan Murvihill <dmurvihill@gmail.com> wrote:
Hello,
I've been able to figure out from all the various HOWTOs about the different kernel trees (main development, -next, -stable, the subsystem trees, etc.) and I see where the files and patches are archived on kernel.org, but I haven't been able to find the actual git repos that I need to clone to work on the main kernel, or any of the others. Can someone please elaborate on exactly where each of these are stored so that I can more easily translate this conceptual knowledge into the actual git commands I have to run to make it work?
Hi Dolan, Check cgit interface on kernel.org. For example linux-next is at https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/log/?id=ref... thanks, Daniel.
On 29 July 2013 06:39, Dolan Murvihill <dmurvihill@gmail.com> wrote:
Hello,
I've been able to figure out from all the various HOWTOs about the different kernel trees (main development, -next, -stable, the subsystem trees, etc.) and I see where the files and patches are archived on kernel.org, but I haven't been able to find the actual git repos that I need to clone to work on the main kernel, or any of the others. Can someone please elaborate on exactly where each of these are stored so that I can more easily translate this conceptual knowledge into the actual git commands I have to run to make it work?
Thanks, Dolan
Hello! It depends on what you are looking for. There is the gitweb interface [1] for the kernel.org repos. You'll find the repos there. Git, by definition, is distributed, to there isn't 'the one true repo'. The de facto official repo, I think is considered Linus's linux.git [2] (there is also a mirror on github [3], but don't try to send pull requests :P on github for the Linux kernel). So if you want a stable repo, maybe that is what you should clone. For a little more unstable version, there's the linux-next repo (I think the address is this [4]). It's there new features are being introduced first, ,before the mainline version. But most subsystems (and chief maintainers) have their own tree (like David's net repo [5]). If you want to start general patching, linux-next should be a good start. But if there is a specific subsystem you are interested in, get its own repo. [1] https://git.kernel.org/cgit/ [2] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/ [3] https://github.com/torvalds/linux [4] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/ [5] https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/
On Mon, 29 Jul 2013 10:25:53 +0300, Alexandru Juncu said:
For a little more unstable version, there's the linux-next repo (I think the address is this [4]).
For some definition of "little more unstable'. :) V3.10 is out, and Linus just tagged v3.11-rc3 a few hours ago, which means that 3.11 will escape in about a month. Linux-next is, however, what will hopefully become 3.12 sometime around November. Be prepared to find weird stuff and bugs - I manage to find several bugs per kernel release just running it on my laptop. Having said that, running linux-next is a great way to get a lot of kernel experience fairly fast, just from finding bugs and then reporting them, and seeing if you can figure out why you hit them (git bisect will become your best friend very quickly). And the Linux community probably needs more good testers even more than it needs more coders... Take frequent backups of your test system - there's zero guarantee that linux-next won't have any ext4 or btrfs bugs that will eat your root filesystem or turn your dog green. Note that due to the way the linux-next repo is built (it's a nightly rebase), you'll get bad results if you just use 'git clone' and then try to 'git pull' it to update it. You need to do something like this: $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ git remote add linux-next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git $ git fetch linux-next $ git fetch --tags linux-next and then you have a copy of linux-next. To update it, you want to: $ git remote update (do *not* do a 'git pull', you'll be sorry :) Note that although every linux-next daily is tagged with a next-20130729 type tag, you can't effectively git bisect between two next-* tags, though you *can* bisect between one of Linus's v3.12-rc9 tags and a next-* tag (and if you know about git enough to figure out the Linus commit that was the base of (say) next-20130722 you can use that as one end of a bisect and next-20130729 as the other end).
Thanks everyone for the help. I just got linux-next :). On 07/29/2013 05:41 AM, Valdis.Kletnieks@vt.edu wrote:
On Mon, 29 Jul 2013 10:25:53 +0300, Alexandru Juncu said:
For a little more unstable version, there's the linux-next repo (I think the address is this [4]). For some definition of "little more unstable'. :) V3.10 is out, and Linus just tagged v3.11-rc3 a few hours ago, which means that 3.11 will escape in about a month. Linux-next is, however, what will hopefully become 3.12 sometime around November. Be prepared to find weird stuff and bugs - I manage to find several bugs per kernel release just running it on my laptop.
Having said that, running linux-next is a great way to get a lot of kernel experience fairly fast, just from finding bugs and then reporting them, and seeing if you can figure out why you hit them (git bisect will become your best friend very quickly). And the Linux community probably needs more good testers even more than it needs more coders...
Take frequent backups of your test system - there's zero guarantee that linux-next won't have any ext4 or btrfs bugs that will eat your root filesystem or turn your dog green.
Note that due to the way the linux-next repo is built (it's a nightly rebase), you'll get bad results if you just use 'git clone' and then try to 'git pull' it to update it.
You need to do something like this:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ git remote add linux-next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git $ git fetch linux-next $ git fetch --tags linux-next
and then you have a copy of linux-next. To update it, you want to:
$ git remote update (do *not* do a 'git pull', you'll be sorry :)
Note that although every linux-next daily is tagged with a next-20130729 type tag, you can't effectively git bisect between two next-* tags, though you *can* bisect between one of Linus's v3.12-rc9 tags and a next-* tag (and if you know about git enough to figure out the Linus commit that was the base of (say) next-20130722 you can use that as one end of a bisect and next-20130729 as the other end).
participants (4)
-
Alexandru Juncu -
Daniel Baluta -
Dolan Murvihill -
Valdis.Kletnieks@vt.edu