星期五, 8月 21, 2009

module-init-tools

把追了一天的cross-compile設定寫下來,
之後重灌就不會再出錯了

module-init-tools 3.3的modules.dep的path會是(from modules.dep man page)

/lib/modules/2.5.53/kernel/a.ko: /lib/modules/2.5.53/kernel/c.ko /lib/modules/2.5.53/kernel/b.ko
/lib/modules/2.5.53/kernel/b.ko:
/lib/modules/2.5.53/kernel/c.ko: /lib/modules/2.5.53/kernel/b.ko


但是fedora 11用的是module-init-tools 3.7,
modules.dep是這個樣子

/kernel/a.ko: /kernel/c.ko /kernel/b.ko
/kernel/b.ko:
/kernel/c.ko: /kernel/b.ko


所以用cross-compile編出來的modprobe會不到對的module path,

解決方法是自己去下載3.3版的
(其實不確定那個版本改成path沒有version的資訊,
不過因為在pc上用的modprobe和depmod會是match的,
所以不會有這個問題,
cross-compile用的busybox比較舊,
所以還是要用舊一點的module-init-tools才合,
只能確定3.3的path有version的資訊,
3.7版的沒有version的資訊),

另外,
要編module-init-tools時,
會出現
/usr/bin/ld: cannot find -lc
的錯誤,
google一下的結果,
要yum install glibc-static才行,

以上

沒有留言: