mount_unionではまる
msdosとffsの狭間にはまりました...
make が (頭が小文字の) makefile を見に行くとは...
それでもunionfsはhpcmips的には結構便利ですね.
/varにも使ったりしてようかな.
同時期に探していたURL追記(08/07/16 23:34:38)
http://www.nisoc.or.jp/~karl/netbsd-pc98/doc/msdosfs.txt
@ 2008/4/3 7:22:18
mount_union
をpkgsrc用に使ってみようと思いました.
hpcmipsで/(ffs)の容量を減らそうと思いまして.
まずはpkgsrcをLinux上でSD上に展開.
hpcmipsでもLinuxと同じ場所にマウントしてから,mount_union
してみます.
$ mount_msdos -l /dev/wd01e /media/hogehoge $ mount_union /pkgsrc /media/hogehoge/userland4.0/pkgsrc
というわけで, この状態でMakefileをいじってみます. :
$ vi Makefile CFLAGS= -O2 -> CFLAGS= -O
ここで詰まったんですが,
なんど「Makefile」を編集しても反映されません.
manからdebugの方法を調べてmakeしてみます.:
$ make -d p |less ... ParseReadLine (210): ' cp ${.IMPSRC} ${.TARGET}' ParseReadLine (211): ' chmod a+x ${.TARGET}' Parse_SetInput: file makefile, line 0, fd 3, buf 0x0 ParseReadLine (16): 'name=hoge' ParseReadLine (17): 'NAME=hoge' ParseReadLine (23): 'prefix=/usr/pkg' ParseReadLine (26): 'EXDIR=${prefix}/bin' ParseReadLine (29): 'MANDIR=${prefix}/man/man1' ParseReadLine (30): 'MANEXT=1' ParseReadLine (31): 'MANMODE=644' ParseReadLine (35): 'LIBDIR=${prefix}/share/$(name)' ParseReadLine (36): 'LIBRARY=-DLIBDIR=\"${LIBDIR}\"'
あれ?
そうだったんです. makeがmakefileを見ているんです.mount_union
のマニュアルを見て考えてみると分かるんですが.
- makeと
mount_union
(以下union)の動作 -
- make: makefileファイルを探す
- union: upper-layer(ffs)では大文字/小文字を区別するので該当なし
- union: lower-layer(msdos)では Makefile があるのでそちらが該当あり
- makeは msdos の Makefile を参照
- vi: Makefileファイルを探す
- union: upper-layer(ffs)に Makefile があるので該当あり
- viは ffs の Makefile を参照
以下, 1〜7の繰り返し...
とまぁmakeがMakefileじゃなくてmakefileを参照しているので
msdosのMakefileを見に行っちゃってました.
ffsでmakefileにリンクを貼って解決.:
$ ln -sf Makefile makefile
コメント
Comments powered by Disqus