রাস্পবিয়ান বুট প্রক্রিয়া এবং পার্টিশন টেবিল


13

রাস্পবেরি পাই বুট প্রক্রিয়া এবং ডিস্ক বিভাজন কাঠামোর কোনও ভাল বর্ণনা?

প্রতিটি পার্টিশনে কী সংরক্ষণ করা হয় (এবং কেন)?

এসপি কার্ড (সেক্টর শূন্য) থেকে আরপিআই বুট করে বা ফার্মওয়্যারটি ডিস্কের কাঠামো থেকে পড়ে?

আমি ধরে নিই যে NOOBS হওয়ায় যে কোনও ও / এস এর অধীনে কয়েকটি ফাইলের অনুলিপি তৈরি করা হয়েছিল, আরপিআই ফার্মওয়্যার (উচ্চ স্তরের) এমএস-ডস ডিস্কের কাঠামো সম্পর্কে জানে এবং এসডি মেমরির মধ্যে এটি খুঁজে পায়।

উপলভ্য স্থান বাড়ানোর জন্য আমি একটি বৃহত্তর এসডি কার্ডে একটি ভাল এসডি কার্ড ক্লোন করতে চাই।
আমি কি একটি নতুন এসডি তৈরি এবং পার্টিশন করে নতুন ডিভাইসে প্রতিটি পার্টিশনকে কেবল ডিডি করতে পারি? কোন পার্টিশন প্রয়োজন?

'linux'নতুন ডিভাইসে পার্টিশন মূল চেয়ে বড় হওয়া এবং তারপর ডিস্ক স্পেস প্রসারিত?

হতে পারে একটি নতুন কার্ডে ক্লোন করুন এবং উপলব্ধ স্থানটি ব্যবহারের জন্য কেবলমাত্র শেষ পার্টিশন (পি 6) প্রসারিত করুন, তবে আমি চেষ্টা এবং ত্রুটি পদ্ধতিটি ব্যবহার করতে চাই না, কীভাবে এবং কেন তা জানতে চাই।

আমার প্রশ্ন কেন?

বেশিরভাগ আরপিআই এসডি কার্ডের দুটি (fdisk) পার্টিশন থাকে, সম্ভবত যখন .img থেকে ইনস্টল করা থাকে

Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        2048   155647   153600   75M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      157696 15351807 15194112  7.3G 83 Linux

তবে আমার কাছে একটি হিসাবে প্রায় 6 টি পার্টিশন রয়েছে, এটি NOOBS থেকে উত্তরাধিকারসূত্রে প্রাপ্ত কাঠামো।

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192     1675781      833795    e  W95 FAT16 (LBA)
/dev/mmcblk0p2         1679360    15499263     6909952   85  Linux extended
/dev/mmcblk0p3        15499264    15564799       32768   83  Linux
/dev/mmcblk0p5         1687552     1810431       61440    c  W95 FAT32 (LBA)
/dev/mmcblk0p6         1818624    15499263     6840320   83  Linux

আমি মনে করি এই ছবিতে কিছু ভুল আছে। দুটি W95 পার্টিশন?

আমি একটি নতুন কার্ডে কেবলমাত্র সঠিক পার্টিশন ক্লোন করতে চাই। আবার শুরু করার জন্য আমার এই চলমান এসডি তে অনেক কাজ করতে হবে! (বিটিডাব্লু আমার কয়েকটি ভাল ব্যাকআপ আছে)।

কিছু নোট।

পার্টিশন p1

-rwxr-xr-x 1 root root  18K 2015-03-09 04:45 bootcode.bin
-rwxr-xr-x 1 root root 2.2K 2015-03-09 04:45 INSTRUCTIONS-README.txt
drwxr-xr-x 4 root root  32K 2015-03-09 04:45 os
...
-rwxr-xr-x 1 root root 542K 2015-03-09 04:45 recovery.elf
-rwxr-xr-x 1 root root    0 2015-03-09 04:45 RECOVERY_FILES_DO_NOT_EDIT
-rwxr-xr-x 1 root root 2.1M 2015-03-09 04:45 recovery.img
-rwxr-xr-x 1 root root  20M 2015-03-09 04:45 recovery.rfs
-rwxr-xr-x 1 root root 9.5K 2015-03-09 04:45 riscos-boot.bin
drwxr-xr-x 2 root root 8.0K 2015-12-05 18:13 System Volume Information

পার্টিশন p2

mount: /dev/mmcblk0p2: can't read superblock

পার্টিশন p3

-rw-r--r-- 1 root root 274 1969-12-31 19:18 installed_os.json
drwx------ 2 root root 12K 1969-12-31 19:00 lost+found
-rw-r--r-- 1 root root  86 1969-12-31 19:18 noobs.conf

বিভাজনের p4অস্তিত্ব নেই।

বিভাজন p5:

-rwxr-xr-x 1 root root 9.7K 2015-12-01 20:17 bcm2708-rpi-b.dtb
...
-rwxr-xr-x 1 root root  18K 2015-12-01 20:17 bootcode.bin
-rwxr-xr-x 1 root root  120 1979-12-31 19:00 cmdline.txt
-rwxr-xr-x 1 root root 1.5K 2015-11-23 09:01 config.txt
-rwxr-xr-x 1 root root  19K 2015-10-14 05:43 COPYING.linux
...
-rwxr-xr-x 1 root root 9.5K 2015-12-01 20:17 fixup_x.dat
-rwxr-xr-x 1 root root  137 2015-02-16 09:57 issue.txt
-rwxr-xr-x 1 root root 3.9M 2015-12-01 20:17 kernel7.img
...
-rwxr-xr-x 1 root root 591K 2015-12-01 20:17 start_cd.elf
...

পার্টিশন p6( আসল রাস্পিয়ান পার্টিশন)

drwxr-xr-x   2 root     root     4.0K 2015-07-28 21:40 bin
drwxr-xr-x   2 root     root     4.0K 2015-02-15 09:09 boot
drwxr-xr-x 119 root     root     4.0K 2015-12-23 15:36 etc
drwxr-xr-x   4 root     root     4.0K 2015-12-19 20:53 home
drwxr-xr-x  15 root     root     4.0K 2015-12-20 22:08 lib
drwx------   2 root     root      16K 2015-02-15 06:21 lost+found
....
drwxr-xr-x  12 root     root     4.0K 2015-11-04 15:18 var

আপনার কেবলমাত্র সর্বোচ্চ চারটি 'প্রাথমিক' পার্টিশন থাকতে পারে এবং আপনার যদি মোট পার্টিশনের সংখ্যাটির বেশি প্রয়োজন হয় তবে একটি অবশ্যই p2একটি বর্ধিত পার্টিশন হয়ে উঠতে হবে - এই ক্ষেত্রে একটি "লিনাক্স" এবং এটি বাকী অংশের জন্য একটি ধারক 4 এর উপরে প্রয়োজনীয়গুলি - এবং বর্ধিত অংশের ভিতরে সেই 'যৌক্তিক' পার্টিশনগুলি সংগঠিত করার একাধিক উপায় রয়েছে।
স্লিএসভেন

উত্তর:


6

একটি বৃহত্তর এসডি কার্ডে একটি ছোট ছোট সেটিংয়ে স্থানান্তরিত করার আমার চূড়ান্ত ফলাফলটি নিম্নরূপ।

আমি উইন্ডোজ বাক্সের সাথে ভাগ করে অস্থায়ী বাহ্যিক ড্রাইভে আসল লাইভ চিত্রটি ব্যাকআপ করি, একটি অতিরিক্ত মেমরি স্টিক এটি করবে।

dd if=/dev/mmcblk0 of=~/backup.img

আপনি উইন 32 ডিস্কআইমার দিয়েও ব্যাকআপ নিতে পারেন, তারপরে আমি উইন 32 ডিস্কআইমার ব্যবহার করে এবার চিত্রটিকে একটি বৃহত্তর এসডি কার্ডে (8 থেকে 16 গিগাবাইটে) গিয়েছিলাম burned

আমি সদ্য নির্মিত এসডি বুট করেছি। এই মুহুর্তে, এসডি এখনও একই পার্টিশন, প্রাইমারী, প্রসারিত এবং যৌক্তিক রেখেছিল। সুতরাং বুটটি মসৃণভাবে কাজ করা উচিত।

ব্যবহার

