এনএসএফের রুট দিয়ে বুট করতে আমি রাস্পবেরি পাই কীভাবে কনফিগার করব?


25

আমি কীভাবে আমার রাস্পবেরি পাই এসডি কার্ডের পরিবর্তে রুট ফাইল সিস্টেমের জন্য একটি এনএফএস সার্ভার ব্যবহার করতে পারি?

আমি পারফরম্যান্স / ব্যাকআপ / বিকাশের উদ্দেশ্যে এনএফএসের মাধ্যমে একটি রিমোট মেশিনে এর মূল ফাইল সিস্টেমটি পেতে আমার রাস্পবেরি পাই সেট করতে সক্ষম হতে চাই। কিভাবে আমি এটি করতে পারব?


টিপটির জন্য ধন্যবাদ জানাতে অনেক ধন্যবাদ (/ এমএনটি / আরপিআই-রুট / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস) থেকে #iface eth0 ইনেট ডিএইচসিপি এই পরিবর্তন ছাড়াই, আমি প্রায় এক সপ্তাহ চেষ্টা করেও আমার প্রথম কাজ করা এনএফএস বুট পেতে সক্ষম হইনি। সেই কোলাহলটি আর কোথাও পড়েনি। অনেক অনেক ধন্যবাদ

উত্তর:


24

সংক্ষিপ্ত সংস্করণ

  1. আপনাকে একটি রুট প্রস্তুত করতে হবে এবং এটি এনএফএস মেশিন থেকে রফতানি করতে হবে
  2. এটি ব্যবহারের জন্য আপনাকে প্রাথমিক পর্যায়ে বুটিংটি কনফিগার করতে হবে

প্রাথমিক পর্যায়ে বুট করার জন্য আপনার এখনও একটি এসডি কার্ড লাগবে, তবে এর পরে / বুট ব্যতীত আর কোনও এসডি কার্ডের প্রয়োজন হবে না।

বিস্তারিত

আমি এটি কেবল একটি লিনাক্স মেশিনে করেছি। তাত্ত্বিকভাবে এমন কোনও মেশিনে এটি সম্ভব যা এনএফএস ফাইল সিস্টেমগুলি যদিও রফতানি করতে পারে।

  1. রুট ফাইল সিস্টেম প্রস্তুত করার সহজতম উপায় হ'ল বিদ্যমান চিত্রগুলি সরবরাহ করা কপি করা। আমি অফিসিয়াল দেবিয়ান 6 চিত্রটি আমার সূচনা পয়েন্ট হিসাবে ব্যবহার করেছি:

    1. চিত্রটি ডাউনলোড করুন, .zip ফাইলটি বের করুন। আপনার এখন ডেবিয়ান 6-19-04-2012 হওয়া উচিত im কোথাও আইগ্রে
    2. লুপব্যাক ডিভাইসটি ব্যবহার করে সেই চিত্রটি থেকে রুট পার্টিশনটি মাউন্ট করুন। মূল বিভাজন শুরুর জন্য আপনার ইমেজটিতে অফসেট লাগবে, এই উদাহরণে এটি চিত্রের দ্বিতীয় পার্টিশন:

      fdisk -l debian6-19-04-2012.img
      
      ডিস্ক ডিবিয়ান 6-19-04-2012.img: 1949 এমবি, 1949999616 বাইট
      4 হেড, 32 সেক্টর / ট্র্যাক, 29754 সিলিন্ডার, মোট 3808593 সেক্টর
      ইউনিট = 1 * 512 = 512 বাইটের সেক্টর
      সেক্টরের আকার (যৌক্তিক / শারীরিক): 512 বাইট / 512 বাইট
      আই / ও আকার (সর্বনিম্ন / অনুকূল): 512 বাইট / 512 বাইট
      ডিস্ক শনাক্তকারী: 0x000ee283 28
      
      
      ডিভাইস বুট স্টার্ট এন্ড ব্লকস আইডি সিস্টেম
      debian6-19-04-2012.img1 2048 155647 76800 c W95 FAT32 (এলবিএ)
      debian6-19-04-2012.img2 157696 3414015 1628160 83 লিনাক্স
      debian6-19-04-2012.img3 3416064 3807231 195584 82 লিনাক্স অদলবদল / সোলারিস
      রুট @ Rapunzel: / tmp / 'debian6-19-04-2012 # 
      

      দ্বিতীয় পার্টিশনটি ব্লক (বা সেক্টর) 157696 এ শুরু হয় তাই অফসেটটি (512 * 157696) = 80740352:

      রুট @ রপুনজেল: / টিএমপি / ডিবিয়ান -19 -১-0-০৪-২০১২ # এমকেডির / এমএনটি / পি-রুট-লুপ
      রুট @ রপুনজেল: / টিএমপি / ডিবিয়ান -19 -১-0-০৪-২০১২ # মাউন্ট -ও লুপ, অফসেট = 80740352 /tmp/debian6-19-04-2012/debian6-19-04-2012.img / mnt / pi-root- লুপ
      রুট @ রপঞ্জেল: / টিএমপি / ডিবিয়ান 6 -১৯-০৪-২০১২ # এলএস / এমএনটি / পিআই-রুট-লুপ
      বিন ডেস্কটপ ইত্যাদির জন্য mnt proc sbin selinux sys usr
      বুট ডেভ হোম মিডিয়া অপ্ট রুট এসডি এসআরভি টিএমপি ভার
      রুট @ Rapunzel: / tmp / 'debian6-19-04-2012 #
      
    3. চিত্রটি মাউন্ট করার সাথে আপনি লুপব্যাক ডিভাইসটি চিরতরে ব্যবহার এড়াতে সম্ভবত এটি আরও কোথাও অনুলিপি করতে চান। আমি একটি এলভিএম 2 ভলিউম তৈরি করেছি এবং এটিকে / mnt / rpi-root এ স্থাপন করেছি, তাই আমি এটি করেছি:

      সিপি-আরভ / এমএনটি / পাই-রুট-লুপ / ​​* / এমএনটি / আরপিআই-রুট /
      
    4. আমাদের এখন ফাইল সিস্টেমটি রফতানি করতে হবে, সুতরাং আমাদের যেমন একটি লাইন যুক্ত করতে হবে:

      / এমএনটি / আরপিআই-মূল 192.168.1.2 (আরডাব্লু, No_root_squash)
      

      / ইত্যাদি / এনএফএস সার্ভারে রফতানি করে, যেখানে 192.168.1.2 হল রাস্পবেরি পাই এর ঠিকানা। যোগ করার পরে exportfs -rvরফতানির তালিকাটি পুনরায় পড়ুন। ( পৃথক হোস্টের চেয়ে ওয়াইল্ডকার্ড / সাবনেট সহ আরও উন্নত বিকল্পের জন্য রফতানি দেখুন (5 )

    আপনি বিকল্পভাবে এই পদক্ষেপটি এড়িয়ে যেতে পারেন এবং এর মতো কিছু ব্যবহার করে স্ক্র্যাচ থেকে একটি মূল ফাইল সিস্টেম তৈরি করতে পারেন multistrap

  2. এখন আমাদের একটি এসডি কার্ড তৈরি করতে হবে যা প্রাথমিক পর্যায়ে বুট করে এবং এই এনএফএস শেয়ারটি ব্যবহার করে বুট করে। আমি অফিসিয়াল চিত্রের প্রথম বিভাজন নিয়ে এবং এটি কোনও এসডি কার্ডে অনুলিপি করেছিলাম, যেখানে এসডি কার্ডটি / dev / sdx:

    dd if = / tmp / debian6-19-04-2012 / debian6-19-04-2012.img = / dev / sdx বিএস = 512 গণনা = 155647
    

    এবং তারপরে এটি কেবল দুটি বিভাগই আমরা অনুলিপি না করে মুছতে fdisk দিয়ে পার্টিশন টেবিল সম্পাদনা করে প্রথম পার্টিশনটি অনুলিপি করেছি।

    এর পরে আমি এসডি কার্ড থেকে পার্টিশনটি মাউন্ট করেছিলাম এবং এটি থেকে পড়তে cmdline.txt ফাইলটি সম্পাদনা করেছি:

    dwc_otg.lpm_enable = 0 কনসোল = ttyAMA0,115200 kgdboc = ttyAMA0,115200 কনসোল = tty1 রুট = / দেব / এনএফএস এনফস্রুট = 192.168.1.1: / এমএনটি / আরপিআই-রুট আইপি = dhcp রুটস্টাইপ = এনএফএস
    

    যেখানে 192.168.1.1 হল এনএফএস সার্ভারের ঠিকানা। আপনি যদি ডিএইচসিপি ব্যবহার করতে না চান তবে আপনি আইপি ঠিকানার বিকল্প পদ্ধতি সেট করতে পারেন, আরও তথ্যের জন্য এই ডকুমেন্টটি দেখুন।

    এটি হয়ে গেলে আপনি এসডি কার্ডটি আনমাউন্ট করতে পারেন এবং আপনার র‌্যাপসবেরি পাই কোনও এনএফএস রুট দিয়ে বুট করতে পারেন। আপনি যথাযথ দেখতে যেমন সার্ভার সাইড, বা অন্যান্য এনএফএস ক্লায়েন্ট থেকে ফাইল সিস্টেমটিও হেরফের করতে পারেন (যেমন কিউইএমইউ + বিনফমিট_মিস্ক , এলভিএম স্নাপশট , ব্যাকআপ সিস্টেম ইত্যাদি)

Ptionচ্ছিক জিনিস

  • Tmpfs (যেমন ramdisk) হিসাবে মাউন্ট করা যথাক্রমে / etc / ডিফল্ট / আরসিএস কারণ / var / রান এবং / var / লক মধ্যে হ্যাঁ র‌্যামআরআন এবং র‌্যামলক স্থাপন - এটি সম্ভবত সার্থক, এমনকি যদি আপনার কেবলমাত্র একটি ডিভাইস থেকে বুট করা থাকে এনএফএস ফাইল সিস্টেম।
  • আপনি যদি আইপি = ডিএইচসিপি ব্যবহার করছেন তবে আপনার সম্ভবত লাইনটি মন্তব্য করার প্রয়োজন হবে:

    #iface eth0 inet dhcp
    

    ইন / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস (/ এমএনটি / আরপিআই-রুট / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস) যাতে এমন অবস্থা এড়াতে পারে না যে প্রথম দিকের বুট ডিএইচসিপি এবং সাধারণ পরবর্তী সময়ে কোনও বার্তার কারণ হয়ে থাকে:

    এনএফএস: সার্ভার 192.168.1.1 সাড়া দিচ্ছে না, এখনও চেষ্টা করছে

  • যদি আপনি একই রুট থেকে প্রচুর ডিভাইস বুট করতে চান তবে একই ফাইলগুলিতে লেখার চেষ্টা করার জন্য একাধিক মেশিনে সমস্যা এড়াতে আপনাকে "স্থানীয়" / টিএমপি (সম্ভবত tmpfs) এবং অন্যান্য সূক্ষ্মতা সরবরাহের যত্ন নেওয়া প্রয়োজন।


এই বিস্তারিত টিউটোরিয়াল জন্য ধন্যবাদ। আমি সর্বশেষ চিত্রটি নিয়ে নিখুঁতভাবে কাজ করছিলাম। এখন যখন আমি দু'দিন আগে প্রকাশিত নতুন চিত্রটির জন্য ঠিক একই ধাপগুলি অনুসরণ করার চেষ্টা করেছি তখন আমি ত্রুটিটি পেরিয়ে এসেছি। রুট ফাইল সিস্টেমটি পরীক্ষা করা নিম্নলিখিত ত্রুটির সাথে ব্যর্থ হয়েছে: fsck.ext4: খুলতে / চালানোর / রুটদেব চেষ্টা করার সময় এই জাতীয় কোনও ডিভাইস বা ঠিকানা সম্ভবত অ-অস্তিত্ব বা অদলবদল ডিভাইস? fsck প্রস্থান স্থিতিতে মারা যান 8 কোন পরামর্শ? ক্লাউস

আমার এখনই চেক করার জন্য কোনও ডিভাইসে অ্যাক্সেস নেই। কার্নেলের মতো শব্দগুলি এনএফএস মূল সমর্থন ছাড়াই নির্মিত হতে পারে।
ফ্লেক্সো

1
দেখে মনে হচ্ছে যে আমি সমাধানটি পেয়েছি। আমি fstab পরিবর্তন করেছি: proc / proc proc ডিফল্ট 0 0 / dev / mmcblk0p1 / boot vfat ডিফল্ট 0 2 # / dev / mmcblk0p2 / ext4 ডিফল্ট, নোয়াটিম 0 1 প্রশ্নটি কেন এটি পূর্ববর্তী চিত্রের সাথে কাজ করত। এটি কেবলমাত্র কার্যকর করতে ব্যর্থ হয়েছে: S05checkroot.sh। বিটিডাব্লু: অদলবদলটি কীভাবে পরিচালনা করবেন তা আপনার কী ধারণা আছে? আমাদের কি এটি দরকার?

এটি কি অর্ধেক গাধা এবং কেবল এনএফএস পুরো জিনিসটি সম্ভব? অর্থাত। হোস্ট রফতানি /home/user/Documents/raspisRootFolderএবং ক্লায়েন্ট এর fstabপুরো জিনিস মাউন্ট করে /?
puk

দুর্দান্ত উত্তর, ব্যর্থ এসডি কার্ড থেকে আমাকে জামিন দেওয়া হয়েছে; পুরো বিষয়টি আমার এনএএস সার্ভারে সরানো হয়েছে। আমিও আউট মন্তব্য /dev/mmcblk0p2 / ext4 defaults,noatime 0 1থেকে /etc/fstab, যদিও আমি মনে করি এটা কোনো সমস্যা ঘটাচ্ছে ছাড়া ব্যর্থ হবে যদি আপনি এটি নিমজ্জত থাকতে দিন।
TomG
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.