星期一, 2月 27, 2006

create romfs : genromfs and genrommkdev

romfs因為是read only,所以不能像ext2 fs一樣,mount loop 然後edit內容。
所以要用genromfs這一個程式來產生image。

使用genromfs時,需要的參數有:
-f 生成的romfs image檔名
-d 用這個目錄作source
-V 指定這個image的volume name

但是要包含dev node時怎麼辦? 又不能用mknode產生。

genromfs 在解析source目錄時,會將'@'開頭的檔案作特別處理。當作dev node。
配合這樣的動作,genromfs的source 中提供一個script,由device list產生一堆@開頭的檔案。
這個script就是genrommkdev.

實驗:
  • 先create一個source 目錄 see
    mkdir see
  • 在see裏create一些以@開頭的檔案
    touch @hda1,b,3,1
  • 用genromfs create一個see的romfs
    genromfs -f seeimg see
  • OK, mount進來看看
    mout -o loop -t ext2 seeimg see
  • 可以看到@hda1,b,3,1已經變成dev inode了 major num = 3, minor num = 1
genrommkdev使用的dev list有一定格式:
/dev/hda1 b 3 1
/dev/tty1 c 4 1
使用方法是:
genrommkdev < devices.list | sh
就會依照device.list的內容產生一堆@開頭的file。
* 要注意dev 目錄要先create好
*要注意device.list內只能有device list,不能有#開頭的comment和space。

沒有留言:

張貼留言