fdisk /dev/mmcblk0

pকমান্ডটি ব্যবহার করে বর্তমান পার্টিশন টেবিলের একটি লাইভ স্ক্রিনশট নিন ।

শারীরিক 'ডিস্ক' (বর্ধিত পার্টিশন # 2 এর শেষে) এর শেষে অবস্থিত অব্যবহৃত এবং অপ্রয়োজনীয় বিভাজন # 3 (পি 3) মুছুন d

এর পরে, পার্টিশন # 2 (পি 2) সাহসের সাথে মুছে ফেলুন, নেস্টেড লজিক্যাল পার্টিশনটিও বিলুপ্ত হবে।

বর্ধিত পার্টিশন # 2 পুনরায় তৈরি করুন, তবে এখন, সমস্ত উপলব্ধ স্থান ব্যবহার করে।
# 2 পুনরায় তৈরি করতে, একেবারে ঠিক একই সূচনা আসল খাতটি ব্যবহার করুন এবং fdiskআপনাকে শেষ সেক্টরটি দিন। pযাচাই করুন এবং প্রকারটি '85' প্রকারের মতো প্রসারিত এবং নতুন সমাপ্তি ক্ষেত্রটি আসলটির চেয়ে প্রকৃতপক্ষে বড় Use

পূর্ববর্তী দুটি লজিক্যাল পার্টিশন পুনরুদ্ধার করুন: লজিক্যাল পার্টিশন # 5 (p5) দিয়ে শুরু করুন; স্টার্ট সেক্টরের জন্য পূর্ববর্তী স্ক্রিনশট থেকে হ'ল সেক্টরটি ব্যবহার করুন, শেষ সেক্টরের সাথে একই (এই লজিকাল ডিস্কটি বাড়বে না), tআইডি সেট করতে c(এমএস-ডস) ব্যবহার করুন। তারপরে, পার্টিশনটি পুনরায় তৈরি করুন # 6 (পি 6) একই শুরুর ক্ষেত্রটি আগের চেয়ে কিন্তু শেষ সেক্টর দ্বারা fdiskএবং p' id83 selected দ্বারা নির্বাচিত হয়েছে `

আপনার প্রবেশদ্বারগুলি যাচাই করুন pএবং যদি এবং যদি কেবলমাত্র দেখা যায় তবে ঠিক আছে, কেবলমাত্র wডিগ্রি সেন্টিগ্রেড দিয়ে পার্টিশন টেবিলটি লিখে আবার শুরু করুন।

পুনরায় বুট করুন এবং আপনার আঙ্গুলগুলি অতিক্রম করুন। রাস্পবিয়ান দু'বার রিবুট করতে পারে।

তারপরে কেবল ফাইল সিস্টেমটি প্রসারিত করুন

resize2fs /dev/mmcblk0p6

এটিই শেষ ফলাফল, এখন অতিরিক্ত 8 জিবি দিয়ে!

 Device Boot             Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192     1675781      833795    e  W95 FAT16 (LBA)
/dev/mmcblk0p2         1679360    30703615    14512128   85  Linux extended
/dev/mmcblk0p5         1687552     1810431       61440    c  W95 FAT32 (LBA)
/dev/mmcblk0p6         1818624    30703615    14442496   83  Linux

সুতরাং, এখন আমার সমাপ্তি ক্ষেত্রটি 6,840,320 থেকে 14,442,496।

বুট

আমি জানি যে এই বিষয়টি অন্য কোথাও রয়েছে তবে এটি জানা ভাল।

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

নিয়ন্ত্রণের উপর পাওয়ারের পরে প্রথমে জিপিইউতে দেওয়া হয়, বুট প্রক্রিয়া শেষে কেবল কার্নেলটি এআরএম প্রসেসরের উপর চলবে।

প্রথম পর্যায়ে, জিপিইউ bootcode.binএল -2 ক্যাশে মেমরিতে লোড করতে এবং নিয়ন্ত্রণটি পাস করার জন্য অন-চিপ রম ফার্মওয়্যারটি চালাবে । bootcode.bin'স্টার্ট.এলএফ' খুঁজে, লোড এবং চালানোর জন্য এসডি কার্ড সক্ষম করে, এসডিআরএম সক্ষম করবে এবং প্রথম এমএস-ডস পার্টিশনটি ব্যবহার করবে।

এই সময়ে, নিম্নলিখিত ফাইলগুলি bootcode.binএসডি কার্ডের প্রথম এমএস-ডস পার্টিশন থেকে বিবেচনা করা হয় :

/boot/config.txt,  
/boot/cmdline.txt  (kernel parameters)
/boot/bcm????-rpi-*.dtb  (device dependent) 

পছন্দসই করা যায় এমন অনেকগুলি বিকল্প রয়েছে config.txt। আপনি বাহ্যিক কম্পিউটারে এসডি মাউন্ট করা ফাইলটি সম্পাদনা করতে পারেন বা কেবল চলমান ইউনিটে সম্পাদনা করতে পারেন:

nano /boot/config.txt

কনফিগার্ট টেক্সট-এ সাধারণত পরিবর্তনগুলি ওভারক্লক , এইচডিএমআই , স্ক্রিনের আকার , দিক , ক্যামেরা সম্পর্কিত , আপনাকে ম্যাক ঠিকানা সেট করে ইত্যাদি সম্পর্কিত are

nano cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait

যেমন আপনি দেখতে পাচ্ছেন, মনোনীত বুট পার্টিশন, যেখানে kernel.imgবুট হবে / dev / mmcblk0p6 এবং এটি আপনার এসডি কার্ডের জন্য প্রয়োজনীয় দ্বিতীয় পার্টিশন, 'ext4' হিসাবে রূপান্তরিত (লিনাক্স বা আইডি '83' এফডিস্ক লিঙ্গো)।

অবশেষে, আপনার লিনাক্স কার্নেলটি start.elfলোড এবং চালানো হবে kernel.img

আপনি এর সাথে কার্নেলটি আপডেট করা উচিত (উচিত?) rpi-update; যদি না হয় কেবল apt-get install rpi-update)।

দ্রষ্টব্য: sudoব্রিভিটির জন্য উপসর্গ মুছে ফেলা হয়েছে।


3

আপনি যদি রাস্পবেরি পিআই বুট প্রসেসের জন্য গুগল করেন তবে বুট সিকোয়েন্সটি কী কী তা সহ আপনি প্রচুর খুঁজে পাবেন ? (কিছুটা ছোটখাটো পরিবর্তন হয়েছে)।

What is stored on each partition (and why)? এটি কীভাবে সেটআপ হয়েছিল এবং কী কী বিতরণ ব্যবহৃত হবে তার উপর নির্ভর করে এটি পরিবর্তিত হয়।

Does the RPI boot from the SD card (sector zero) or the firmware reads from the disk structure? না।

Can I create and partition a new SD and just DD each partition to the new device? হ্যাঁ. যদিও আপনি কার্ডটি ক্লোন করে পার্টিশনটি প্রসারিত করা ভাল।

Most RPI SD cards have two (fdisk) partitions, perhaps when installed from a .img রাস্প্বিয়ান যখন করেন, FAT32 পার্টিশনটি সাধারণত 8192 থেকে শুরু হয়, যা এসডি কার্ডের জন্য আদর্শ। (পার্টিশনগুলি ইরেজ ব্লক গ্রুপ 4 এম সীমানায় অবস্থিত হওয়া উচিত))

However I have one with as many as 6 partitions, some overlapping other sectors, perhaps this is the structure when started/inherited from NOOBS. আপনার বর্ধিত পার্টিশন বুঝতে হবে। উইকি চেষ্টা করুন।


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

1
তোমার সব দরকার আপনি পুনরুদ্ধার পার্টিশনের কিছু ফাইল মুছতে পারেন। NOOBS কে স্ট্যান্ডার্ড রাস্পবিয়ানে রূপান্তর করা যায়, তবে কিছু (আসলে বেশ কিছুটা) ফিডলিংয়ের প্রয়োজন। আপনি স্ট্যান্ডার্ড রাস্পবিয়ান FAT32 বুট পার্টিশন সহ ন্যূনতম পরিবর্তনগুলি (/ etc / fstab) এর সাথে রাস্পবিয়ান (পি 6) ব্যবহার করতে পারেন।
মিলিওয়েজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.