मैंने अभी एक जेंटू बेस सिस्टम स्थापित किया है (जिसका अर्थ है कि मैं बूट कर सकता हूं और इसमें अभी लॉग इन कर सकता हूं)। मेरा रूट विभाजन एक LVM2 वर्चुअल ग्रुप (एक अलग /bootविभाजन के साथ) में है। बूट करने के लिए मुझे कर्नेल के नीचे के मापदंडों को पास करना होगा:
root=/dev/ram0 real_root=/dev/vg/rootlv init=/linuxrc dolvm
जाहिर तौर पर यह रूट करने से पहले कुछ करने के लिए एक प्रारंभिक रैमडिस्क का उपयोग कर रहा है (मुझे लगता है कि LVM चीजों को लोड करना है)। क्या कोई ऐसा तरीका है जिससे मैं इस कोड को कर्नेल में डाल सकता हूं ताकि किसी भी प्रकार की कोई आवश्यकता न हो? यदि नहीं, तो मैं अपने आप को initrd कैसे बना सकता हूँ?
यह जोड़ना उपयोगी हो सकता है कि मैंने कर्नेल को गैर-एलवीएम रूट के लिए संकलन करने की कोशिश की थी, बिना किसी बदलाव के और यह पूरी तरह से काम करता है। फिर मैंने LVM के तहत पूरी चीज़ डालने की कोशिश की और मशीन को बूट करने के लिए नहीं मिला (मुझे लगता है कि यह LVM सामान के साथ सौदा नहीं कर सकता)। तब मैंने विकल्प के genkernelसाथ उपकरण का उपयोग किया --lvmऔर यह काम कर रहा कर्नेल और initrd बनाता है जो मैं वर्तमान में उपयोग कर रहा हूं।
अब मैं genkernelअपने दम पर सबकुछ छोड़ना और करना चाहता हूं, अधिमानतः बिना initrd के ताकि मशीन कुछ तेजी से बूट हो जाए (मुझे वैसे भी लचीलेपन की आवश्यकता नहीं है)।