আমি কখন ইউইএফআই / ইএফআই বুটে কার্নেল আর্গুমেন্ট হিসাবে add_efi_memmap নির্দিষ্ট করতে হবে?


29

আমি কিছু টিউটোরিয়াল পড়ছি কীভাবে EFI স্টাব (ইফিস্টাব) লিনাক্স কার্নেলটি লোড করতে হয়। এই নির্দেশাবলী প্রায়শই কার্নেল বুট পরামিতি ব্যবহার করে add_efi_memmap। উদ্দিষ্ট হার্ডওয়্যারটি ইন্টেল x64 এর 8 গিগাবাইট র‍্যাম রয়েছে। আমার বর্তমান সেটআপটি grub-efiবুটলোডার এবং কার্নেল v3.13 চলছে ।

GRUB- র বুট ছাড়াadd_efi_memmap বুট যুক্তি:

  • 23BIOS-e820 লাইন গণনা করেছেdmesg | grep BIOS-e820: | wc -l
  • 243EFI মেমরি লাইন দ্বারা গণনাdmesg | grep efi:\ mem | wc -l
  • ডিএমএ অঞ্চল: 24পৃষ্ঠা সংরক্ষিত
  • স্মৃতি: 7840568 কে / 8283384 কে উপলব্ধ
  • 442816 কে সংরক্ষিত

GRUB বুট করা add_efi_memmap এবং EFI মেমরি মানচিত্রের আকারটি পৃথক বলে মনে হচ্ছে:

  • 23 BIOS-e820 লাইন
  • 57 EFI মেমরি লাইন
  • ডিএমএ অঞ্চল: 22পৃষ্ঠা সংরক্ষিত
  • মেমরি: 7885076 কে / 8283384 কে উপলব্ধ
  • 398308K সংরক্ষিত

EFI স্টাব বুট ছাড়াই add_efi_memmap :

  • 22 BIOS-e820 লাইন
  • 60 EFI মেমরি লাইন
  • ডিএমএ অঞ্চল: 21পৃষ্ঠা সংরক্ষিত
  • স্মৃতি: 7885012 কে / 8283384 কে উপলব্ধ available

আপনি EFI শহরের উপর অসম্পূর্ণ নিবন্ধ বুট সঙ্গে add_efi_memmap :

  • 22 BIOS-e820 লাইন
  • 66 EFI মেমরি লাইন
  • ডিএমএ অঞ্চল: 21পৃষ্ঠা সংরক্ষিত
  • মেমোরি: 7882124K / 8283384K উপলব্ধ

আরও তথ্য পড়ার পরে - নীচে ইনলাইন করা হয়েছে - আমি যুক্ত করব কি করব না তা বুঝতে পারি add_efi_memmapনা। এটি অতিরিক্ত কিছু করে যা বুট করার জন্য একেবারে প্রয়োজনীয় মনে হয় না। অন্যদিকে এটি ব্যবহারযোগ্য মেমরির আরও ভাল (আরও সম্পূর্ণ) দর্শন দিতে পারে give

কোন ক্ষেত্রে EFI স্টাব বুটিংয়ের জন্য এই add_efi_memmap বুট যুক্তিটি ব্যবহার করা উচিত ? এটি কি EFI স্টাব বুটের গতি বাড়িয়ে / হ্রাস করতে পারে, এবং অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ ফ্রি মেমরি বা বৃদ্ধি বা হ্রাস করতে পারে? আমার EFI মেমরি মানচিত্রে আমার E820 মানচিত্রের আরও এনট্রি অন্তর্ভুক্ত রয়েছে কিনা তা (আরও ভাল) কীভাবে পরীক্ষা করবেন?


কিছু add_efi_memmep ডকুমেন্টেশন ইতিমধ্যে পরামর্শ নিয়েছে:

add_efi_memmap : উপলব্ধ শারীরিক র‌্যামের EFI মেমরি মানচিত্র অন্তর্ভুক্ত করুন।
EFI মেমরি মানচিত্রে E820 মানচিত্রে অতিরিক্ত এন্ট্রি না থাকলে নিম্নলিখিত কার্নেল কমান্ড লাইন প্যারামিটারটি ব্যবহার করে উপলভ্য শারীরিক র‌্যামের কার্নেল মেমরি ম্যাপে আপনি এন্ট্রিগুলি অন্তর্ভুক্ত করতে পারেন। - https://www.kernel.org/doc/Docamentation/x86/x86_64/uefi.txt


প্রথমে E820 BIOS মেমরি মানচিত্রের প্রবেশদ্বার এবং / অথবা কার্নেল কমান্ড লাইন মেমপ্যাপ এন্ট্রিগুলি সন্ধান করার পরে মেমরি মানচিত্রে সর্বদা EFI মেমরি মানচিত্রের এন্ট্রি যুক্ত করা (পরিবর্তে উপস্থিত থাকে) পরিবর্তে, - কার্নেল বুট অপশন থাকলে কেবলমাত্র এই জাতীয় অতিরিক্ত EFI মেমরি মানচিত্রের এন্ট্রি যুক্ত করুন : add_efi_memmapনির্দিষ্ট করা আছে। - http://www.gossamer-threads.com/lists/linux/kernel/937817


বুট হিমশীতল - GRUB কার্নেল লোড করার পরে এবং প্রারম্ভিক র‌্যামডিস্কের পরে কোনও ত্রুটি বার্তা ছাড়াই যদি বুটটি আটকে যায় তবে অ্যাড_ফি_মেমম্যাপ কার্নেল প্যারামিটারটি সরিয়ে দেওয়ার চেষ্টা করুন। - https://wiki.archlinux.org/index.php/GRUB# বুট_ফ্রিজেস


এই প্যাচটি add_efi_memmapবর্তমানে চলমান কার্নেলের কমান্ড লাইনে বিকল্প উপস্থিত থাকার /proc/iomemপরিবর্তে কার্নেল মেমরি মানচিত্রটি পড়ার জন্য কেক্সেক লোডারটির আচরণ পরিবর্তন করে /sys/firmware/memmap

EFI সিস্টেমে, কখনও কখনও e820 টেবিলটি অনুপস্থিত বা অসম্পূর্ণ থাকে। সিস্টেমগুলির add_efi_memmapমেমরির একটি সম্পূর্ণ চিত্র তৈরি করতে এই জাতীয় সিস্টেমগুলি কার্নেলের মেমরি টেবিলটিতে EFI এর মেমরি টেবিল এন্ট্রি যুক্ত করতে বিকল্প ব্যবহার করে ; তবে, বিকল্পটি ব্যবহার করে জনশক্তির জন্য ব্যবহৃত টেবিলটিতে এই এন্ট্রিগুলি যুক্ত করা হয় না /sys/firmware/memmap, যা মূল আদি অনুলিপি হিসাবে বোঝানো হয়।

কেক্সেক লোডারটি প্রাথমিকভাবে মেমরি মানচিত্রটি ডিফল্টরূপে ব্যবহার করে, যার ফলে সমস্যার সৃষ্টি হয় যখন লোডারটির সিস্টেমের সম্পূর্ণ চিত্র না থাকে এবং ভুলভাবে কার্বন বা র‌্যামডিস্ক এমন জায়গায় লোড করা হয় যা বাস্তবে ব্যবহারযোগ্য নয়। এই পরিবর্তনটি কেক্সেক লোডারটিকে বিকল্পটির জন্য চলমান কার্নেলের কমান্ড লাইনটি পরীক্ষা করে তোলে add_efi_memmapএবং এটি যদি এটি খুঁজে পায় তবে মূল মানচিত্রের পরিবর্তে পরিবর্তিত মানচিত্রটি ব্যবহার করবে। - http://lists.infradead.org/pipermail/kexec/2011- এপ্রিল / 005014.html


২০০৯ সালে লিনাক্স কার্নেল বিকাশকারীদের দ্বারা সমাধানটি (হ্যাক) এসেছিল অনেকগুলি ভুয়া শুরু হওয়ার পরে কার্নেল কমান্ড লাইন বিকল্পটি যুক্ত করা হয়েছিল add_efi_memmap- কার্নেলকে EFI মেমরি মানচিত্রটি দেখতে এবং বিভিন্ন এন্ট্রিগুলি ঠিক করার জন্য ব্যবহার করতে E820 মেমরি মানচিত্রে। - http://blog.fpmurphy.com/2012/08/uefi-memory-v-e820-memory.html

উত্তর:


1

বুট লোডার, বা গ্রুব এই বিষয়টির জন্য মেমরি মানচিত্রটি e820 এর মতো পুনর্নির্মাণ করে, আমার ধারণা এই কারণেই আপনি GRUB এবং EFI স্টাব লোডারের মধ্যে বিভিন্ন মান দেখছেন।

লিনাক্স উত্স কোডে একটি মন্তব্য রয়েছে যা বলেছে যে EFI "E820 উত্তরাধিকার (জেরোপেজ) মেমরি মানচিত্রে সর্বোচ্চ 128 এন্ট্রি মাপসই করতে পারে" " আপনার পোস্ট করা সংখ্যা অনুসারে এটি এমনটি বলে মনে হচ্ছে না, তাই আমি সন্দেহ করি যে add_efi_memmap যুক্ত করা সহায়ক ... তবে, এই টেবিলটি পার্স করার ক্ষেত্রে অবশ্যই এটি ক্ষতি করে না ...


1

যদি আপনার লিনাক্স বিতরণ সফলভাবে EFI STUB বুট হয় তবে add_efi_memmap ব্যবহার করার দরকার নেই। এই কার্নেল কমান্ড লাইন বিকল্পটি আজকাল খুব কমই প্রয়োজন হয় - ইউইএফআই ফার্মওয়্যার এবং লিনাক্স কার্নেল সমর্থন ২০০৯ সাল থেকে উল্লেখযোগ্যভাবে উন্নত হয়েছে।

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