google-code-prettify

2008-05-08

NetBSDのroot ramdiskで、initをmulti user modeで動作させる

root ramdiskを使った場合、initはsingle user modeで起動してしまう。

なぜかと言うと、

  • dev/md_root.cのmd_open_hook()で、boothowto |= MEMORY_RBFLAGSとしている。MEMORY_RBFLAGSの値は、RB_SINGLE。

  • kern/init_main.cのstart_init()で、boothowto & RB_SINGLEだったら、-sを付けてinitを起動している。

  • initは-sを付けて起動されると、single user modeで起動する

よって、initをmulti user modeで起動するには、kernelのconfファイルで、

options MEMORY_RBFLAGS=0

のように、MEMORY_RBFLAGSの値を上書きしてやれば良い。

0 件のコメント: