आदेश है:
blockdev --getsize64 /dev/mmcblk0p1
यह 64-बिट पूर्णांक के रूप में बाइट्स में परिणाम देता है। यह एक ब्लॉक डिवाइस के बाइट के आकार पर सवाल उठाता है , क्योंकि कर्नेल अपना आकार देखता है।
कारण, fdisk -l /dev/mmcblk0p1काम क्यों नहीं किया गया, fdiskयह कुछ अलग बात करता है: यह ब्लॉक डिवाइस के विभाजन तालिका (= पहला क्षेत्र) में पढ़ता है, और जो इसे मिला उसे प्रिंट करता है । यह कुछ भी जाँच नहीं करता है, केवल कहता है कि विभाजन तालिका में क्या है।
यदि विभाजन तालिका क्षतिग्रस्त है, तो यह भी परेशान नहीं करता है, या ब्लॉक डिवाइस में एक नहीं है: यह एक चेतावनी प्रिंट करेगा कि चेकसम ठीक नहीं है, लेकिन यह अभी भी प्रिंट करता है जो कि मान है, भले ही मान स्पष्ट रूप से गैर हों -समझ।
आपके मामले में यही हुआ है: एक विभाजन तालिका /dev/mmcblk0p1 नहीं है । जैसा कि डिवाइस का नाम दिखाता है, यह पहले से ही भौतिक डिस्क का पहला विभाजन है /dev/mmcblk0। इस डिस्क में एक विभाजन तालिका है, क्या आपने इसके साथ पूछताछ की fdisk -l /dev/mmcblk0थी, इसने काम किया था (यह मानते हुए कि इसमें एक msdos विभाजन तालिका थी)।