উত্তর:
কোনও অফিসিয়াল তালিকা নেই, সাধারণটি কার্নেলটি নিজেই সংকলিত হয়, অন্যটি কার্নেল এক্সটেনশন দ্বারা পার্স করা যায়। আমি এখন পর্যন্ত খুঁজে পেয়েছি যা তালিকা।
সাধারণ বুট বিকল্পগুলি:
-v
: প্রারম্ভকালে CMD- হোল্ডিংয়ের প্রয়োজন ছাড়াই সর্বদা সিস্টেমে ভার্বোস মোডে বুট করুন V।-x
: প্রারম্ভকালে ধরে রাখার প্রয়োজন ছাড়াই সর্বদা নিরাপদ মোডে সিস্টেম বুট করুন Shift।f
: ওল্ড সেফ মোড।-s
: প্রারম্ভকালে CMD- ধরে রাখার প্রয়োজন ছাড়াই সিস্টেমটিকে একক ব্যবহারকারী মোডে বুট করুন S।-F
- বুট ফাইল উপেক্ষা করুন।iog
(যেমন iog=0x0
)
এটি অ্যাপলের ল্যাপটপ সিস্টেমগুলির জন্য "ক্ল্যামশেল" মোডটিকে বিপরীত করে, যেখানে আপনি যখন প্রদর্শনটি বন্ধ করেন তবে সিস্টেমটি একটি বাহ্যিক মনিটর এবং কীবোর্ডের সাথে সংযুক্ত করেন তখন সিস্টেম জেগে থাকবে। এই কমান্ডটি চালনার পরে, বাহ্যিক মনিটরের সাথে সংযোগ স্থাপন করার পরে, অভ্যন্তরীণ প্রদর্শনটি অক্ষম হয়ে যাবে, যা কিছু পরিস্থিতিতে উপকারী হতে পারে যেমন আপনি যেখানে আপনার ডেস্কটপকে মিরর করছেন তবে ল্যাপটপ চালানোর চেয়ে উচ্চতর রেজোলিউশনে বাহ্যিক প্রদর্শন চালাতে চান । উইন্ডোজের CNET
arch
32-বিট ( i386
) বা 64-বিট ( x86_64
) কার্নেলটিতে সিস্টেম কীভাবে বুট হয় তা পরিবর্তন করে । মনে রাখবেন তৃতীয় পক্ষের কার্নেল এক্সটেনশানগুলি কেবলমাত্র 32-বিট বা 64-বিট হতে পারে।
Graphics Mode
: ভিসা গ্রাফিক্স মোডের মাত্রা।
Text Mode
: ভিজিএ পাঠ্য মোডের মাত্রা।Boot Graphics
: গ্রাফিক্স বা পাঠ্য মোড।Quiet Boot
: শান্ত শান্ত বুটমোড।MKext Cache
: মেকেক্সট ক্যাশে ফাইল।Kernel Cache
: কার্নেল ক্যাশে ফাইল।rd
: রুট ডিভাইস।boot-uuid
: বুট ইউআইডি।platform
: প্ল্যাটফর্ম বিশেষজ্ঞ {এসিপিআই}config
: বিকল্প কনফিগার প্লিজconfig=foobar
লোড (উদাহরণস্বরূপ /Library/Preferences/SystemConfiguration/foobar.plist
পরিবর্তে লোড হবে com.apple.Boot.plist
) x86osx ।
serverperfmode=1
ওএস এক্স এল ক্যাপিটেন 10.11 এবং তারপরে, এটি সার্ভার অ্যাপ্লিকেশনগুলির জন্য অতিরিক্ত সিস্টেম সংস্থানগুলি উত্সর্গ করতে পারফরম্যান্স মোডকে সক্ষম করে ।
DTrace:
dtrace_dof_mode
: ডিট্রেস ডিওএফ মোডগুলি সেট করুন {0/1/2/3}।DisableFBT
: FBT {1 Dis অক্ষম করুন}IgnoreFBTBlacklist
: নির্দিষ্ট সমালোচনামূলক মডিউলগুলির কালো তালিকা উপেক্ষা করুন {1}।বাসদ:
-b
: /Etc/rc.boot চালাবেন না।-l
: মেমরি ফাঁস লগিং ( osfmk/kern/startup.c
)।srv
: সার্ভার হিসাবে বুট করুন {1}।ncl
: গুচ্ছ সংখ্যা।nbuf
: বিএসডির বাফার সংখ্যা।kmem
: কার্নেল মেমরি অ্যাক্সেস {1}।trace
: কার্নেল ট্রেস বাফার আকার।msgbuf
: বার্তা বাফার।rp
: রুট পাথ।mcache_flags
: স্মৃতি ক্যাশে পতাকা।mbuf_debug
: এমবিউফ ডিবাগ {1}।initmcl
: ইনি এমবিফ ক্লাস্টারস।socket_debug
: সকেট ডিবাগ (নেট)।net_affinity
: নেট অ্যাফিনিটি (নেট)।rte_debug
: রুট ডিবাগ (নেট) gs পতাকা}}-rwroot_hack
: মাউন্ট রুট পড়া / লিখুন।IOKit:
mseg
: সর্বোচ্চ বিভাগ।dart
: উপস্থিত ম্যাপার সরান।io
: আইও কিট ডিবাগ।মাপক:
keepsyms
: কেএলডি / ঠিকানা-প্রতীক অনুবাদ load 1 un আনলোড করবেন না}debug
: কার্নেল ডিবাগ {পতাকা} (উদাঃ debug=0x14e
)।
কার্নেল ডিবাগিং বৈশিষ্ট্যগুলি সক্ষম করে যা আপনাকে অতিরিক্ত তথ্য দেখায়। যেমন
0x01
- বুট করার সময় থামুন এবং ডিবাগারটি সংযুক্ত হওয়ার জন্য অপেক্ষা করুন0x02
- কনসোলে কার্নেল ডিবাগিং আউটপুট প্রেরণ করুন0x04
- একটি ননমাস্কেবল বিঘ্নের উপর ডিবাগারে ফেলে দিন0x08
- সিরিয়াল পোর্টে কার্নেল ডিবাগিংয়ের তথ্য প্রেরণ করুন0x10
- ডিডিবি ডিফল্ট ডিবাগার করুন0x20
- সিস্টেম লগে আউটপুট ডায়াগোনস্টিক্সের তথ্য0x40
- ডিবাগারটিকে এআরপি এবং রুটে যাওয়ার অনুমতি দিন0x80
- নতুন সিস্টেমে gdb এর পুরানো সংস্করণ সমর্থন করুন0x100
- গ্রাফিকাল প্যানিক ডায়ালগ স্ক্রিনটি অক্ষম করুনnvram_paniclog
: এনভিআরএম {1 pan এ প্যানিক্লগ প্রতিশ্রুতিবদ্ধ}
pmsafe_debug
: সিপিইউগুলিকে "নিরাপদ" পাওয়ার মোডে রাখুন {1}}preempt
: ডিফল্ট প্রিম্পিং রেট সেট করুন।unsafe
: সর্বোচ্চ অনিরাপদ কোয়ান্টা।poll
: সর্বোচ্চ পোল কোয়ান্টা।yield
: জরিপ নির্বাচনের ফলন শিফ্ট।idlehalt
: সিপিইউকে লোপাওয়ার মোড allow 1} এ মঞ্জুরি দেওয়ার জন্য অলস নিষ্ক্রিয় থ্রেড}panic_io_port
: এই I / O বন্দর থেকে 0x0 থেকে 0xffff read পড়ার আতঙ্কে}_fpu
: সীমাবদ্ধ বুট-টাইম সিপিইউ বৈশিষ্ট্যগুলি {387 / মিমিএক্স / এসএসই}disable high mem/2
: হাই মেম পছন্দ করুন}।immediate_NMI
: তাত্ক্ষণিক এনএমআই ডিবাগার {1 Force জোর করুন}-legacy
: উত্তরাধিকার 32 বিট মোডে বল প্রয়োগ করুন।lcks
: লক পরিসংখ্যান।novmx
: রোসেটা al 1 tive এ কোনও অ্যালেক্টিভ ইমুলেশন নেই}max_valid_dma_addr
: সর্বোচ্চ বৈধ ডিএমএ ঠিকানা।maxbouncepool
: সর্বোচ্চ বাউন্স পুল আকার।maxloreserve
: সর্বোচ্চ রিজার্ভ।npvhash
: ফিজিক্যাল টু ভার্চুয়াল ম্যাপিং হ্যাশ।wpkernel
: রক্ষা কর্নেল লিখুন {1}।-no_shared_cr3
: Bit৪ বিট ব্যবহারকারীর জন্য ভাগ করা কার্নেল ঠিকানা স্থান অক্ষম করুন।-pmap_trace
: পিএমএপের জন্য কার্নেল ট্রেস সক্ষম করুন।_panicd_ip
: প্যানিক সার্ভারের আইপি।_router_ip
: রাউটারের আইপি।panicd_port
: প্যানিক সার্ভারের পোর্ট।-zc
: ফ্রি জোনের উপাদান পরীক্ষা করা।mtxspin
: মিটেক্স স্পিন (পিপিসি)।vmmforce
: ভিএমএম ফোর্স (পিপিসি)।fn
: জোর করে ন্যাপ (পিপিসি) (এসপিআই) {0/1/2}।pmsx
: পরীক্ষামূলক শক্তি পরিচালনা স্টিপার মোড (পিপিসি) {1}।ctrc
: নির্দিষ্ট সিপিইউ (পিপিসি) তে ট্রেসিং সেট করুন।tb
: অ-ডিফল্ট ট্রেস বাফার আকার (পিপিসি)।wcte
: কম্বাইন টাইমার সক্ষম (পিপিসি) লিখুন।mcklog
: ক্লিয়ার মেশিন চেক পতাকা (পিপিসি)।mcksoft
: মেশিন চেক সফ্টওয়্যার পুনরুদ্ধার (পিপিসি)।ht_shift
: অ-ডিফল্ট হ্যাশ টেবিলের আকার (পিপিসি) {1}}zsize
: লক্ষ্য অঞ্চল আকার।colors
: ভিএম রঙ সেট করুন।fill
: পৃষ্ঠা পূরণ করুন।serialbaud
: সিরিয়াল বাড রেট নির্ধারণ করুন।বুট বিকল্পগুলি xnu/osfmk/i386/i386_init.c
:
diag
: ডায়াগনস্টিক আউটপুট।serial
: সিরিয়াল ডায়াগোনস্টিক কনসোল। সিরিয়াল কীবোর্ড এবং / অথবা কনসোলের জন্য সমর্থন।
maxmem
ব্যবহারের জন্য সর্বাধিক মেমরি। এটি ঠিকানাযোগ্য মেমরিটিকে নির্দিষ্ট পরিমাণে (যেমন maxmem=32
) সীমাবদ্ধ করে ।
cpus=1
সিস্টেমে সক্রিয় প্রসেসরের সংখ্যা সেট স্তরে সীমাবদ্ধ করে। এটি শক্তি সংরক্ষণে সহায়তা করতে পারে, সম্ভবত আপনি পরীক্ষা এবং প্রোগ্রামিং না করে অন্য অনেকের পক্ষে দরকারী না।
himemory_mode
এটি 4 গিগাবাইটেরও বেশি সিস্টেমের জন্য বৃহত শারীরিক মেমরি কনফিগারেশনগুলি ডিবাগ করতে ব্যবহৃত হয়। মোডগুলি: 0 - সমস্ত পৃষ্ঠাগুলি উপলব্ধ, 1 - হাই মেম অক্ষম করুন, 2 - হাই মেম পছন্দ করুন।
immediate_NMI
তাত্ক্ষণিক এনএমআই ডিবাগার জোর করে 4 জিবি ওভার সিস্টেমের জন্য ডিবাগ সমর্থন।
urgency_notification_abstime
অন্য:
bluetoothHostControllerSwitchBehavior
( never
/ always
)
ব্লুটুথ চালক dongle আপনি প্লাগ ইন স্যুইচ করা হবে কিনা তা বলুন। বাহ্যিক dongle ডিফল্ট পুনরায় বুট করার পরে এমনকি তৈরী করতে ব্যবহার করুন always
।
smbios
: ভার্বোজ এসএমবিআইওএস (অ্যাপলএসএমবিআইওএস.সেক্সট) {1}
acpi
: অ্যাপলএসিপিপিপ্ল্যাটফর্মটি ডিবাগ করুন {1-8}acpi_level
: এসিপিআই ডিবাগ স্তরacpi_layer
: এসিপিআই ডিবাগ স্তরacpi_sleep
: এসিপিআই ঘুমnvdebug
: এনভিডিআরেসম্যান ডিবাগnvrm
: এনভিডিআরেসম্যানndrv_debug_level
: এনডিআরভি ডিবাগ স্তর (NVDAResman)pstep
: পাওয়ার স্টেপ ডিবাগ (এসিপিআইএসএমসি)hpet
: অ্যাপলএইচপিইটিbusratio
(উদাঃ busratio=20
): এটি 10.5.6 এ i7 সিপিইউ ব্যবহার করেছে, 10.5.7 এর পরে এর x86osx প্রয়োজন নেই ।উত্স: xnu-1228 / বুট আর্গুমেন্ট
উদাহরণস্বরূপ আপনি যখন সিঙ্গেল মোডে থাকবেন ( CMD- Sশুরুর সময় শোনার পরে), নিরাপদ মোডে চলে যেতে এবং ভার্চুয়ালি কনসোলে অতিরিক্ত কার্নেল ডিবাগিং আউটপুট সহ চেষ্টা করুন:
sudo nvram boot-args="-x -v debug=0x14e"
বিদ্যমানটিতে যুক্তি যুক্ত করতে (ওভাররাইড না করে) চেষ্টা করুন:
sudo nvram boot-args="-v $(nvram boot-args 2>/dev/null | cut -f 2-)"
বুট আর্গুমেন্ট অপসারণ করতে, চালান:
sudo nvram boot-args=""
sudo nvram -d boot-args
অন্যান্য বেসরকারী পরামিতিগুলি kernel
বাইনারি এটি-স্ব হিসাবে পাওয়া যায় , যেমন
$ strings /System/Library/Kernels/kernel | grep -C7 maxmem
kernel_early_bootstrap
diag
serial
Serial mode specified: %08X
PE_init_printf
version_variant = %s
version = %s
maxmem
himemory_mode
himemory_mode: %d
immediate_NMI
urgency_notification_abstime
i386_vm_init
power_management_init
machine_startup
অথবা অ্যাপল উত্স ফাইলগুলিতে বা গিটহাব-এ অনুসন্ধান করে PE_parse_boot_argn
(যা কার্নেল বুট যুক্তি পার্স করার জন্য ব্যবহৃত হয়) পরীক্ষা করে দেখুন।
গুগলিং boot-args site:developer.apple.com
কিছু ভাল সংস্থান দেয়। যেমন
cpus=1
সিস্টেমকে কেবলমাত্র একটি সিপিইউ কোর ব্যবহার করতে বাধ্য করে। srv=1
Xserves এবং ম্যাক ওএস এক্স সার্ভার ইনস্টল থাকা মেশিনে সেট করা আছে এবং সম্ভবত সার্ভার-বান্ধব ক্রিয়াকলাপের জন্য কিছু কার্নেল টিউনিং পরামিতি পরিবর্তন করে। _panicd_ip=a.b.c.d
কার্নেল কোর ডাম্পগুলিতে লিখতে আপনাকে প্যানিক ডিবাগ সার্ভারের আইপি ঠিকানা নির্দিষ্ট করতে দেয়। debug=0xH
(যেখানে এইচ 1-4 অঙ্কের হেক্সাডেসিমাল সংখ্যা) আপনি এই তালিকা থেকে কার্নেল ডিবাগিং পতাকা সেট করতে দেয়:
ডিবিহাল্ট 0x01 বুট-সময় স্থগিত করুন এবং ডিবাগার সংযুক্তির জন্য অপেক্ষা করুন (জিডিবি)। DB_PRT 0x02 কনসোলে কার্নেল ডিবাগিং প্রিন্টফ আউটপুট প্রেরণ করুন। DB_NMI 0x04 এনএমআই (কমান্ড – শক্তি, কমান্ড-অপশন-নিয়ন্ত্রণ-শিফট-এস্কেপ, বা বিঘ্নিত সুইচ) এ ডিবাগারে ফেলে দিন D DB_KPRT 0x08 সিরিয়াল বন্দরে কার্নেল ডিবাগিং কেপ্রিন্টফ আউটপুট প্রেরণ করুন। DB_KDB 0x10 ডিডিবি (কেডিবি) কে ডিফল্ট ডিবাগার করুন (একটি কাস্টম কার্নেল প্রয়োজন)। DB_SLOG 0x20 সিস্টেম লগে নির্দিষ্ট ডায়াগনস্টিক তথ্য আউটপুট দেয়। DB_ARP 0x40 এআরপি এবং রুটে ডিবাগারকে মঞ্জুরি দিন (রাউটারগুলি জুড়ে ডিবাগিংয়ের অনুমতি দেয় এবং স্থায়ী এআরপি প্রবেশের প্রয়োজনীয়তা সরিয়ে দেয়, তবে এটি একটি সম্ভাব্য সুরক্ষা গর্ত) all সমস্ত কার্নেলগুলিতে উপলব্ধ নয়। DB_KDP_BP_DIS 0x80 নতুন সিস্টেমে gdb এর পুরানো সংস্করণ সমর্থন করে। DB_LOG_PI_SCRN 0x100 গ্রাফিকাল প্যানিক ডায়ালগটি অক্ষম করুন। DB_KERN_DUMPटका_PANIC 0x0400 সিস্টেম আতঙ্কিত হওয়ার পরে কার্নেলটি মূল ডাম্পে পরিণত করে। DB_KERN_DUMPटका_NMI 0x0800 যখন ব্যবহারকারী কোনও NMI ট্রিগার করে তখন কার্নেলটি মূল ডাম্পে পরিণত করে। DB_DBG_POST_CORE 0x1000 একটি এনএমআই (DB_KERN_DUMPटका_NMI) এর প্রতিক্রিয়া হিসাবে কোর ডাম্প করার পরে কার্নেলের আচরণ নিয়ন্ত্রণ করে। যদি ব্যবহারকারী কোনও এনএমআই ট্রিগার করে এবং এই পতাকাটি পরিষ্কার থাকে তবে কার্নেলটি কোর ডাম্প করবে এবং তারপরে চালিয়ে যাবে। বিপরীতে, যদি এই পতাকাটি সেট করা থাকে তবে কার্নেলটি কোর ডাম্প করবে এবং তারপরে একটি ডিবাগার সংযোগের জন্য অপেক্ষা করবে। DB_PANICLOG_DUMP 0x2000 কার্নেলটি একটি সম্পূর্ণ কোর ডাম্প করে (পতাকাটি পরিষ্কার থাকলে) বা কেবল একটি প্যানিক লগ (যদি পতাকাটি সেট করা থাকে) নিয়ন্ত্রণ করে।
static void parse_bsd_args(void)
opensource.apple.com/source/xnu/xnu-2782.1.97/bsd/kern/…
void i386_init(void)
opensource.apple.com/source/xnu/xnu-2782.1.97/osfmk/i386/…
void gzalloc_configure(void)
opensource.apple.com/source/xnu/xnu-2782.1.97/osfmk/kern/…
-f Force rebuild extensions cache
-v Verbose booting shows debug information
-s Boots into single user mode (means only terminal based mode)
-x Boots into safe mode
-legacy Boots into 32bit instead of 64bit mode
rd=disk0s1 Force to boot a specific partition on a specific drive (BSD drive notation, means disk0 = physical disk 1). Here disk1 partition 1 is forced to be booted.
Graphics Mode=1024x768x32@75 Forces to boot with a resolution of 1024 x 768 with 32bit colors at 75Hz
Kernel=mach_kernel Forces to load a specific kernel, helpful for testing of new kernels.
cpus=1 Force using only 1 CPU core, may help addressing issues
idlehalt=0 May solve stuttering and shuttering on dualcore CPUs
platform=X86PC Forces to not use powermanagement (disables ACPI)
platform=ACPI Forces to use powermanagement (enables ACPI, but may crash your system)
ডারউইন কার্নেলটিকে "xnu" বলা হয়, আমি যা করতে পারি তার চেয়ে ভাল উত্সটি কোড অনুসন্ধান করা ছিল for
উদাহরণ: ওএস এক্স 10.8.5
https://gist.github.com/reklis/fa26d4e8db62d6eea9ea
পদ্ধতি:
এখানে যান (বা আপনার ওএস এক্স সংস্করণ)
http://www.opensource.apple.com/release/mac-os-x-1085/
"পার্স_বুট" এর জন্য এক্সএনইউ টারবল, এক্সট্রাক্ট, গ্রেপ ডাউনলোড করুন
cd xnu; grep -iRn parse_boot .
প্রচুর উপকারীটি ভুলে যাবেন না (যদি আপনি সিংকে আপডেট করেন এবং আপনার idাকনাটি খোলা রেখে 'ম্যাক ক্লোজেল মোডে' আপনার ম্যাকটি ব্যবহার করতে চান)
sudo nvram boot-args="iog=0x0"
তবে যে বিষয়টি আমাকে বিরক্ত করে তা হ'ল আমি এর পক্ষে কোনও ব্যাখ্যা পাই না। কেন 0x0? কেন 0x1 নয়? 'আইওগ' যাইহোক কী দাঁড়াবে?
আমার এটি উল্লেখ করা উচিত যে আমার ম্যাকবুকটিতে এটি কাজ করে না।
অ্যাপল একটি বিস্তৃত তালিকা সরবরাহ করে না বলে মনে হচ্ছে। কয়েক পরিচিত বিকল্পের জন্য Googling এবং site:apple.com
কোন ফলাফল উত্পাদ না। অপশনের তালিকা কমানো মত নিবন্ধ খুঁজে বের করে এই এক এবং কিছু সোর্স কোড এই আর্গুমেন্ট পার্স কিন্তু ব্যাপক কিছুই নেই।
আপনি এমন PE_parse_boot_arg
একটি ফাংশনও অনুসন্ধান করতে পারেন যা বুট আর্গুমেন্টকে পার্স করে।
বলা হচ্ছে, ওয়েবে কয়েকটি তৃতীয় পক্ষের পৃষ্ঠা রয়েছে যেখানে ব্যবহারকারীরা সন্ধান করতে পারে এমন সর্বাধিক বিস্তৃত তথ্য সরবরাহ করে তবে এটি পুরানো হতে পারে: