কিভাবে lilo বুট সময় / sbin / init পাওয়া যায়


2

আমি শুধু আমার রুট পার্টিশন ক্লোন করেছি (ডিস্ট আপগ্রেডের প্রেক্ষাপটে), lilo.conf এবং fstab (ক্লোনড পার্টিশনে) পরিবর্তন করে lilo চালানো হয়েছে।

কিন্তু সিস্টেম ক্লোন পার্টিশন থেকে বুট করবে না। আমি unsuspicous কার্নেল বার্তা কয়েক পৃষ্ঠা দেখতে পারেন, তারপর এটি বন্ধ করে দেয়।

কিছু কারণে আমি ভাল পার্টিশন থেকে বুট করার চেষ্টা করেছি init=/bin/sh এবং আবার সিস্টেমটি একই কার্নেল বার্তায় বুট এবং থামানো হয়নি। এই বিশ্বাস করা হয়েছে যে "init সঙ্গে কিছু ভুল আছে"।

তাই আমি টেবিল চালু এবং পাস করার সিদ্ধান্ত নিয়েছে init=/sbin/init "খারাপ" পার্টিশন থেকে বুট করার সময় এবং প্রকৃতপক্ষে এটি কাজ করে - সিস্টেমটি ঠিক বুট করে।

কিন্তু আমি এখানে কি ঘটছে তা বুঝতে পারছি না। যে কেউ এই জন্য একটি ব্যাখ্যা আছে?

এখানে আমার lilo, conf

# Automatically added by lilo postinst script
large-memory

lba32
boot=/dev/sda
root=/dev/sda3
install=/boot/boot.b
prompt
delay=30
timeout=30
vga=normal

default="Linux-3.8.2"

image=/boot/vmlinuz-3.8.2-ext4
        root=/dev/sda3
        label="Linux-3.8.2"
        vga=0x317

image=/boot/vmlinuz-3.8.2-ext4
        root=/dev/sdd3
        label="Linux-3.8.2-bak"
        vga=0x317

সম্পাদনা: এই কার্নেল বার্তা

[    3.258242] sd 6:0:0:1: [sdf] Assuming drive cache: write through
[    3.262845] sd 6:0:0:1: [sdf] Attached SCSI removable disk

যদি এই মুহুর্তে এটি বন্ধ থাকে এবং আমি এগুলির মধ্যে কোনও দেখব না:

[    3.490096] firewire_core 0000:07:06.0: created device fw0: GUID 00ca308600001a4d, S400
[    3.513091] nvidia: module license 'NVIDIA' taints kernel.
[    3.517657] Disabling lock debugging due to kernel taint
[    3.818951] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[    3.823236] NVRM: loading NVIDIA UNIX x86 Kernel Module  310.40  Sun Mar  3 20:44:11 PST 2013

পরিবর্তন করা হয় init=... বিকল্পটি আচরণ পরিবর্তন করে না, সম্ভবত বুট প্রক্রিয়া ব্যর্থ হয় আগে ইনিট চালু হচ্ছে ...
Levans

কিন্তু মার্টিন লিখেছেন যে এটা পরিবর্তন init=/sbin/init সিস্টেম সঠিকভাবে বুট করতে দেয়। আচরণ অদ্ভুত। লিনাক্স কার্নেলের জন্য অনুসন্ধান করা উচিত /sbin/init ডিফল্টরূপে এবং এটি কার্যকর করতে সক্ষম না হয় init এটা কার্নেল প্যানিক শেষ হওয়া উচিত।
pabouk

Init = / bin / sh এ পাস করার ফলে কার্নেল প্যানিক হয় না। না এটি একটি শেল শুরু।
Martin Drautzburg

@ মার্টিনড্রুতজবুর্গ: কার্নেলের সূচনা বন্ধ হওয়ার আগে শেষ বার্তা কি? সিস্টেম সঠিকভাবে বুট যখন এই বার্তা পরে কি দেখায়? বার্তাগুলি দেখতে আপনি Shift + PgUp ব্যবহার করে স্ক্রোল করার চেষ্টা করতে পারেন অথবা আপনি কার্নেল পরামিতি চেষ্টা করতে পারেন boot_delay=500। এছাড়াও সম্পর্কিত /bin/sh: এটি সম্ভবত গতিশীলভাবে লিঙ্ক করা হয়। যদি রুট ফাইল সিস্টেমে গতিশীল লাইব্রেরি থাকে?
pabouk

@ মার্টিনড্রুতজবার্গ: আপনি কি মনে করেন যে ফ্রিজ পয়েন্ট পর্যন্ত উভয় সিস্টেমে একই বুট বার্তা রয়েছে? আমি নিম্নলিখিত চেষ্টা করবে: কাজ পদ্ধতিতে : dmesg|grep 'Command line: ' এবং cat /proc/cmdline প্রকৃত বুট পরামিতি দেখতে। mount এবং ls -l /proc/1/exe প্রকৃত বাইনারি দেখতে init প্রক্রিয়া। ldd /proc/1/exe এবং cat /proc/1/maps | grep -o '/.*\.so.*$' | sort | uniq গতিশীল লাইব্রেরি দেখতে init সমস্যাযুক্ত সিস্টেমে: বুট করার আগে আমি unneeded ডিস্ক মুছে ফেলার চেষ্টা করবে /dev/sdf
pabouk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.