আমি কীভাবে কার্নেল উত্স কোড পেতে পারি?


25

আমি কিছু ডিভাইস ড্রাইভার লেখার পরিকল্পনা করছি এবং আমার লিনাক্স কার্নেল উত্স পাওয়া দরকার। আমার লিনাক্স কার্নেল সংস্করণ 3.2.0-23-জেনেরিক-PAE এবং আমি থেকে চিত্রটি ডাউনলোড এই । আমি পড়ে থাকা অনেকগুলি নিবন্ধে, এটি আমাকে বলেছে যে নতুন মডিউল সন্নিবেশ করাতে আমার কাছে পুরো কার্নেল গাছ থাকা দরকার।

আমি কি এই চিত্রটি ডাউনলোড করে usr/src/ফোল্ডারে পেস্ট করেছি বা আমার আরও কিছু করতে হবে?


1
আমি সাধারণত আমার সিনেমার মধ্যে একটির জন্য যখন কাস্টম সংকলন করি তখন সাইন্যাপটিক থেকে কেবল 'লিনাক্স-উত্স' প্যাকেজটি ইনস্টল করি তবে আপনি বিকাশ দিলে আপনার খুব সাম্প্রতিক সংস্করণের প্রয়োজন হতে পারে। এই লিঙ্কটি আপনার পক্ষে কার্যকর হতে পারে: help.ubuntu.com/commune/Kernel/Compile
মার্ক পাসকাল

উত্তর:


27

এটি স্টক কার্নেলের উত্স পাবে:

apt-get source linux-source

কার্নেলের কোন সংস্করণ এভাবে চলছে তা আপনি পরীক্ষা করতে পারেন:

uname -r

যা এমন কিছু মুদ্রণ করবে:

3.13.0-46-generic

আপনি আপনার সিস্টেমে উপলব্ধ উত্স প্যাকেজ সংস্করণগুলির একটি তালিকা এর মাধ্যমে পেতে পারেন:

apt-cache search linux-source

কার্নেলের আপস্ট্রিম সংস্করণটি পেতে:

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

উপরের লিঙ্কে, 'বিশ্বাসযোগ্য' হ'ল উবুন্টুর সংস্করণের কোডনাম। আপনি যার মাধ্যমে ইনস্টল করেছেন উবুন্টু সংস্করণটির কোডনামটি সন্ধান করতে পারেন:

cat /etc/lsb-release

আমি যদি ক্লিট করতে গিট ব্যবহার করি তবে আমি কীভাবে সংস্করণটি নির্দিষ্ট করব। এছাড়াও যদি আমি ক্লোন করে ফেলেছি তবে এটি যথেষ্ট যদি আমি কোনও ইউএসআর / এসসিআর ফোল্ডারে পেট করে রাখি
সাব

এই গিট সংগ্রহস্থলটি বিশেষত 3.2.0 এ রাখা হয়েছে; এটি উবুন্টু প্রিসিজে (12.04) যা রয়েছে তা অনুসরণ করে। আপনি যদি অন্য সংস্করণ চান তবে উবুন্টু-কোয়ান্টাল.git বা যেকোনো কিছুতে ওবুন্টু-স্পষ্টরূপে পরিবর্তন করুন। কেবল usr / src এ অনুলিপি করা ঠিক হবে।
ব্রাইস

ঠিক আছে। ধন্যবাদ- তবে কীভাবে আপনি এই গিট লিঙ্কটি খুঁজে পেলেন?
সাব


এবং ইনস্টল করার সময় আমি উত্স গাছটি কোথায় সন্ধান করতে সক্ষম হব ... হুম, আমার আরও ভাল পড়া উচিত। উত্তর বলে apt-get sourceনা apt-get install। উত্স গাছের চেয়ে আপনার বর্তমান পথে শেষ হবে ।
প্রো ব্যাকআপ

8
apt-get source linux

সবচেয়ে সহজ উপায়। এটি আপনার সংগ্রহশালা থেকে উত্সটি ডাউনলোড করবে - এবং এটি যে সংস্করণ আপনি চালাচ্ছেন তার সমান হবে (ধরে নিবেন আপনি ইতিমধ্যে এটি কাস্টমাইজ করেননি)।

তবে আপনি যদি উত্সটি বজায় রেখেছেন তবে আপনি এটি চালাতে পারেন:

apt-cache showsrc linux

'ভিসিএস' বৈশিষ্ট্যটি (সংস্করণ নিয়ন্ত্রণ ব্যবস্থা) সন্ধান করুন। এটি সাধারণত একটি গিট (ভিসিএস-গিট) বা পার্শ্বযুক্ত সংগ্রহস্থল হবে।

দ্রষ্টব্য - এই কমান্ডগুলি যে কোনও প্যাকেজ নিয়ে কাজ করে। আপনার আগ্রহী প্যাকেজটির সাথে কেবল 'লিনাক্স' প্রতিস্থাপন করুন। এবং এটিও নোট করুন যে 'অ্যাপ-গেট সোর্স'-এ সুডো অ্যাক্সেসের প্রয়োজন নেই এবং আপনার বর্তমান ডিরেক্টরিতে উত্সটি ডাম্প করবে।


টার্গেট মেশিনটি মেশানোর জন্য আপনি যে মেশিনটি ডাউনলোড করছেন তাতে এটি প্রয়োজন। আপনার যদি নেটওয়ার্ক থাকে তবে সত্যই কাজ করে। এই পৃষ্ঠায় অবতরণকারী বেশিরভাগ পাঠকের একটি নেটওয়ার্ক নেই (তাই কেন হঠাৎ তাদের উত্সের প্রয়োজন হবে)। আমার এটি একটি থাম্ব ড্রাইভে টারবাল হিসাবে প্রয়োজন এবং আমার একটি কার্যক্ষম অ্যাপটি নেই।
mckenzm

এটি কেবলমাত্র মধ্যে লিনাক্স-হেডার ডাউনলোড করা /usr/src- না পূর্ণ কার্নেল সোর্স - উবুন্টু 16,04 উপর
Pierz

4

লঞ্চপ্যাড থেকে সরাসরি উত্স ডাউনলোড করুন

আশ্চর্যজনকভাবে পর্যাপ্ত পরিমাণে সবাই সুপারিশ করে apt-get source যা কোন নির্দিষ্ট কার্নেল সংস্করণ সন্ধান করতে থাকলে বেশিরভাগ সময় কাজ করে না:

বলুন যে আপনি 3.19.0-58 এর জন্য কার্নেল উত্স প্রয়োজন:
apt-get source linux-image-3.19.0-58-genericসিরিজের সর্বশেষতম কার্নেলের উত্স পাবেন: এই ক্ষেত্রে 3.19.0-80, যা আপনি চেয়েছিলেন তা নয়।

সুতরাং আপনার কাছে দুটি বিকল্প রয়েছে:

1) ছেড়ে দিন, কার্নেলটি ইনস্টল করুন 3.19.0-80 এবং ব্যবহার করুন apt-get source

2) লঞ্চপ্যাড থেকে সরাসরি উত্স পান:

লিংক

  • এগুলি একটি নতুন ডিরেক্টরিতে রাখুন, আনপ্যাক করুন dpkg-source -x *.dsc

নোট:

  • আরও ভাল উপায় থাকতে হবে।
  • আপনি গিট থেকে আপনার পছন্দ মতো সংস্করণটি পেতে পারেন তবে আপনি একটি বড় ডাউনলোডের জন্য রয়েছেন। উবুন্টু উইকি কার্নেল উত্স কোডে "গিট ব্যবহার করে উবুন্টু মুক্তির জন্য কার্নেল উত্স প্রাপ্ত করা" দেখুন ।

এটি এত পরিষ্কারভাবে ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ। যাইহোক, আমি এখনও লিনাক্স-চিত্র-4.15.0-39-জেনেরিকের উত্স খুঁজে পেতে অক্ষম। এই প্রক্রিয়াটি অযথা জটিল। আমি এটির জন্য গুগল করার চেষ্টা করেছি তবে আমি কয়েকটি কিলোবাইটের প্যাকেজগুলি সন্ধান করি। কোন টিপস?
ফরজেটসো

3

কেবল একটি থেকে চয়ন করুন:

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

যদি আপনাকে কিছু 'উত্স' ইউআরএল দেওয়ার কথা বলা হয় তবে sources.listআপনার /etc/apt/sources.listফাইলটি সম্পাদনা করুন এবং পছন্দসই deb-srcলাইনটি আপত্তিহীন করুন (উদাহরণস্বরূপ (আপনি যদি জেনিয়াল চালাচ্ছেন):

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

#এই শেষ লাইনে অপসারণ কর্নেল উত্স সহ ডাউনলোডের জন্য উত্সের সংগ্রহস্থলগুলিকে সক্ষম করে।

মন্তব্য:

  • আধুনিক সরঞ্জাম ব্যবহার করুন; এড়াতে apt-get
  • এই আদেশগুলি আপনার বর্তমান কার্নেলের জন্য উত্স কোডটি ডাউনলোড করে ( 4.4.0-75-genericউদাহরণস্বরূপ আমার ক্ষেত্রে ))
  • সিস্টেম ডিরেক্টরিতে ডাউনলোড করার সময় ফাইলগুলি /usr/src/linux-source-4.4.0/(উদাহরণস্বরূপ) এ সংরক্ষণ করা হয় ।

আমার জন্য কাজ করে না (তবে এপটি-প্রাপ্ত সংস্করণও নয়)। আমি উবুন্টু 16.04.4, কার্নেল 4.4.0-98-জেনেরিক চালাচ্ছি। এটিতে বলা আছে, "আপনাকে অবশ্যই আপনার উত্স.লিস্টে কিছু 'উত্স' ইউআরআই রাখতে হবে"। কীভাবে করব তা আমার কোনও ধারণা নেই।
অ্যান্ড্রু বেনব্রিজ

@ অ্যান্ড্রুবাইনব্রিজ আমি এ সম্পর্কিত তথ্য যুক্ত করেছি। এটা কি এখন আপনার জন্য ঠিক আছে?
টিম

হ্যা ধন্যবাদ. এটা আমার কাছ থেকে একটি বোকা মন্তব্য ছিল। আমার কেবল ত্রুটি বার্তাটি গুগল করা দরকার। যাইহোক, আপনার প্রচেষ্টার জন্য একটি উপগ্রহ আছে।
অ্যান্ড্রু বেনব্রিজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.