লিনাক্স কার্নেলটি কি একা ইনস্টল করা সম্ভব?


45

লিনাক্স কার্নেলটি একা ইনস্টল করা সম্ভব হলে, বা যদি আপনার কোনও স্বাদ ব্যবহার করতে হয় তবে আমি কেবল কৌতূহলী। যদি এটি সম্ভব হত তবে আপনি এটি কীভাবে করবেন? আমার বিস্তারিত টিউটোরিয়াল দরকার নেই। আমি কেবল এটি ধারণাগতভাবে কীভাবে করা হবে তা জানতে চাই। আমি নিম্ন-স্তরের স্টাফ দিয়ে ভাল নই, এবং আপনি কীভাবে কম্পিউটারে একটি ওএস পাবেন তা জানতে চাই। আমি ভাবছি এটির এমবিআরের সাথে কিছু করার আছে।

ওহ এবং আমি লক্ষ্য করেছি যে প্রচুর উত্তর কয়েকটি ন্যূনতম লিনাক্সের নির্দিষ্ট বিতরণকে বোঝায়। আমার সম্ভবত বলা উচিত ছিল যে আমি কোনও ন্যূনতম বা খালি হাড়ের লিনাক্স ইনস্টল করতে চাইছি না। এই প্রশ্নটি নিখুঁত তাত্ত্বিক। তবুও, আমি সমস্ত উত্তরগুলির সত্যই প্রশংসা করি এবং তাৎক্ষণিকভাবে সেগুলি উল্লেখ করব, যদি আমি সত্যিই ব্যক্তিগতকৃত লিনাক্স ইনস্টল করতে চাই।


3
"একা" এবং "স্বাদ" বলতে কী বোঝ? লিনাক্স কোনও ওএস নয় এটি কার্নেল, কোনও ওএস ছাড়া কার্নেলটি কী জন্য ভাল হবে? আপনি কি পরিবর্তে বুট লোডার ক্রমটি বের করার চেষ্টা করছেন?
কালেব

3
কার্নেল / ওএস কম্পিউটারে কীভাবে প্রবেশ করছে তা যদি আপনি বুঝতে চান তবে এখানে শুরু করার জায়গা is কেবল সেখানে "নবাগত" প্রশ্ন জিজ্ঞাসা করবেন না তা নিশ্চিত করুন, তারা আপনাকে কামড় দেবে, পরিবর্তে এসও তে জিজ্ঞাসা করবে ।
ফিলোমাথ

3
একা, আমি কেবল কার্নেল বলতে চাইছি, ইউজার ইন্টারফেসটি বিয়োগ করবে এবং ওপেন অফিসের মতো প্রোগ্রাম অন্তর্ভুক্ত করব। 'স্বাদে' বলতে আমার বোঝানো হয়েছে লিনাক্সের বিভিন্ন বিতরণ, যেমন উবুন্টু, রেডহ্যাট, ডেবিয়ান এবং মান্দ্রিভা। আমি কী বলছি সে সম্পর্কে আমার প্রায় কোনও ধারণা নেই। আমি ভাবছিলাম যে লিনাক্স কার্নেলের কিছু প্রাথমিক বাশ ক্ষমতা যেমন ডস ছিল। আমি মনে করি কার্নেলগুলি এবং অপারেটিং সিস্টেমগুলি সম্পর্কে আমার ধারণা থাকতে পারে ang
সিজার

4
হ্যাঁ আপনি এগুলি সত্যিই জড়িয়ে গেছেন :) বাশ হ'ল একটি ব্যবহারকারী-ভূমি প্রোগ্রাম যা কার্নেল দ্বারা পরিচালিত একটি প্রক্রিয়া হিসাবে চালিত হয়। নিজে থেকে একটি কার্নেল আপনাকে অন্য কিছু চালানোর জন্য প্ল্যাটফর্ম ছাড়া আর কিছুই দেয় না। শাদুরের উত্তরে এলএফএসের (লিনাক্স থেকে স্ক্র্যাচ) পরামর্শটি লক্ষ্যমাত্রায় সঠিক। সমস্ত বিভিন্ন টুকরা কী এবং কোন ডিস্ট্রোকে ডিস্ট্রো তৈরি করে এবং যেখানে কার্নেলটি শেষ হয় এবং ব্যবহারকারী-জমিটি স্ক্র্যাচ সিস্টেম তৈরির মাধ্যমে শুরু হয় সে সম্পর্কে আপনি অনেক কিছু শিখতে পারবেন।
কালেব

2
আসলে, ডসের kernelকোনও প্রাথমিক bashক্ষমতা ছিল না capabilities শেল প্রোগ্রাম দ্বারা স্ট্যান্ডার্ড ইউজার ইন্টারফেস সরবরাহ করা হয়েছিল COMMAND.COM। খালি কার্নেলের কাছে আপনি যে কোনও কাজে দরকারী যা করতে পারেন তার মধ্যে সবচেয়ে কাছাকাছি init=/bin/bashহ'ল কার্নেল প্যারামিটার ব্যবহার করে বুট করা (ন্যূনতম লিনাক্স ডিস্কে রয়েছে বলে ধরে নেওয়া)। উত্তর হিসাবে, আপনার কাছে কেবল বুটলোডার এবং কার্নেল থাকলে এটি খুব দ্রুত থামবে যখন এটি খুঁজে পাওয়া যায় না init
স্টারনামার

উত্তর:


51

আপনি প্রযুক্তিগতভাবে কেবল একটি বুটলোডার এবং কার্নেলটি একা ইনস্টল করতে পারেন, তবে কার্নেল বুট হওয়ার সাথে সাথে এটি "init" চালু করতে না পারার অভিযোগ করবে, তবে এটি কেবল সেখানে বসে থাকবে এবং আপনি এটি দিয়ে কিছুই করতে পারবেন না।

বিটিডাব্লু, এটি এমবিআরে থাকা বুটলোডারের একটি অংশ। কার্নেলটি ডিস্কের নিয়মিত স্থানে কোথাও বসে। বুটলোডারটি এটি কোথায় রয়েছে তা জানার জন্য কনফিগার করা হয়েছে, যাতে এটি কার্নেলটি লোড করে এটি কার্যকর করতে পারে।


আপনি এটি এমবিআরে রাখবেন কীভাবে?
সিজার

প্রতিটি বুটলোডার এমবিআর-এ নিজেকে ইনস্টল করার জন্য একটি সরঞ্জাম নিয়ে আসে। বুট-সারাইয়ের মতো বন্ধুত্বপূর্ণ সরঞ্জামগুলিও রয়েছে ( help.ubuntu.com/commune/Boot-Repair )।
শন জে গফ

ঠিক আছে আপনি একটি ইনি্রামফ তৈরি করতে এবং এটিকে কার্নেল চিত্রটিতে এম্বেড করতে পারবেন এবং তারপরে আপনার কেবল একটি কার্নেল চিত্র ফাইলটি থেকে সম্পূর্ণরূপে কাজ করার ব্যবস্থা থাকবে :-)
প্যাট্রিক

@ শনজেজ.ফফ যদি আমরা থ্রিমফর্ম সরবরাহ করি তবে কার্নেল কেন আরম্ভ করতে না পারার অভিযোগ করবে?
প্রতীক সিংহল

4
@ PS06756 আপনার যদি থ্রাইমারফ থাকে তবে প্রশ্নটি জিজ্ঞাসা করা হিসাবে এটি "একা" কার্নেল নয়। যদি initramfs এর একটি init থাকে তবে কার্নেল অভিযোগ করবে না।
শন জে গফ

18

আপনি যা জিজ্ঞাসা করছেন ঠিক তা আপনি বুঝতে পেরেছেন বলে আমি মনে করি না তবে আপনি লিনাক্স থেকে স্ক্র্যাচ প্রকল্পটি একবার দেখে নিতে পারেন ।


ন্যূনতম সিস্টেম কীভাবে তৈরি করা যায় তা নির্ধারণ করার জন্য এলএফএস একটি ভাল ধারণা হবে। অথবা আপনি MINIX (এবং বইটি পড়তে ) দেখতে পারেন। অথবা, আলাদা পরিচিতির জন্য (কম কাজ, তবে কম তথ্যমূলক), aptitude search '?essential'ডেবিয়ান বা উবুন্টুতে "অপরিহার্য" ( ) ট্যাগযুক্ত প্যাকেজগুলি দেখুন এবং প্রতিটি কী করেন তা বুঝতে পারবেন (খালি ন্যূনতমের চেয়ে কিছুটা বেশি)।
গিলস

12

আপনি যদি জিজ্ঞাসা করছেন যে আপনি অন্যান্য প্রোগ্রামের গুচ্ছটি ইনস্টল না করে কোনও কার্নেলটিকে "ওভার" ইনস্টল বা আপগ্রেড করতে পারেন?

লিনাক্স কার্নেল একটি বাইনারি সাধারণত নামে ফাইল vmlinuz-x.x.x-x-nameমধ্যে bootডিরেক্টরি যেখানে x এর একটি সংস্করণ সংখ্যা হয় (যা সাধারণত হার্ড ড্রাইভ শুরুতে একটি পৃথক ছোট পার্টিশন যায়)। "নাম" কেবলমাত্র কার্নেলের জন্য একটি নির্বাচিত নাম যা সংকলনের সময় সেট করা যেতে পারে, আপনি কার্নেলটি কোন ধরণের মেশিন বা আর্কিটেকচার বা অন্য কোনও কারণে বা আর্কিটেকচারের জন্য চিহ্নিত করতে এটি ব্যবহার করতে পারেন।

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

প্রায় সমস্ত বিতরণ আমি বিশ্বাস করি যে একটি "মডিউলার" কার্নেল তৈরি করুন যেখানে ডিভাইস ড্রাইভাররা পৃথক ফাইলে থাকে। সুতরাং বেশিরভাগ কার্নেলের বুট সময়ে এটি উপলব্ধ ড্রাইভার সমন্বিত একটি ফাইল সিস্টেমের প্রয়োজন এবং এটি একটি "initrd" (প্রাথমিক র‌্যাম ডিস্ক) বা "initramfs" এর জন্য। GRUBমেমরির কোনও স্থানে কার্নেল এবং ডিআরআরড অন্য স্থানে লোড করবে এবং লিনাক্স শুরু করে, আর আর ডিআরডি কোথায় রয়েছে তা জানিয়ে কার্নেলে লাফিয়ে দেবে।

ড্রাইভারগুলি কার্নেলের "অন্তর্নির্মিত" হতে পারে এবং বুটলোডার যখন vmlinuzচিত্রটি লোড করে তখন স্বয়ংক্রিয়ভাবে লোড হয় এবং উপলব্ধ হয় । কার্নেলগুলি যা বিভিন্ন সিস্টেমে কাজ করার জন্য বোঝানো হয় (যেমন বেশিরভাগ ডিস্ট্রিবিউশনগুলির মধ্যে) সাধারণত কার্নেলের মধ্যে যা অন্তর্নির্মিত হয় তা ন্যূনতম করে কারণ উপলব্ধ হার্ডওয়্যারটি পরে বুট প্রক্রিয়াতে স্ক্যান করা হবে এবং উপস্থিত হার্ডওয়্যার প্রতিনিধিত্বকারী কেবলমাত্র মডিউলগুলি লোড করা হবে।

আরডিআরটি সংশোধন ও তৈরি করার সরঞ্জাম রয়েছে। ডেবিয়ানের কাছে দুর্দান্ত সরঞ্জাম রয়েছে এবং আমি অন্যান্য বিতরণগুলিও কল্পনা করি।

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

Initrd ফাইলটি initrd.img-x.x.x.x-nameকার্নেলের মতো একইরূপে নামকরণ করা হয়েছে, এবং কার্নেলের মতো বুটের পরেও প্রতিস্থাপন করা যেতে পারে এবং সেরা অনুশীলনটি নির্দেশ করে যে আপনি আপনার নতুন কার্নেল + initrd সাফল্যের সাথে বুট করতে না পারলে আপনি কোনও পরিচিত আরআরআার্ড মুছে ফেলবেন না।

আমি আশা করি এটি কিছু প্রসঙ্গ সরবরাহ করে।

আপনি যদি এমন কোনও "বেয়ারবোনস" লিনাক্স ইনস্টল খুঁজছেন যা এর সাথে কোনও অতিরিক্ত প্রোগ্রাম ইনস্টল করা না থাকে তবে আমার পছন্দসই পছন্দটি সর্বদা ডেবিয়ান netinstচিত্রটি ইনস্টল করে চলেছে । খুব সুন্দর আপনার কাছে কমান্ড লাইনের পাঠ্য কনসোল চালানোর জন্য এবং nanoএকটি পাঠ্য সম্পাদক হিসাবে কেবলমাত্র সবচেয়ে প্রাথমিক সরঞ্জাম রয়েছে ।


5

একক নির্বাহযোগ্য রুটফেস

/initআমি সিঙ্গল অ্যাপ্লিকেশন লিনাক্সে ব্যাখ্যা করেছি নিখুঁত ন্যূনতম সিস্টেমটি একটি একক প্রোগ্রাম চালায় সুপার ব্যবহারকারী

ন্যূনতম লিনাক্স লাইভ

https://github.com/ivandavidov/minimal

আরও আকর্ষণীয় ইন্টারেক্টিভ সিস্টেমের জন্য এটি একটি (বেশিরভাগ শিক্ষামূলক) একটি ছোট স্ক্রিপ্ট যা:

  • কার্নেল এবং ব্যস্তবক্সের উত্স ডাউনলোড করে
  • তাদের সংকলন
  • তাদের সাথে একটি বুটেবল 8 এমবি আইএসও উত্পন্ন করে

এরপরে আইএসও আপনাকে ব্যস্তবক্স সহ একটি ন্যূনতম শেলের মধ্যে ফেলে দেয়।

কিউইএমইউ দিয়ে আপনি সহজেই সিস্টেমে বুট করতে পারেন।

কার্নেল উত্স ডিরেক্টরি থেকে এটি চালনার অনুমতি দেওয়ার জন্য আমি এটিকে পরিবর্তন করেছি: https://github.com/cirosantilli/runlinux

ব্যবহার:

git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh

এবং আপনাকে নতুন ন্যূনতম সিস্টেম সহ একটি কিউইএমইউ উইন্ডোতে রেখে দেওয়া হবে। অসাধারণ.

যেহেতু এটি ছোট, তাই উত্সটি পড়তে এবং কী চলছে তা বোঝার জন্য এটি একটি ভাল বিকল্প।

উবুন্টু 16.04 এ পরীক্ষিত।

Buildroot

https://buildroot.org/

মেকফিল স্ক্রিপ্টগুলির বড় সেটগুলি পরিচালনা করে:

  • জিসিসি ক্রস সংকলন সরঞ্জামচয়ন
  • কার্নেল সংকলন
  • বুটলোডার সংকলন
  • rootfs প্রজন্মের
  • জিটিকের মতো জটিল স্টাফ সহ উত্স ট্রিতে প্রচুর প্যাকেজ ডাউনলোড / বিল্ড রেসিপি রয়েছে। একটি নির্ভরতা ব্যবস্থা আছে।

সর্বনিম্ন উদাহরণ:

git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.

এমনকি স্ক্র্যাচ থেকে এক্স 11 তৈরির রেসিপি রয়েছে: কীভাবে আমার নিজের লিনাক্স বিল্ড্রুট সিস্টেমে এক্স 11 ইনস্টল করবেন?

পেশাদার স্টাফ।

আলপাইন লিনাক্স

https://github.com/gliderlabs/docker-alpine

একটি প্যাকেজ ম্যানেজারের সাথে এম্বেডড ডিস্ট্রিবিউশন যা কোনও ওয়েবসাইট থেকে প্রম্পম্পাইল্ড বাইনারি সরবরাহ করে।

আরো দেখুন


3

আমি শাদুরের পরামর্শটি দ্বিতীয় করতে চাই যে আপনার হাতটি লিনাক্স থেকে স্ক্র্যাচ পথে নোংরা করা উচিত।
এছাড়াও, অনুরূপ কিছু, পকেট লিনাক্স ব্যবহার করে দেখুন

পকেট লিনাক্স গাইডটি দেখায় যে কীভাবে একটিমাত্র সোর্স কোড এবং কয়েকটি সংখ্যক ডিসকেট ব্যবহার করে একটি ছোট কনসোল ভিত্তিক জিএনইউ / লিনাক্স সিস্টেম তৈরি করতে হয়। এটি লিনাক্স ব্যবহারকারীদের জন্য, যারা তাদের সিস্টেম কীভাবে বিতরণ নির্দিষ্ট বৈশিষ্ট্য এবং সরঞ্জামগুলির কাফনের নীচে কাজ করে সে সম্পর্কে গভীর ধারণা অর্জন করতে চায়।


2
যদিও মনে রাখবেন যে তাদের সঠিক মনের কেউই কোনও প্রকারের গুরুত্বপূর্ণ উত্পাদন কাজের জন্য / হয় / এলএফএস বা পকেটলিনাক্সের পরামর্শ দেয় না - তারা কীভাবে স্টাফ কাজ করে তা শেখার পক্ষে ভাল, তবে বেশিরভাগ বন্টন একটি সম্পূর্ণ সেট সরঞ্জাম এবং সীমান্তের সাথে আসার কারণ রয়েছে there's সর্বাধিক স্টাফ জন্য।
শাদুর

3

সাধারণ ব্যবহারকারী-স্পেস সরঞ্জাম ছাড়া লিনাক্স কার্নেল ইনস্টল করা সম্ভব। এটি সাধারণত এম্বেড থাকা সিস্টেমে যেমন রাউটারগুলিতে করা হয়। সাধারণত, কার্নেলটি রম বা ফ্ল্যাশ মেমরি থেকে লোড করা হয় এবং ডিভাইসটির জন্য প্রশ্নযুক্ত (সাধারণত মডিউল হিসাবে লোড হওয়ার পরিবর্তে প্রয়োজনীয় ড্রাইভারগুলি কার্নেলের মধ্যে কম্পাইল করা থাকে) কাস্টমাইজ করা হয়েছে।

কমপক্ষে একটি ইউজার-স্পেস প্রোগ্রামের উপস্থিতি থাকতে হবে, যাতে 'init' প্রক্রিয়া হয়ে ওঠার প্রয়োজন হয় ( initকার্নেল দ্বারা প্রক্রিয়া 1 হিসাবে শুরু করা হয় না, এবং কোনও অনাথ প্রসেসের স্বয়ংক্রিয় প্যারেন্ট) - কার্নেলটি পরিবর্তন না করা হলে (পরিবর্তে) চেয়ে সহজ কাস্টমাইজড) এটি প্রয়োজন হয় না।

ওয়ার্কিং লিনাক্স-ভিত্তিক ডিভাইস রাখার জন্য অবশ্যই শেল পাওয়া দরকার নেই, যদিও এটি উন্নয়নকে আরও সহজ করে তুলতে পারে!


2

অনেকগুলি ডিস্ট্রো "কোর" ইনস্টল সরবরাহ করে। এটাই তুমি চাও. উবুন্টু-ন্যূনতম, ডেবিয়ান নেট-ইনস্টল, আর্চলিনাক্স (ডিফল্ট কেবল মূল) See

আপনি যদি শিখতে চান তবে অন্যান্য উত্তরগুলি দরকারী, তবে সে ক্ষেত্রে = পি হতে পারে না

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