Çekirdek kaynak kodunu nasıl alabilirim?

22

Bazı aygıt sürücülerini yazmayı planlıyorum ve Linux çekirdeği kaynağını almam gerekiyor. Linux çekirdek sürümüm 3.2.0-23-jenerik-pae'dir ve görüntüyü Bu . Okuduğum makalelerin çoğunda, tüm çekirdek ağacının yeni modüller eklemeye başlaması gerektiğini söylüyor.

Bu resmi indirip usr/src/ klasörüne yapıştırırsam veya başka bir şey yapmam gerekiyorsa yeterli mi?

    
sordu Sab 05.07.2012 07:41

4 cevap

26

Bu, stok çekirdeğinin kaynağını alacaktır:

apt-get source linux-source

Çekirdeğin hangi sürümünün şu şekilde çalıştığını kontrol edebilirsiniz:

uname -r

Aşağıdaki gibi bir şey yazdıracaktır:

3.13.0-46-generic

Mevcut kaynak paket sürümlerinin listesini sisteminizde aşağıdakiler aracılığıyla bulabilirsiniz:

apt-cache search linux-source

Çekirdeğin akış yukarı sürümünü almak için:

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git

Yukarıdaki bağlantıda, 'güvenilir' Ubuntu sürümü için kod adıdır. Yüklediğiniz Ubuntu sürümü için kod adını öğrenebilirsiniz:

cat /etc/lsb-release
    
verilen cevap Bryce 05.07.2012 08:33
7
apt-get source linux

en kolay yoldur. Kaynağı, havuzunuzdan indirir - ve bu, çalıştırmakta olduğunuz sürümle aynı olacaktır (zaten özelleştirmediğinizi varsayarak).

Ancak kaynağın nerede bulunduğunu bulmak istiyorsanız şunları yapabilirsiniz:

apt-cache showsrc linux

'Vcs-' özniteliğine bakın (Sürüm kontrol sistemi). Genellikle bir git (Vcs-Git) veya mercurial deposu olur.

Not - bu komutlar herhangi bir paketle çalışır. İlgilendiğiniz paketin yerine 'linux' yazın. Ve ayrıca 'apt-get source' 'in sudo erişimi gerektirmediğini ve kaynağın mevcut dizininize döküleceğini de unutmayın.

    
verilen cevap Brendan McGrath 26.02.2015 01:20
3

Sadece birini seçin:

sudo apt install linux-source  # downloads into system directory
sudo apt source linux-source  # downloads into working directory

sources.list 'ınızda bazı' kaynaklar 'URL'leri vermeniz istenirse, /etc/apt/sources.list dosyanızı düzenleyin ve istediğiniz% deb-src satırını kaldırın (örneğin, Xenial kullanıyorsanız):

deb http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted

Bu son satırdaki # 'sini kaldırmak, kaynak kaynakları dahil olmak üzere, kaynak depolarını indirme için etkinleştirir.

Notlar:

  • Modern araçları kullanın; apt-get 'dan kaçının.
  • Bu komutlar, geçerli çekirdeğinizin (örneğin 4.4.0-75-generic örneğinde) kaynak kodunu indirir.
  • Sistem dizinine indirildiğinde, dosyalar /usr/src/linux-source-4.4.0/ (örneğin) olarak depolanır.
verilen cevap Tim 18.06.2017 23:18
2

Kaynağı doğrudan Launchpad'den indirin

Belirli bir çekirdek sürümü arıyorsanız, çoğu zaman herkesin çoğu çalışmayan apt-get source 'sini öneririm:

3.19.0-58 için kernel kaynağına ihtiyacınız olduğunu belirtin:
apt-get source linux-image-3.19.0-58-generic dizideki en son çekirdeğin kaynağını alacaktır: 3.19.0-80 bu durumda, ne istediğinizi değil.

Yani iki seçeneğiniz var:

1) Vazgeç, kernel 3.19.0-80'i yükleyin ve apt-get source

kullanın

2) Kaynağı doğrudan launchpad'den alın:

  • Onları yeni bir dizine koyun, dpkg-source -x *.dsc ile aç

Notlar:

  • Daha iyi bir yol olmalı.
  • Git'ten istediğiniz sürümü alabilirsiniz, ancak büyük bir indirme içindesiniz. Ubuntu Wiki Çekirdek Kaynak Kodu 'nda "Git kullanarak bir Ubuntu sürümü için çekirdek kaynaklarının edinilmesi" konusuna bakın.
verilen cevap lemonsqueeze 23.07.2017 16:39

Etiketlerdeki diğer soruları oku