Ubuntu Wiki
The kernel source for the Ubuntu kernel is based very closely on the upstream mainline kernel tree maintained by Linus. The Ubuntu-ness of this kernel is maintained as a git branch against the Linus tree.
Obtaining the source for an Ubuntu release
There are a number of different ways of getting the kernel sources. The two main ways will be documented here.
If you have installed a version of Ubuntu and you want to make changes to the kernel that is installed on your system, use the apt-get method (described below) to obtain the sources.
However, if you wish to get the most up to date sources for the Ubuntu release you are running and make changes to that, use the git method (described below) to obtain the sources.
Obtaining the kernel sources for an Ubuntu release using apt-get
apt-get source linux-image-unsigned-$(uname -r)
apt-get source linux-image-$(uname -r)
Obtaining the kernel sources for an Ubuntu release using git
The source for each release is maintained in its own git repository on Launchpad.
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source//+git/
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/cosmic
groovy | git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/groovy |
focal | git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal |
bionic | git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic |
Replace your intended OS series in the above, and pull the source for the kernels you need.
The distro kernel is always on the master branch in these repositories. Each release also has a master-next branch containing the commits that will go onto the master branch and become the next release for that release.
A number of releases also have other source packages which represent other related but divergent kernels for other purposes. For example, there is a specialized AWS kernel available in the linux-aws source package. (Previously these sorts of things were done in Topic Branches and some older kernels and projects still use them.)
Obtaining a copy
To obtain a local copy you can simply git clone the repository for the release you are interested. The git command is part of the git package.
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic
git clone git://kernel.ubuntu.com/ubuntu/linux.git git clone --reference linux git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/groovy
In each case you will end up with a new directory ubuntu- containing the source and the full history which can be manipulated using the git command from within each directory.
$ git tag -l Ubuntu-* Ubuntu-5.4.0-47.51 Ubuntu-5.4.0-48.52 Ubuntu-5.4.0-49.53 Ubuntu-5.4.0-51.56 Ubuntu-5.4.0-52.57 $
git checkout -b temp Ubuntu-5.4.0-52.57
You may then manipulate the release - for example, by adding new commits.
Kernel/SourceCode (последним исправлял пользователь 85-210-146-14 2010-06-21 08:20:10)
The material on this wiki is available under a free license, see Copyright / License for details.
Исходный код linux ubuntu
Ubuntu
Other repositories
Name | Last Modified |
---|---|
lp:~ubuntu-kernel/ubuntu/+source/linux-restricted-modules/+git/focal | 41 minutes ago |
lp:~ubuntu-kernel/ubuntu/+source/linux-signed/+git/focal | 42 minutes ago |
lp:~ubuntu-kernel/ubuntu/+source/linux/+git/focal | 42 minutes ago |
lp:ubuntu/+source/freeciv | 1 hour ago |
lp:ubuntu/+source/libtest-differences-perl | 1 hour ago |
lp:ubuntu/+source/libtest-compile-perl | 1 hour ago |
lp:ubuntu/+source/waylandpp | 1 hour ago |
lp:ubuntu/+source/libtest-output-perl | 1 hour ago |
lp:ubuntu/+source/meta-gnome3 | 1 hour ago |
lp:ubuntu/+source/opm-common | 1 hour ago |
lp:ubuntu/+source/libiodbc2 | 1 hour ago |
lp:ubuntu/+source/snappy | 1 hour ago |
lp:ubuntu/+source/libtest-effects-perl | 1 hour ago |
lp:ubuntu/+source/r-bioc-biocgenerics | 1 hour ago |
lp:ubuntu/+source/libimager-perl | 1 hour ago |
lp:ubuntu/+source/unicorn | 1 hour ago |
lp:ubuntu/+source/requests | 1 hour ago |
lp:ubuntu/+source/libterm-readline-gnu-perl | 1 hour ago |
lp:ubuntu/+source/libsyntax-keyword-multisub-perl | 1 hour ago |
lp:ubuntu/+source/libsyntax-keyword-try-perl | 1 hour ago |
lp:ubuntu/+source/mrbuild | 1 hour ago |
lp:ubuntu/+source/rust-ratatui | 1 hour ago |
lp:ubuntu/+source/opm-simulators | 1 hour ago |
lp:ubuntu/+source/libjson-schema-modern-perl | 1 hour ago |
lp:ubuntu/+source/ansible | 1 hour ago |
lp:ubuntu/+source/faust | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-signed-kvm/+git/focal | 1 hour ago |
lp:ubuntu/+source/qt6-base | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-meta-kvm/+git/focal | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-kvm/+git/focal | 1 hour ago |
lp:ubuntu/+source/bcron | 1 hour ago |
lp:ubuntu/+source/golang-github-armon-go-metrics | 1 hour ago |
lp:ubuntu/+source/libbusiness-isbn-data-perl | 1 hour ago |
lp:ubuntu/+source/ansible-core | 1 hour ago |
lp:ubuntu/+source/libdogleg | 1 hour ago |
lp:ubuntu/+source/libcpanel-json-xs-perl | 1 hour ago |
lp:ubuntu/+source/libfont-freetype-perl | 1 hour ago |
lp:ubuntu/+source/box64 | 1 hour ago |
lp:ubuntu/+source/node-jupyterlab | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-meta-nvidia/+git/jammy | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-restricted-modules-nvidia/+git/jammy | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-signed-nvidia/+git/jammy | 1 hour ago |
lp:~canonical-kernel/ubuntu/+source/linux-nvidia/+git/jammy | 1 hour ago |
lp:~libreoffice/ubuntu/+source/libreoffice | 1 hour ago |
lp:ubuntu/+source/wireless-regdb | 1 hour ago |
lp:~mitchdz/ubuntu/+source/multipath-tools | 2 hours ago |
lp:~ahasenack/ubuntu/+source/rspamd | 3 hours ago |
lp:~ubuntu-kernel/ubuntu/+source/linux-meta/+git/focal | 3 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-restricted-modules-oracle/+git/focal | 3 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-signed-oracle/+git/focal | 3 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-meta-oracle/+git/focal | 3 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-oracle/+git/focal | 3 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-signed-kvm/+git/jammy | 4 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-meta-kvm/+git/jammy | 4 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-kvm/+git/jammy | 4 hours ago |
lp:ubuntu/+source/mini-buildd | 4 hours ago |
lp:ubuntu/+source/libhinawa | 4 hours ago |
lp:ubuntu/+source/pd-iemlib | 4 hours ago |
lp:ubuntu/+source/python-mastodon | 4 hours ago |
lp:ubuntu/+source/pd-iemguts | 4 hours ago |
lp:ubuntu/+source/lumino | 4 hours ago |
lp:ubuntu/+source/r-cran-deoptimr | 4 hours ago |
lp:ubuntu/+source/ocaml-ipaddr | 4 hours ago |
lp:ubuntu/+source/ocaml-eqaf | 4 hours ago |
lp:ubuntu/+source/ocaml-hex | 4 hours ago |
lp:ubuntu/+source/ocaml-asn1-combinators | 4 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-azure/+git/lunar | 5 hours ago |
lp:ubuntu/+source/ocurl | 5 hours ago |
lp:ubuntu/+source/opam | 5 hours ago |
lp:ubuntu/+source/lwt-ssl | 5 hours ago |
lp:ubuntu/+source/ocaml-usb | 5 hours ago |
lp:ubuntu/+source/ocaml-inotify | 5 hours ago |
lp:ubuntu/+source/nproc | 5 hours ago |
lp:ubuntu/+source/lwt-log | 5 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-azure/+git/jammy | 5 hours ago |
lp:ubuntu/+source/snmp-mibs-downloader | 6 hours ago |
lp:ubuntu/+source/gtg | 6 hours ago |
lp:ubuntu/+source/python-matrix-nio | 6 hours ago |
lp:ubuntu/+source/golang-1.21 | 6 hours ago |
lp:ubuntu/+source/rust-rust-embed | 6 hours ago |
lp:ubuntu/+source/primecount | 6 hours ago |
lp:ubuntu/+source/rust-subprocess | 6 hours ago |
lp:ubuntu/+source/kmc | 6 hours ago |
lp:ubuntu/+source/kernsmooth | 6 hours ago |
lp:ubuntu/+source/logiops | 6 hours ago |
lp:ubuntu/+source/rust-camino | 6 hours ago |
lp:ubuntu/+source/pikepdf | 6 hours ago |
lp:ubuntu/+source/nanovna-saver | 6 hours ago |
lp:ubuntu/+source/golang-sourcehut-sircmpwn-go-bare | 6 hours ago |
lp:ubuntu/+source/bash-completion | 7 hours ago |
lp:ubuntu/+source/codec2 | 7 hours ago |
lp:ubuntu/+source/ocaml-mccs | 7 hours ago |
lp:ubuntu/+source/docker.io | 7 hours ago |
lp:~nicolasbock/ubuntu/+source/daily-build | 7 hours ago |
lp:~ogayot/ubuntu/+source/dbus | 7 hours ago |
lp:ubuntu/+source/init-system-helpers | 8 hours ago |
lp:~vorlon/ubuntu/+source/init-system-helpers | 8 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-restricted-modules-intel-iotg/+git/jammy | 8 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-signed-intel-iotg/+git/jammy | 8 hours ago |
lp:~canonical-kernel/ubuntu/+source/linux-meta-intel-iotg/+git/jammy | 8 hours ago |
1 → 100 of 49834 results | First • Previous • Next • Last |
Where can I find the source code of Ubuntu?
I would like to know where to find the source code of Ubuntu. I'd like to see how far it is "open source".
Despite being "open" there are things called binary blobs in the kernel as far as I'm aware. It's open, but not decipherable in some places.
5 Answers 5
apt-get source linux-source-3.2.0
sudo apt-get build-dep $package
sudo apt-get build-dep abiword apt-get source abiword
The source code for every package in the main and universe archives is in Launchpad, or you can get it by enabling Sources in the Software Properties dialog, and then doing apt-get source $packagename in a terminal, after refreshing the package information.
Source code for packages in the partner repositories is not generally available, as they are mostly not open source applications. This is true for some items available in the Software Center as well.
Software in linux distributions is organized into packages. Each package either contains user facing software like Firefox, or libraries like libasound2 which is required by firefox. If you install Firefox, the apt system will figure out what prerequisite packages exist, will download and install them. Now, these packages are generally distributed as binary files that have already been compiled for a given processor architecture, but the exact source used to compile that version of a package is available via apt-get source firefox .
The vast majority of things in Ubuntu's repositories of packages are open source. But Ubuntu does have a list of approved proprietary software. While this software doesn't satisfy the freedom goals of Ubuntu, they are greatly desired by the community, and provide a lot of value. Examples of this are Skype or Sun Java (now removed). These packages are not listed on the Ubuntu packages site.
You can download the complete source code ISOs from the Ubuntu download servers:
- http://cdimage.ubuntu.com/releases//release/source/ for currently-supported releases. For example, http://cdimage.ubuntu.com/releases/12.04/release/source/ for 12.04.
- http://old-releases.ubuntu.com/releases//release/source/ for obsolete/EOL releases. For example, http://old-releases.ubuntu.com/releases/12.10/source/ for 12.10. However, source ISOs seem to be available only for 12.10 onwards.