2008年5月13日 星期二

initrd 的建立方式

Linux2.6 内核的 Initrd 机制解析
這裡面講解了Linux2.6 & Linux2.4 initrd 的不同,有一個地方,以為是錯誤,結果卻不是,

之前以為目錄之間的複製,如果包含了裝置檔,是不能用cp的指令,因為如果裝置檔的major & minor, 如果剛好match系統中的某個裝置檔的major & minor,則cp指令會觸發系統裝置的驅動程式,而不是在複製裝置檔,所以會有很多奇怪的現象

結論是,如果只複製一個裝置檔會有問題,如果使用cp -r 就可以...
註: -r 是遞迴的拷貝,包括目錄和次目錄下的所有檔案

紀錄一下之前覺得安心的做法:
(cd initrd; tar -cf - *) | (cd ram0; tar -xf -)

(cd initrd; find . | cpio -p ../ram0)

相關連結:
Hangle的學習筆記
[藍森林-自由軟件]

沒有留言:

張貼留言